From abafc73bf1a1940f084b0d739cc9fcef782d97f9 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Thu, 18 Jun 2026 23:18:48 +0100 Subject: [PATCH 01/16] Implement structured command examples and validators --- .storybook/main.js | 1 + AGENTS.md | 13 + .../stories/method-picker-dialog.stories.js | 115 +- apps/web/src/writer-schema-page.mjs | 4 +- apps/web/vite.config.mjs | 4 + .../docs/040-test-data/domain/020-airline.md | 69 +- .../docs/040-test-data/domain/030-animal.md | 80 +- .../040-test-data/domain/040-autoIncrement.md | 62 +- .../docs/040-test-data/domain/050-book.md | 30 +- .../docs/040-test-data/domain/060-color.md | 113 +- .../docs/040-test-data/domain/070-commerce.md | 79 +- .../docs/040-test-data/domain/080-company.md | 45 +- .../docs/040-test-data/domain/090-database.md | 25 +- .../docs/040-test-data/domain/100-datatype.md | 4 +- .../docs/040-test-data/domain/110-date.md | 150 +- .../docs/040-test-data/domain/120-finance.md | 142 +- .../docs/040-test-data/domain/130-food.md | 45 +- docs-src/docs/040-test-data/domain/140-git.md | 25 +- .../docs/040-test-data/domain/150-hacker.md | 30 +- .../docs/040-test-data/domain/160-image.md | 48 +- .../docs/040-test-data/domain/170-internet.md | 189 +- .../docs/040-test-data/domain/180-literal.md | 15 +- .../docs/040-test-data/domain/190-location.md | 121 +- .../docs/040-test-data/domain/200-lorem.md | 220 +- .../docs/040-test-data/domain/210-music.md | 20 +- .../docs/040-test-data/domain/220-number.md | 91 +- .../docs/040-test-data/domain/230-person.md | 85 +- .../docs/040-test-data/domain/240-phone.md | 13 +- .../docs/040-test-data/domain/250-science.md | 25 +- .../docs/040-test-data/domain/260-string.md | 168 +- .../docs/040-test-data/domain/270-system.md | 62 +- .../docs/040-test-data/domain/280-vehicle.md | 45 +- .../docs/040-test-data/domain/290-word.md | 155 +- docs/faker-10.4.0-comparison-report.md | 3 - docs/faker-options-param-report.md | 1 - .../shared/domain-command-help-metadata.js | 44 +- .../test-data/help/help-model-builder.js | 35 +- .../test-data/ui/method-picker-modal.js | 46 +- .../generator/data-generator-page.test.js | 4 +- ...est-data-schema-grid-engine-compat.test.js | 8 +- .../app-test-data-focused-schema-sync.test.js | 4 +- .../schema-interaction-matrix-summary.md | 9 - .../fixtures/schema-interaction-matrix.json | 43964 ++++++++++++---- ...chema-interaction-scenario-builder.test.js | 11 +- .../schema-interaction-scenario-builder.js | 102 +- .../matrix/ui-scenario-parity-support.test.js | 10 +- .../support/generated-value-quality.js | 53 + .../tests/shared/help-model-builder.test.js | 19 + .../domain-command-help-metadata.test.js | 41 + .../utils/faker-command-help-metadata.test.js | 67 +- .../tests/utils/method-picker-modal.test.js | 22 +- .../js/command-help/command-help-contract.js | 154 + .../command-help/command-help-validators.js | 829 + ...ustom-autoincrement-keyword-definitions.js | 116 +- ...main-custom-literal-keyword-definitions.js | 29 +- ...omain-custom-string-keyword-definitions.js | 49 +- .../core/js/domain/domain-doc-markdown.js | 11 +- ...omain-faker-airline-keyword-definitions.js | 196 +- ...domain-faker-animal-keyword-definitions.js | 194 +- .../domain-faker-book-keyword-definitions.js | 74 +- .../domain-faker-color-keyword-definitions.js | 259 +- ...main-faker-commerce-keyword-definitions.js | 155 +- ...omain-faker-company-keyword-definitions.js | 110 +- ...main-faker-database-keyword-definitions.js | 62 +- ...main-faker-datatype-keyword-definitions.js | 19 +- .../domain-faker-date-keyword-definitions.js | 260 +- ...omain-faker-finance-keyword-definitions.js | 350 +- .../domain-faker-food-keyword-definitions.js | 110 +- .../domain-faker-git-keyword-definitions.js | 67 +- ...domain-faker-hacker-keyword-definitions.js | 74 +- .../domain-faker-image-keyword-definitions.js | 99 +- ...main-faker-internet-keyword-definitions.js | 404 +- ...main-faker-location-keyword-definitions.js | 303 +- .../domain-faker-lorem-keyword-definitions.js | 363 +- .../domain-faker-music-keyword-definitions.js | 50 +- ...domain-faker-number-keyword-definitions.js | 180 +- ...domain-faker-person-keyword-definitions.js | 215 +- .../domain-faker-phone-keyword-definitions.js | 35 +- ...omain-faker-science-keyword-definitions.js | 73 +- ...domain-faker-string-keyword-definitions.js | 295 +- ...domain-faker-system-keyword-definitions.js | 171 +- ...omain-faker-vehicle-keyword-definitions.js | 110 +- .../domain-faker-word-keyword-definitions.js | 258 +- packages/core/js/domain/domain-keywords.js | 127 +- packages/core/js/faker/faker-commands.js | 1 - .../faker/faker-helper-keyword-definitions.js | 333 +- packages/core/package.json | 1 + .../command-definition-usage-examples.test.js | 225 + .../command-help-examples.test.js | 487 + .../command-help-validators.test.js | 356 + .../domain-doc-generator-output.test.js | 4 +- .../domain/domain-doc-param-examples.test.js | 99 +- .../unit/domain/domain-image-exec.test.js | 6 - .../unit/domain/domain-internet-exec.test.js | 2 +- .../domain-keyword-params-usage.test.js | 17 +- ...n-param-invocation-coverage.test-helper.js | 19 +- .../domain-result-assertions.test-helper.js | 2 +- .../unit/domain/domainKeywords.test.js | 160 +- scripts/generate-domain-docs.mjs | 129 +- .../cross-surface-option-parity.test.js | 2 +- 100 files changed, 42059 insertions(+), 12321 deletions(-) create mode 100644 packages/core/js/command-help/command-help-contract.js create mode 100644 packages/core/js/command-help/command-help-validators.js create mode 100644 packages/core/src/tests/command-help/command-definition-usage-examples.test.js create mode 100644 packages/core/src/tests/command-help/command-help-examples.test.js create mode 100644 packages/core/src/tests/command-help/command-help-validators.test.js diff --git a/.storybook/main.js b/.storybook/main.js index 9224dcac..c88a3e70 100644 --- a/.storybook/main.js +++ b/.storybook/main.js @@ -28,6 +28,7 @@ export default { '@anywaydata/core/utils': path.resolve(__dirname, '../packages/core/js/utils'), '@anywaydata/core/faker': path.resolve(__dirname, '../packages/core/js/faker'), '@anywaydata/core/domain': path.resolve(__dirname, '../packages/core/js/domain'), + '@anywaydata/core/command-help': path.resolve(__dirname, '../packages/core/js/command-help'), '@anywaydata/core/libs': path.resolve(__dirname, '../packages/core/js/libs'), '@anywaydata/core': path.resolve(__dirname, '../packages/core/src/index.js'), }, diff --git a/AGENTS.md b/AGENTS.md index c83189f1..6091d2b7 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,6 +24,19 @@ If verification fails: - `verify:ci` is the full aggregate gate, including coverage, used to mirror the main-branch CI path locally. - Pull request CI runs parallel independent gates and intentionally skips coverage; coverage runs on `master` push CI. +## Command Help Example Conventions + +When changing command help metadata, usage examples, or command-help tests: + +- treat `usageExamples` as the source of truth for example maintenance and validation +- do not add or preserve legacy `example`, `examples`, or `exampleReturnValues` fields on keyword definitions or runtime command-help objects +- use domain named-parameter invocation form for all non-`helpers.*` command help examples, e.g. `internet.password(length=12, memorable=true)` +- allow faker-style invocation examples only for `helpers.*` commands +- do not convert domain-backed command help examples into faker object or positional syntax when exposing help metadata +- for domain commands, `docsUrl` must point to the AnyWayData docs page and never to `fakerjs.dev` +- for faker-backed domain commands, expose the upstream Faker reference separately as `fakerDocsUrl` +- validators are called as `(value, context)` and must use `context.fieldDefinition` for rule-specific checks such as enum membership or counterstring length bounds + ## Browser Test Interaction Rules When changing UI code, UI test abstractions, or browser tests: diff --git a/apps/web/src/stories/method-picker-dialog.stories.js b/apps/web/src/stories/method-picker-dialog.stories.js index 1b270bca..0e46973e 100644 --- a/apps/web/src/stories/method-picker-dialog.stories.js +++ b/apps/web/src/stories/method-picker-dialog.stories.js @@ -2,75 +2,28 @@ import React from 'react'; import { Canvas, Controls, Description, Title } from '@storybook/addon-docs/blocks'; import { expect, fn, userEvent, within } from 'storybook/test'; import { openMethodPickerModal } from '../../../../packages/core-ui/js/gui_components/shared/test-data/ui/method-picker-modal.js'; +import { buildSchemaHelpModel } from '../../../../packages/core-ui/js/gui_components/shared/test-data/help/help-model-builder.js'; const METHOD_PICKER_RECENT_STORAGE_KEY = 'anywaydata.method-picker.recent'; const METHOD_PICKER_STYLE_ID = 'storybook-method-picker-modal-styles-link'; const CORE_COMMANDS = new Set(['enum', 'literal', 'regex']); -const METHOD_OPTIONS = [ - { - sourceType: 'regex', - command: 'regex', - helpModel: { - summary: 'Generate values from a regular expression.', - heading: 'regex', - examples: ['regex("[A-Z]{3}")'], - params: [ - { - name: 'pattern', - type: 'string', - description: 'Regular expression source used to build generated values.', - example: '"[A-Z]{3}"', - }, - ], - exampleReturnValues: ['ABC', 'QWE'], - docsUrl: 'https://anywaydata.com/docs/test-data/regex', - }, - }, - { - sourceType: 'faker', - command: 'helpers.arrayElement', - helpModel: { - summary: 'Choose one item from the provided array.', - heading: 'helpers.arrayElement', - examples: ['helpers.arrayElement(["active", "paused", "deleted"])'], - params: [ - { - name: 'array', - type: 'array', - description: 'List of values to choose from.', - example: '["active", "paused", "deleted"]', - }, - ], - exampleReturnValues: ['active', 'paused'], - docsUrl: 'https://fakerjs.dev/api/helpers.html#arrayelement', - }, - }, - { - sourceType: 'domain', - command: 'internet.password', - helpModel: { - summary: 'Generate a password-like string.', - heading: 'internet.password', - examples: ['internet.password()'], - params: [], - exampleReturnValues: ['hS9!wQ2'], - docsUrl: 'https://fakerjs.dev/api/internet.html#password', - }, - }, - { - sourceType: 'domain', - command: 'commerce.price', - helpModel: { - summary: 'Generate a commerce-style price.', - heading: 'commerce.price', - examples: ['commerce.price()'], - params: [], - exampleReturnValues: ['19.99'], - docsUrl: 'https://fakerjs.dev/api/commerce.html#price', - }, - }, -]; +const METHOD_OPTION_SPECS = Object.freeze([ + { sourceType: 'regex', command: 'regex', helpCommand: '' }, + { sourceType: 'faker', command: 'helpers.arrayElement', helpCommand: 'helpers.arrayElement' }, + { sourceType: 'domain', command: 'internet.password', helpCommand: 'internet.password' }, + { sourceType: 'domain', command: 'commerce.price', helpCommand: 'commerce.price' }, +]); + +function buildMethodOptions() { + return METHOD_OPTION_SPECS.map(({ sourceType, command, helpCommand }) => ({ + sourceType, + command, + helpModel: buildSchemaHelpModel(sourceType, helpCommand), + })); +} + +const METHOD_OPTIONS = buildMethodOptions(); function escapeHtml(text) { return String(text ?? '') @@ -91,23 +44,29 @@ function toExampleList(value) { function getReturnExamples(model) { const unique = new Set(); - const add = (value) => { - toExampleList(value).forEach((entry) => unique.add(entry)); - }; - add(model?.example); - add(model?.exampleReturnValues); - add(model?.returnExamples); - return [...unique]; + const usageExamples = Array.isArray(model?.usageExamples) ? model.usageExamples : []; + usageExamples.forEach((usageExample) => { + if (Object.prototype.hasOwnProperty.call(usageExample || {}, 'sampleReturnValue')) { + unique.add(String(usageExample.sampleReturnValue ?? '').trim()); + } + }); + toExampleList(model?.returnExamples).forEach((entry) => unique.add(entry)); + return [...unique].filter(Boolean); +} + +function getUsageFunctionCalls(model) { + return (Array.isArray(model?.usageExamples) ? model.usageExamples : []) + .map((usageExample) => String(usageExample?.functionCall || '').trim()) + .filter(Boolean); } function buildSearchText(option) { const params = Array.isArray(option?.helpModel?.params) ? option.helpModel.params.map((p) => p?.name || '') : []; - const usageExamples = toExampleList(option?.helpModel?.examples); + const usageExamples = getUsageFunctionCalls(option?.helpModel); const returnExamples = getReturnExamples(option?.helpModel); return [ option.command, option.helpModel?.summary || '', - option.helpModel?.example || '', usageExamples.join(' '), returnExamples.join(' '), params.join(' '), @@ -293,7 +252,7 @@ function createVisualMethodPickerStory(root, args) { return; } const model = selected.helpModel || {}; - const usageExamples = toExampleList(model.examples); + const usageExamples = getUsageFunctionCalls(model); const returnExamples = getReturnExamples(model); const docsUrl = String(model.docsUrl || '').trim(); const hasParams = Array.isArray(model.params) && model.params.length > 0; @@ -536,7 +495,7 @@ export const VisualAlwaysOpen = { await expect(canvas.getByRole('dialog', { name: 'Choose Method' })).toBeVisible(); await expect( canvas.getByRole('button', { - name: 'helpers.arrayElement Choose one item from the provided array. faker', + name: 'helpers.arrayElement Returns one random element from the supplied array. faker', }) ).toHaveClass('is-selected'); @@ -573,7 +532,9 @@ export const ChooseFakerMethod = { await userEvent.click(canvas.getByRole('button', { name: 'Open method picker' })); const dialog = within(document.body); await userEvent.click( - dialog.getByRole('button', { name: 'helpers.arrayElement Choose one item from the provided array. faker' }) + dialog.getByRole('button', { + name: 'helpers.arrayElement Returns one random element from the supplied array. faker', + }) ); await userEvent.click(dialog.getByRole('button', { name: 'Apply' })); await expect(canvas.getByText('faker:helpers.arrayElement')).toBeVisible(); @@ -600,7 +561,7 @@ export const FilterAndChooseDomainMethod = { const dialog = within(document.body); await userEvent.type(dialog.getByRole('searchbox', { name: 'Filter methods' }), 'commerce'); await userEvent.click( - dialog.getByRole('button', { name: 'commerce.price Generate a commerce-style price. domain' }) + dialog.getByRole('button', { name: 'commerce.price Generates a price between min and max (inclusive). domain' }) ); await userEvent.click(dialog.getByRole('button', { name: 'Apply' })); await expect(canvas.getByText('domain:commerce.price')).toBeVisible(); diff --git a/apps/web/src/writer-schema-page.mjs b/apps/web/src/writer-schema-page.mjs index 24763e57..4e0915eb 100644 --- a/apps/web/src/writer-schema-page.mjs +++ b/apps/web/src/writer-schema-page.mjs @@ -285,7 +285,9 @@ function buildWriterDomainCommandGuide(domainCommands = []) { .slice(0, 6) .map((command) => { const help = getDomainCommandHelp(command); - const example = String(help?.example || '').trim(); + const example = Array.isArray(help?.usageExamples) + ? String(help.usageExamples.find((usageExample) => usageExample?.functionCall)?.functionCall || '').trim() + : ''; const summary = String(help?.summary || '') .trim() .replace(/\s+/g, ' '); diff --git a/apps/web/vite.config.mjs b/apps/web/vite.config.mjs index e623e812..23faba41 100644 --- a/apps/web/vite.config.mjs +++ b/apps/web/vite.config.mjs @@ -19,6 +19,10 @@ export default defineConfig({ find: /^@anywaydata\/core\/domain\/(.*)$/, replacement: path.resolve(__dirname, '../../packages/core/js/domain/$1'), }, + { + find: /^@anywaydata\/core\/command-help\/(.*)$/, + replacement: path.resolve(__dirname, '../../packages/core/js/command-help/$1'), + }, { find: /^@anywaydata\/core\/data_formats\/(.*)$/, replacement: path.resolve(__dirname, '../../packages/core/js/data_formats/$1'), diff --git a/docs-src/docs/040-test-data/domain/020-airline.md b/docs-src/docs/040-test-data/domain/020-airline.md index 012c357d..aaf4216c 100644 --- a/docs-src/docs/040-test-data/domain/020-airline.md +++ b/docs-src/docs/040-test-data/domain/020-airline.md @@ -19,6 +19,7 @@ The `airline` domain maps domain keywords to underlying faker implementations. Returns a random aircraft type. - Canonical: `awd.domain.airline.aircraftType` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -26,7 +27,7 @@ No parameters. Examples: ```txt -airline.aircraftType() +airline.aircraftType ``` Example return values: @@ -37,6 +38,7 @@ Example return values: Generate a value using faker airline.airline. - Canonical: `awd.domain.airline.airline` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -airline.airline() +airline.airline ``` Example return values: -- `{"name":"American Airlines","iataCode":"AA"}` +- `{"name":"Flydubai","iataCode":"FZ"}` ### `airline.airline.iataCode` Generate an airline IATA code. - Canonical: `awd.domain.airline.airline.iataCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -airline.airline.iataCode() +airline.airline.iataCode ``` Example return values: -- `AA` +- `FZ` ### `airline.airline.name` Generate an airline name. - Canonical: `awd.domain.airline.airline.name` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -airline.airline.name() +airline.airline.name ``` Example return values: -- `Acme Air` +- `Flydubai` ### `airline.airplane` Generate a value using faker airline.airplane. - Canonical: `awd.domain.airline.airplane` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -airline.airplane() +airline.airplane ``` Example return values: -- `{"name":"Airbus A320","iataTypeCode":"A320"}` +- `{"name":"Boeing 747-400D","iataTypeCode":"74J"}` ### `airline.airplane.iataTypeCode` Generate an airplane IATA type code. - Canonical: `awd.domain.airline.airplane.iataTypeCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -116,17 +122,18 @@ No parameters. Examples: ```txt -airline.airplane.iataTypeCode() +airline.airplane.iataTypeCode ``` Example return values: -- `A320` +- `74J` ### `airline.airplane.name` Generate an airplane model name. - Canonical: `awd.domain.airline.airplane.name` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -134,17 +141,18 @@ No parameters. Examples: ```txt -airline.airplane.name() +airline.airplane.name ``` Example return values: -- `Boeing 737` +- `Boeing 747-400D` ### `airline.airport` Generate a value using faker airline.airport. - Canonical: `awd.domain.airline.airport` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -152,17 +160,18 @@ No parameters. Examples: ```txt -airline.airport() +airline.airport ``` Example return values: -- `{"name":"Heathrow Airport","iataCode":"LHR"}` +- `{"name":"Hurgada International Airport","iataCode":"HRG"}` ### `airline.airport.iataCode` Generate an airport IATA code. - Canonical: `awd.domain.airline.airport.iataCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -170,17 +179,18 @@ No parameters. Examples: ```txt -airline.airport.iataCode() +airline.airport.iataCode ``` Example return values: -- `LHR` +- `HRG` ### `airline.airport.name` Generate an airport name. - Canonical: `awd.domain.airline.airport.name` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -188,17 +198,18 @@ No parameters. Examples: ```txt -airline.airport.name() +airline.airport.name ``` Example return values: -- `London Heathrow Airport` +- `Hurgada International Airport` ### `airline.flightNumber` Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros. - Canonical: `awd.domain.airline.flightNumber` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -206,17 +217,18 @@ No parameters. Examples: ```txt -airline.flightNumber() +airline.flightNumber ``` Example return values: -- `1` +- `70` ### `airline.recordLocator` Generates a random record locator. Record locators are 6-character alphanumeric booking references. - Canonical: `awd.domain.airline.recordLocator` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. @@ -224,22 +236,23 @@ No parameters. Examples: ```txt -airline.recordLocator() +airline.recordLocator ``` Example return values: -- `TCSJCN` +- `KTAGDC` ### `airline.seat` Generates a random seat. - Canonical: `awd.domain.airline.seat` +- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `aircraftType` | `string` | no | The aircraft type. Can be one of narrowbody, regional, widebody. | +| `aircraftType` | `narrowbody\|regional\|widebody` | no | The aircraft type. Can be one of narrowbody, regional, widebody. | Examples: @@ -251,5 +264,11 @@ airline.seat airline.seat(aircraftType="widebody") ``` +```txt +airline.seat() +``` + Example return values: -- `17F` +- `15E` +- `26H` +- `15E` diff --git a/docs-src/docs/040-test-data/domain/030-animal.md b/docs-src/docs/040-test-data/domain/030-animal.md index d5c8d46a..866d9276 100644 --- a/docs-src/docs/040-test-data/domain/030-animal.md +++ b/docs-src/docs/040-test-data/domain/030-animal.md @@ -19,6 +19,7 @@ The `animal` domain maps domain keywords to underlying faker implementations. Returns a random bear species. - Canonical: `awd.domain.animal.bear` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -animal.bear() +animal.bear ``` Example return values: -- `Sloth bear` +- `Giant panda` ### `animal.bird` Returns a random bird species. - Canonical: `awd.domain.animal.bird` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -animal.bird() +animal.bird ``` Example return values: -- `Orange-crowned Warbler` +- `Great-tailed Grackle` ### `animal.cat` Returns a random cat breed. - Canonical: `awd.domain.animal.cat` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -animal.cat() +animal.cat ``` Example return values: -- `Russian Blue` +- `Korat` ### `animal.cetacean` Returns a random cetacean species. - Canonical: `awd.domain.animal.cetacean` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -animal.cetacean() +animal.cetacean ``` Example return values: -- `Hector’s Dolphin` +- `Guiana Dolphin` ### `animal.cow` Returns a random cow species. - Canonical: `awd.domain.animal.cow` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -animal.cow() +animal.cow ``` Example return values: -- `Aubrac` +- `Gascon cattle` ### `animal.crocodilia` Returns a random crocodilian species. - Canonical: `awd.domain.animal.crocodilia` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -116,17 +122,18 @@ No parameters. Examples: ```txt -animal.crocodilia() +animal.crocodilia ``` Example return values: -- `Nile Crocodile` +- `Gharial` ### `animal.dog` Returns a random dog breed. - Canonical: `awd.domain.animal.dog` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -134,17 +141,18 @@ No parameters. Examples: ```txt -animal.dog() +animal.dog ``` Example return values: -- `Jonangi` +- `Grand Bleu de Gascogne` ### `animal.fish` Returns a random fish species. - Canonical: `awd.domain.animal.fish` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -152,17 +160,18 @@ No parameters. Examples: ```txt -animal.fish() +animal.fish ``` Example return values: -- `Short mackerel` +- `Gazami crab` ### `animal.horse` Returns a random horse breed. - Canonical: `awd.domain.animal.horse` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -170,17 +179,18 @@ No parameters. Examples: ```txt -animal.horse() +animal.horse ``` Example return values: -- `Rottaler` +- `Heihe Horse` ### `animal.insect` Returns a random insect species. - Canonical: `awd.domain.animal.insect` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -188,17 +198,18 @@ No parameters. Examples: ```txt -animal.insect() +animal.insect ``` Example return values: -- `Pigeon tremex` +- `Honey bee` ### `animal.lion` Returns a random lion species. - Canonical: `awd.domain.animal.lion` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -206,17 +217,18 @@ No parameters. Examples: ```txt -animal.lion() +animal.lion ``` Example return values: -- `Masai Lion` +- `Cape lion` ### `animal.petName` Returns a random pet name. - Canonical: `awd.domain.animal.petName` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -224,17 +236,18 @@ No parameters. Examples: ```txt -animal.petName() +animal.petName ``` Example return values: -- `Stella` +- `Gus` ### `animal.rabbit` Returns a random rabbit species. - Canonical: `awd.domain.animal.rabbit` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -242,17 +255,18 @@ No parameters. Examples: ```txt -animal.rabbit() +animal.rabbit ``` Example return values: -- `Californian` +- `Florida White` ### `animal.rodent` Returns a random rodent breed. - Canonical: `awd.domain.animal.rodent` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -260,17 +274,18 @@ No parameters. Examples: ```txt -animal.rodent() +animal.rodent ``` Example return values: -- `Natterer's tuco-tuco` +- `Fukomys foxi` ### `animal.snake` Returns a random snake species. - Canonical: `awd.domain.animal.snake` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -278,17 +293,18 @@ No parameters. Examples: ```txt -animal.snake() +animal.snake ``` Example return values: -- `White-lipped python` +- `Harlequin coral snake` ### `animal.type` Returns a random animal type. - Canonical: `awd.domain.animal.type` +- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. @@ -296,8 +312,8 @@ No parameters. Examples: ```txt -animal.type() +animal.type ``` Example return values: -- `bear` +- `giraffe` diff --git a/docs-src/docs/040-test-data/domain/040-autoIncrement.md b/docs-src/docs/040-test-data/domain/040-autoIncrement.md index f460377a..a8fbe1b7 100644 --- a/docs-src/docs/040-test-data/domain/040-autoIncrement.md +++ b/docs-src/docs/040-test-data/domain/040-autoIncrement.md @@ -39,10 +39,35 @@ autoIncrement.sequence(start=10, step=5) autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3) ``` +```txt +autoIncrement.sequence(start=10) +``` + +```txt +autoIncrement.sequence(step=5) +``` + +```txt +autoIncrement.sequence(prefix="filename") +``` + +```txt +autoIncrement.sequence(suffix=".txt") +``` + +```txt +autoIncrement.sequence(zeropadding=3) +``` + Example return values: - `1` -- `15` +- `10` - `filename001.txt` +- `10` +- `1` +- `filename1` +- `1.txt` +- `001` ### `autoIncrement.timestamp` @@ -61,6 +86,10 @@ Generates a timestamp that starts from a fixed point and increments by the confi Examples: +```txt +autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=1, type="seconds") +``` + ```txt autoIncrement.timestamp() ``` @@ -77,7 +106,34 @@ autoIncrement.timestamp(start="2026-06-12 12:39:23", step=15, type="minutes", ou autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days") ``` +```txt +autoIncrement.timestamp(start="2026-06-12T12:39:23Z") +``` + +```txt +autoIncrement.timestamp(step=1) +``` + +```txt +autoIncrement.timestamp(type="seconds") +``` + +```txt +autoIncrement.timestamp(outputFormat="iso8601") +``` + +```txt +autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy") +``` + Example return values: - `2026-06-12T12:39:23Z` -- `2026-06-12T12:39:24Z` -- `2026-06-12T12:39:25Z` +- `2026-06-18T15:55:20Z` +- `1969-03-20T12:00:00Z` +- `2026-06-12 11:39:23` +- `1969-03-20T00:00:00Z` +- `2026-06-12T12:39:23Z` +- `2026-06-18T15:55:20Z` +- `2026-06-18T15:55:20Z` +- `2026-06-18T15:55:20Z` +- `1969-03-20T00:00:00Z` diff --git a/docs-src/docs/040-test-data/domain/050-book.md b/docs-src/docs/040-test-data/domain/050-book.md index 0570d294..9b98e989 100644 --- a/docs-src/docs/040-test-data/domain/050-book.md +++ b/docs-src/docs/040-test-data/domain/050-book.md @@ -19,6 +19,7 @@ The `book` domain maps domain keywords to underlying faker implementations. Returns a random author name. - Canonical: `awd.domain.book.author` +- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -book.author() +book.author ``` Example return values: -- `Jacqueline Crooks` +- `Ian McEwan` ### `book.format` Returns a random book format. - Canonical: `awd.domain.book.format` +- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -book.format() +book.format ``` Example return values: -- `Paperback` +- `Ebook` ### `book.genre` Returns a random genre. - Canonical: `awd.domain.book.genre` +- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -book.genre() +book.genre ``` Example return values: -- `Science Fiction` +- `Graphic Novel` ### `book.publisher` Returns a random publisher. - Canonical: `awd.domain.book.publisher` +- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -book.publisher() +book.publisher ``` Example return values: -- `Butterworth-Heinemann` +- `Golden Cockerel Press` ### `book.series` Returns a random series. - Canonical: `awd.domain.book.series` +- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -book.series() +book.series ``` Example return values: -- `The Inheritance Cycle` +- `The Bartimaeus Trilogy` ### `book.title` Returns a random title. - Canonical: `awd.domain.book.title` +- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. @@ -116,8 +122,8 @@ No parameters. Examples: ```txt -book.title() +book.title ``` Example return values: -- `Animal Farm` +- `Moby Dick` diff --git a/docs-src/docs/040-test-data/domain/060-color.md b/docs-src/docs/040-test-data/domain/060-color.md index 73fac8c7..be36183b 100644 --- a/docs-src/docs/040-test-data/domain/060-color.md +++ b/docs-src/docs/040-test-data/domain/060-color.md @@ -19,11 +19,12 @@ The `color` domain maps domain keywords to underlying faker implementations. Returns a CMYK color. - Canonical: `awd.domain.color.cmyk` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `format` | `string` | no | Format of generated CMYK color. | +| `format` | `decimal\|css\|binary` | no | Format of generated CMYK color. | Examples: @@ -32,20 +33,25 @@ color.cmyk() ``` ```txt -color.cmyk(format="hex") +color.cmyk(format="decimal") ``` Example return values: -- `[0.95,0.17,0.23,1]` +- `[0.42,0.72,0,0.3]` +- `[0.42,0.72,0,0.3]` ### `color.colorByCSSColorSpace` Returns a random color based on CSS color space specified. - Canonical: `awd.domain.color.colorByCSSColorSpace` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) -No parameters. +| Arg | Type | Required | Description | +| --- | --- | --- | --- | +| `format` | `decimal\|css\|binary` | no | Format of generated RGB color. | +| `space` | `sRGB\|display-p3\|rec2020\|a98-rgb\|prophoto-rgb` | no | Color space to generate the color for. | Examples: @@ -53,14 +59,25 @@ Examples: color.colorByCSSColorSpace() ``` +```txt +color.colorByCSSColorSpace(format="decimal") +``` + +```txt +color.colorByCSSColorSpace(space="display-p3") +``` + Example return values: -- `[0.5811,0.0479,0.1091]` +- `[0.417,0.7203,0.0001]` +- `[0.417,0.7203,0.0001]` +- `[0.417,0.7203,0.0001]` ### `color.cssSupportedFunction` Returns a random css supported color function name. - Canonical: `awd.domain.color.cssSupportedFunction` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. @@ -68,7 +85,7 @@ No parameters. Examples: ```txt -color.cssSupportedFunction() +color.cssSupportedFunction ``` Example return values: @@ -79,6 +96,7 @@ Example return values: Returns a random css supported color space name. - Canonical: `awd.domain.color.cssSupportedSpace` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. @@ -86,42 +104,55 @@ No parameters. Examples: ```txt -color.cssSupportedSpace() +color.cssSupportedSpace ``` Example return values: -- `sRGB` +- `rec2020` ### `color.hsl` Returns an HSL color. - Canonical: `awd.domain.color.hsl` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `format` | `string` | no | Format of generated HSL color. | +| `format` | `decimal\|css\|binary` | no | Format of generated HSL color. | | `includeAlpha` | `boolean` | no | Adds an alpha value to the color (RGBA). | Examples: ```txt -color.hsl() +color.hsl +``` + +```txt +color.hsl(format="css") ``` ```txt -color.hsl(format="hex", includeAlpha=true) +color.hsl(includeAlpha=true) +``` + +```txt +color.hsl(format="css", includeAlpha=true) ``` Example return values: -- `[212,0.78,0.54]` +- `[150,0.72,0]` +- `hsl(150deg 72% 0%)` +- `[150,0.72,0,0.3]` +- `hsl(150deg 72% 0% / 30)` ### `color.human` Returns a random human-readable color name. - Canonical: `awd.domain.color.human` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. @@ -129,22 +160,23 @@ No parameters. Examples: ```txt -color.human() +color.human ``` Example return values: -- `green` +- `magenta` ### `color.hwb` Returns an HWB color. - Canonical: `awd.domain.color.hwb` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `format` | `string` | no | Format of generated RGB color. | +| `format` | `decimal\|css\|binary` | no | Format of generated RGB color. | Examples: @@ -153,22 +185,24 @@ color.hwb() ``` ```txt -color.hwb(format="hex") +color.hwb(format="decimal") ``` Example return values: -- `[328,0.27,0.33]` +- `[150,0.72,0]` +- `[150,0.72,0]` ### `color.lab` Returns a LAB (CIELAB) color. - Canonical: `awd.domain.color.lab` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `format` | `string` | no | Format of generated RGB color. | +| `format` | `decimal\|css\|binary` | no | Format of generated RGB color. | Examples: @@ -177,22 +211,24 @@ color.lab() ``` ```txt -color.lab(format="hex") +color.lab(format="decimal") ``` Example return values: -- `[0.071396,-55.6612,-66.7185]` +- `[0.417022,44.0649,-99.9772]` +- `[0.417022,44.0649,-99.9772]` ### `color.lch` Returns an LCH color. - Canonical: `awd.domain.color.lch` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `format` | `string` | no | Format of generated RGB color. | +| `format` | `decimal\|css\|binary` | no | Format of generated RGB color. | Examples: @@ -201,23 +237,25 @@ color.lch() ``` ```txt -color.lch(format="hex") +color.lch(format="decimal") ``` Example return values: -- `[0.469557,212.9,204.9]` +- `[0.417022,165.7,0]` +- `[0.417022,165.7,0]` ### `color.rgb` Returns an RGB color. - Canonical: `awd.domain.color.rgb` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `casing` | `string` | no | Letter type case of the generated hex color. Only applied when 'hex' format is used. | -| `format` | `string` | no | Format of generated RGB color. | +| `casing` | `lower\|upper\|mixed` | no | Letter type case of the generated hex color. Only applied when 'hex' format is used. | +| `format` | `hex\|decimal\|css\|binary` | no | Format of generated RGB color. | | `includeAlpha` | `boolean` | no | Adds an alpha value to the color (RGBA). | | `prefix` | `string` | no | Prefix of the generated hex color. Only applied when 'hex' format is used. | @@ -228,17 +266,34 @@ color.rgb() ``` ```txt -color.rgb(casing="lower", format="hex", includeAlpha=true, prefix="#") +color.rgb(casing="upper") +``` + +```txt +color.rgb(format="hex") +``` + +```txt +color.rgb(includeAlpha=true) +``` + +```txt +color.rgb(prefix="#") ``` Example return values: -- `#ee8222` +- `#9f0632` +- `#9F0632` +- `#9f0632` +- `#9f063247` +- `#9f0632` ### `color.space` Returns a random color space name from the worldwide accepted color spaces. - Canonical: `awd.domain.color.space` +- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. @@ -246,8 +301,8 @@ No parameters. Examples: ```txt -color.space() +color.space ``` Example return values: -- `HSL` +- `HSV` diff --git a/docs-src/docs/040-test-data/domain/070-commerce.md b/docs-src/docs/040-test-data/domain/070-commerce.md index c03f03b3..84f1b99a 100644 --- a/docs-src/docs/040-test-data/domain/070-commerce.md +++ b/docs-src/docs/040-test-data/domain/070-commerce.md @@ -19,6 +19,7 @@ The `commerce` domain maps domain keywords to underlying faker implementations. Returns a department inside a shop. - Canonical: `awd.domain.commerce.department` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. @@ -26,23 +27,24 @@ No parameters. Examples: ```txt -commerce.department() +commerce.department ``` Example return values: -- `Tools` +- `Grocery` ### `commerce.isbn` Returns a random ISBN identifier. - Canonical: `awd.domain.commerce.isbn` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `separator` | `string` | no | Separator inserted between generated items. | -| `variant` | `string` | no | ISBN length variant: use "10" for ISBN-10 or "13" for ISBN-13. | +| `variant` | `10\|13` | no | ISBN length variant: use 10 for ISBN-10 or 13 for ISBN-13. | Examples: @@ -51,17 +53,24 @@ commerce.isbn() ``` ```txt -commerce.isbn(separator="-", variant="13") +commerce.isbn(separator="-") +``` + +```txt +commerce.isbn(variant=10) ``` Example return values: -- `978-1-996134-54-2` +- `978-0-7031-0133-4` +- `978-0-7031-0133-4` +- `0-7031-0133-1` ### `commerce.price` Generates a price between min and max (inclusive). - Canonical: `awd.domain.commerce.price` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) | Arg | Type | Required | Description | @@ -77,14 +86,40 @@ Examples: commerce.price(dec=2, max=10, min=1, symbol="$") ``` +```txt +commerce.price() +``` + +```txt +commerce.price(dec=2) +``` + +```txt +commerce.price(max=100) +``` + +```txt +commerce.price(max=10, min=1) +``` + +```txt +commerce.price(symbol="$") +``` + Example return values: -- `797.39` +- `$4.79` +- `417.69` +- `417.69` +- `42.29` +- `4.79` +- `$417.69` ### `commerce.product` Returns a short product name. - Canonical: `awd.domain.commerce.product` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. @@ -92,17 +127,18 @@ No parameters. Examples: ```txt -commerce.product() +commerce.product ``` Example return values: -- `Bike` +- `Gloves` ### `commerce.productAdjective` Returns an adjective describing a product. - Canonical: `awd.domain.commerce.productAdjective` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. @@ -110,17 +146,18 @@ No parameters. Examples: ```txt -commerce.productAdjective() +commerce.productAdjective ``` Example return values: -- `Luxurious` +- `Handmade` ### `commerce.productDescription` Returns a product description. - Canonical: `awd.domain.commerce.productDescription` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. @@ -128,17 +165,18 @@ No parameters. Examples: ```txt -commerce.productDescription() +commerce.productDescription ``` Example return values: -- `The green Hat combines Colombia aesthetics with Scandium-based durability` +- `New Sausages model with 1 GB RAM, 303 GB storage, and bruised features` ### `commerce.productMaterial` Returns a material of a product. - Canonical: `awd.domain.commerce.productMaterial` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. @@ -146,17 +184,18 @@ No parameters. Examples: ```txt -commerce.productMaterial() +commerce.productMaterial ``` Example return values: -- `Steel` +- `Gold` ### `commerce.productName` Generates a random descriptive product name. - Canonical: `awd.domain.commerce.productName` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. @@ -164,17 +203,18 @@ No parameters. Examples: ```txt -commerce.productName() +commerce.productName ``` Example return values: -- `Soft Bronze Towels` +- `Handmade Plastic Bacon` ### `commerce.upc` Returns a valid UPC-A (12 digits). - Canonical: `awd.domain.commerce.upc` +- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) | Arg | Type | Required | Description | @@ -187,5 +227,10 @@ Examples: commerce.upc() ``` +```txt +commerce.upc(prefix="01234") +``` + Example return values: -- `036000291452` +- `470310133543` +- `012344703103` diff --git a/docs-src/docs/040-test-data/domain/080-company.md b/docs-src/docs/040-test-data/domain/080-company.md index f6188a1f..d392b1b0 100644 --- a/docs-src/docs/040-test-data/domain/080-company.md +++ b/docs-src/docs/040-test-data/domain/080-company.md @@ -19,6 +19,7 @@ The `company` domain maps domain keywords to underlying faker implementations. Returns a random buzz adjective that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzAdjective` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -company.buzzAdjective() +company.buzzAdjective ``` Example return values: -- `out-of-the-box` +- `immersive` ### `company.buzzNoun` Returns a random buzz noun that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzNoun` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -company.buzzNoun() +company.buzzNoun ``` Example return values: -- `deliverables` +- `interfaces` ### `company.buzzPhrase` Generates a random buzz phrase that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzPhrase` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -company.buzzPhrase() +company.buzzPhrase ``` Example return values: -- `streamline cutting-edge platforms` +- `grow robust AI` ### `company.buzzVerb` Returns a random buzz verb that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzVerb` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -company.buzzVerb() +company.buzzVerb ``` Example return values: -- `disintermediate` +- `grow` ### `company.catchPhrase` Generates a random catch phrase that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhrase` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -company.catchPhrase() +company.catchPhrase ``` Example return values: -- `Diverse AI-powered flexibility` +- `Integrated radical ability` ### `company.catchPhraseAdjective` Returns a random catch phrase adjective that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhraseAdjective` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -116,17 +122,18 @@ No parameters. Examples: ```txt -company.catchPhraseAdjective() +company.catchPhraseAdjective ``` Example return values: -- `Distributed` +- `Integrated` ### `company.catchPhraseDescriptor` Returns a random catch phrase descriptor that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhraseDescriptor` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -134,17 +141,18 @@ No parameters. Examples: ```txt -company.catchPhraseDescriptor() +company.catchPhraseDescriptor ``` Example return values: -- `encompassing` +- `heuristic` ### `company.catchPhraseNoun` Returns a random catch phrase noun that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhraseNoun` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -152,17 +160,18 @@ No parameters. Examples: ```txt -company.catchPhraseNoun() +company.catchPhraseNoun ``` Example return values: -- `attitude` +- `generative AI` ### `company.name` Generates a random company name. - Canonical: `awd.domain.company.name` +- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. @@ -170,8 +179,8 @@ No parameters. Examples: ```txt -company.name() +company.name ``` Example return values: -- `Lang - Little` +- `Gutmann Group` diff --git a/docs-src/docs/040-test-data/domain/090-database.md b/docs-src/docs/040-test-data/domain/090-database.md index a67ca1f0..5bc7bede 100644 --- a/docs-src/docs/040-test-data/domain/090-database.md +++ b/docs-src/docs/040-test-data/domain/090-database.md @@ -19,6 +19,7 @@ The `database` domain maps domain keywords to underlying faker implementations. Returns a random database collation. - Canonical: `awd.domain.database.collation` +- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -database.collation() +database.collation ``` Example return values: -- `utf8_bin` +- `cp1250_bin` ### `database.column` Returns a random database column name. - Canonical: `awd.domain.database.column` +- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -database.column() +database.column ``` Example return values: -- `status` +- `group` ### `database.engine` Returns a random database engine. - Canonical: `awd.domain.database.engine` +- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -database.engine() +database.engine ``` Example return values: -- `ARCHIVE` +- `CSV` ### `database.mongodbObjectId` Returns a MongoDB ObjectId string. - Canonical: `awd.domain.database.mongodbObjectId` +- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -database.mongodbObjectId() +database.mongodbObjectId ``` Example return values: -- `e80bba2ae67c0c7dcc16bd57` +- `9f0632478b9f4d0e9c34bf6f` ### `database.type` Returns a random database column type. - Canonical: `awd.domain.database.type` +- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. @@ -98,8 +103,8 @@ No parameters. Examples: ```txt -database.type() +database.type ``` Example return values: -- `smallint` +- `float` diff --git a/docs-src/docs/040-test-data/domain/100-datatype.md b/docs-src/docs/040-test-data/domain/100-datatype.md index 77cf48da..3e527d42 100644 --- a/docs-src/docs/040-test-data/domain/100-datatype.md +++ b/docs-src/docs/040-test-data/domain/100-datatype.md @@ -19,6 +19,7 @@ The `datatype` domain maps domain keywords to underlying faker implementations. Returns the boolean value true or false. - Canonical: `awd.domain.datatype.boolean` +- Docs: [https://anywaydata.com/docs/test-data/domain/datatype](https://anywaydata.com/docs/test-data/domain/datatype) - Faker docs: [https://fakerjs.dev/api/datatype](https://fakerjs.dev/api/datatype) | Arg | Type | Required | Description | @@ -32,8 +33,9 @@ datatype.boolean() ``` ```txt -datatype.boolean(probability=1) +datatype.boolean(probability=0.5) ``` Example return values: - `true` +- `true` diff --git a/docs-src/docs/040-test-data/domain/110-date.md b/docs-src/docs/040-test-data/domain/110-date.md index 3cf01bfb..89d21a38 100644 --- a/docs-src/docs/040-test-data/domain/110-date.md +++ b/docs-src/docs/040-test-data/domain/110-date.md @@ -19,6 +19,7 @@ The `date` domain maps domain keywords to underlying faker implementations. Generates a random date that can be either in the past or in the future. - Canonical: `awd.domain.date.anytime` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -31,57 +32,80 @@ Examples: date.anytime() ``` +```txt +date.anytime(refDate=1577836800000) +``` + Example return values: -- `"2026-12-25T08:55:20.593Z"` +- `2026-04-19T02:08:51.881Z` +- `2019-11-01T10:13:31.881Z` ### `date.between` Generates a random date between the given boundaries. - Canonical: `awd.domain.date.between` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `from` | `integer` | no | Start boundary as a Unix timestamp in milliseconds since epoch. | -| `to` | `integer` | no | End boundary as a Unix timestamp in milliseconds since epoch. | +| `from` | `integer` | yes | Start boundary as a Unix timestamp in milliseconds since epoch. | +| `to` | `integer` | yes | End boundary as a Unix timestamp in milliseconds since epoch. | Examples: ```txt -date.between(0, 2000000000000) +date.between(from=1577836800000, to=1609372800000) +``` + +```txt +date.between(from=1609459200000, to=1640995200000) ``` Example return values: -- `2026-01-15T12:34:56.000Z` +- `2020-06-01T05:06:45.940Z` +- `2021-06-02T05:06:45.940Z` ### `date.betweens` Generates random dates between the given boundaries. The dates will be returned in an array sorted in chronological order. - Canonical: `awd.domain.date.betweens` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `count` | `integer` | no | The number of dates to generate. | -| `from` | `integer` | no | Start boundary as a Unix timestamp in milliseconds since epoch. | -| `to` | `integer` | no | End boundary as a Unix timestamp in milliseconds since epoch. | +| `from` | `integer` | yes | Start boundary as a Unix timestamp in milliseconds since epoch. | +| `to` | `integer` | yes | End boundary as a Unix timestamp in milliseconds since epoch. | Examples: ```txt -date.betweens(2, 0, 2000000000000) +date.betweens(count=2, from=1577836800000, to=1609372800000) +``` + +```txt +date.betweens(count=3, from=1609459200000, to=1640995200000) +``` + +```txt +date.betweens(count=4, from=1640995200000, to=1672531200000) ``` Example return values: -- `["2026-01-15T12:34:56.000Z","2026-02-01T09:00:00.000Z"]` +- `["2020-06-01T05:06:45.940Z","2020-09-19T22:02:33.225Z"]` +- `["2021-01-01T01:00:06.924Z","2021-06-02T05:06:45.940Z","2021-09-20T22:02:33.225Z"]` +- `["2022-01-01T01:00:06.924Z","2022-04-21T08:26:00.010Z","2022-06-02T05:06:45.940Z","2022-09-20T22:02:33.225Z"]` ### `date.birthdate` Returns a random birthdate. By default, the birthdate is generated for an adult between 18 and 80 years old. - Canonical: `awd.domain.date.birthdate` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -89,7 +113,7 @@ Returns a random birthdate. By default, the birthdate is generated for an adult | `refDate` | `integer` | no | Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor. | | `max` | `integer` | no | The maximum age/year to generate a birthdate for/in. | | `min` | `integer` | no | The minimum age/year to generate a birthdate for/in. | -| `mode` | `string` | no | Either 'age' or 'year' to generate a birthdate based on the age or year range. | +| `mode` | `age\|year` | no | Either 'age' or 'year' to generate a birthdate based on the age or year range. | Examples: @@ -97,14 +121,40 @@ Examples: date.birthdate(refDate=20000, max=69, min=16, mode="age") ``` +```txt +date.birthdate() +``` + +```txt +date.birthdate(refDate=1577836800000) +``` + +```txt +date.birthdate(max=65) +``` + +```txt +date.birthdate(max=10, min=1) +``` + +```txt +date.birthdate(mode="age") +``` + Example return values: -- `"1966-09-18T08:47:31.333Z"` +- `1922-07-10T12:11:49.191Z` +- `1971-09-27T08:09:14.757Z` +- `1965-04-10T16:13:54.757Z` +- `1980-06-25T11:25:42.848Z` +- `2019-08-20T15:04:00.805Z` +- `1971-09-27T08:09:14.757Z` ### `date.future` Generates a random date in the future. - Canonical: `awd.domain.date.future` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -118,14 +168,25 @@ Examples: date.future() ``` +```txt +date.future(refDate=1577836800000) +``` + +```txt +date.future(years=2) +``` + Example return values: -- `"2027-02-07T18:41:48.525Z"` +- `2026-11-17T21:02:06.523Z` +- `2020-06-01T05:06:46.523Z` +- `2027-04-19T02:08:52.463Z` ### `date.month` Returns a random name of a month. - Canonical: `awd.domain.date.month` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -140,17 +201,24 @@ date.month() ``` ```txt -date.month(abbreviated=false, context=false) +date.month(abbreviated=true) +``` + +```txt +date.month(context=true) ``` Example return values: -- `February` +- `July` +- `Jul` +- `July` ### `date.past` Generates a random date in the past. - Canonical: `awd.domain.date.past` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -164,14 +232,25 @@ Examples: date.past() ``` +```txt +date.past(refDate=1577836800000) +``` + +```txt +date.past(years=2) +``` + Example return values: -- `"2025-07-01T11:48:55.347Z"` +- `2025-11-17T21:02:05.523Z` +- `2019-06-02T05:06:45.523Z` +- `2025-04-19T02:08:51.463Z` ### `date.recent` Generates a random date in the recent past. - Canonical: `awd.domain.date.recent` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -185,14 +264,25 @@ Examples: date.recent() ``` +```txt +date.recent(days=7) +``` + +```txt +date.recent(refDate=1577836800000) +``` + Example return values: -- `"2026-04-27T23:46:16.707Z"` +- `2026-06-18T01:55:50.284Z` +- `2026-06-14T13:58:54.491Z` +- `2019-12-31T10:00:30.284Z` ### `date.soon` Generates a random date in the near future. - Canonical: `awd.domain.date.soon` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -206,14 +296,25 @@ Examples: date.soon() ``` +```txt +date.soon(days=7) +``` + +```txt +date.soon(refDate=1577836800000) +``` + Example return values: -- `"2026-04-29T11:09:09.211Z"` +- `2026-06-19T01:55:51.284Z` +- `2026-06-21T13:58:55.491Z` +- `2020-01-01T10:00:31.284Z` ### `date.timeZone` Returns a random IANA time zone relevant to this locale. - Canonical: `awd.domain.date.timeZone` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) No parameters. @@ -221,17 +322,18 @@ No parameters. Examples: ```txt -date.timeZone() +date.timeZone ``` Example return values: -- `Europe/Stockholm` +- `America/Santiago` ### `date.weekday` Returns a random day of the week. - Canonical: `awd.domain.date.weekday` +- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -246,8 +348,14 @@ date.weekday() ``` ```txt -date.weekday(abbreviated=false, context=false) +date.weekday(abbreviated=true) +``` + +```txt +date.weekday(context=true) ``` Example return values: -- `Tuesday` +- `Saturday` +- `Sat` +- `Saturday` diff --git a/docs-src/docs/040-test-data/domain/120-finance.md b/docs-src/docs/040-test-data/domain/120-finance.md index e9ada0a8..f00f5cd5 100644 --- a/docs-src/docs/040-test-data/domain/120-finance.md +++ b/docs-src/docs/040-test-data/domain/120-finance.md @@ -19,6 +19,7 @@ The `finance` domain maps domain keywords to underlying faker implementations. Generates a random account name. - Canonical: `awd.domain.finance.accountName` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -finance.accountName() +finance.accountName ``` Example return values: -- `Investment Account` +- `Home Loan Account` ### `finance.accountNumber` Generates a random account number. - Canonical: `awd.domain.finance.accountNumber` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -50,17 +52,19 @@ finance.accountNumber() ``` ```txt -finance.accountNumber(length=1) +finance.accountNumber(length=5) ``` Example return values: -- `43208795` +- `47031013` +- `47031` ### `finance.amount` Generates a random amount between the given bounds (inclusive). - Canonical: `awd.domain.finance.amount` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -77,20 +81,40 @@ Examples: finance.amount() ``` -Type-in examples (named params): - ```txt finance.amount(autoFormat=true) ``` +```txt +finance.amount(dec=2) +``` + +```txt +finance.amount(max=100) +``` + +```txt +finance.amount(max=10, min=1) +``` + +```txt +finance.amount(symbol="$") +``` + Example return values: -- `536.86` +- `417.02` +- `417.02` +- `417.02` +- `41.70` +- `4.75` +- `$417.02` ### `finance.bic` Generates a random SWIFT/BIC code based on the ISO-9362 format. - Canonical: `awd.domain.finance.bic` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -108,16 +132,21 @@ finance.bic(includeBranchCode=true) ``` Example return values: -- `TXWRPYFT` +- `SAHDBI6CJFO` +- `KSAHBZ36EJF` ### `finance.bitcoinAddress` Generates a random Bitcoin address. - Canonical: `awd.domain.finance.bitcoinAddress` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) -No parameters. +| Arg | Type | Required | Description | +| --- | --- | --- | --- | +| `type` | `legacy\|segwit\|bech32\|taproot` | no | The bitcoin address type ('legacy', 'segwit', 'bech32' or 'taproot'). | +| `network` | `mainnet\|testnet` | no | The bitcoin network ('mainnet' or 'testnet'). | Examples: @@ -125,14 +154,25 @@ Examples: finance.bitcoinAddress() ``` +```txt +finance.bitcoinAddress(type="bech32") +``` + +```txt +finance.bitcoinAddress(network="testnet") +``` + Example return values: -- `39fu5Nhnibj2xa8FPVxCbX7y4xZi5SWd` +- `31i96bmpxqFcS2Eqy9cNYjGST53aS6qX` +- `bc1fr0a536dekfp7w0pfk57tycqww326w4fykqcpu0` +- `21i96bmpxqFcS2Eqy9cNYjGST53aS6qX` ### `finance.creditCardCVV` Generates a random credit card CVV. - Canonical: `awd.domain.finance.creditCardCVV` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -140,17 +180,18 @@ No parameters. Examples: ```txt -finance.creditCardCVV() +finance.creditCardCVV ``` Example return values: -- `839` +- `470` ### `finance.creditCardIssuer` Returns a random credit card issuer. - Canonical: `awd.domain.finance.creditCardIssuer` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -158,17 +199,18 @@ No parameters. Examples: ```txt -finance.creditCardIssuer() +finance.creditCardIssuer ``` Example return values: -- `jcb` +- `discover` ### `finance.creditCardNumber` Generates a random credit card number. - Canonical: `awd.domain.finance.creditCardNumber` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -182,17 +224,19 @@ finance.creditCardNumber() ``` ```txt -finance.creditCardNumber(issuer="value") +finance.creditCardNumber(issuer="Visa") ``` Example return values: -- `6449-4462-4996-7580` +- `6503-1013-3546-2805` +- `4703101335466` ### `finance.currency` Returns a random currency object, containing `code`, `name`, `symbol`, and `numericCode` properties. - Canonical: `awd.domain.finance.currency` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -200,17 +244,18 @@ No parameters. Examples: ```txt -finance.currency() +finance.currency ``` Example return values: -- `{"name":"Rial Omani","code":"OMR","symbol":"﷼","numericCode":"512"}` +- `{"name":"Jordanian Dinar","code":"JOD","symbol":"","numericCode":"400"}` ### `finance.currencyCode` Returns a random currency code. - Canonical: `awd.domain.finance.currencyCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -218,17 +263,18 @@ No parameters. Examples: ```txt -finance.currencyCode() +finance.currencyCode ``` Example return values: -- `ISK` +- `JOD` ### `finance.currencyName` Returns a random currency name. - Canonical: `awd.domain.finance.currencyName` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -236,17 +282,18 @@ No parameters. Examples: ```txt -finance.currencyName() +finance.currencyName ``` Example return values: -- `South Sudanese pound` +- `Jordanian Dinar` ### `finance.currencyNumericCode` Returns a random currency numeric code. - Canonical: `awd.domain.finance.currencyNumericCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -254,17 +301,18 @@ No parameters. Examples: ```txt -finance.currencyNumericCode() +finance.currencyNumericCode ``` Example return values: -- `270` +- `400` ### `finance.currencySymbol` Returns a random currency symbol. - Canonical: `awd.domain.finance.currencySymbol` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -272,17 +320,18 @@ No parameters. Examples: ```txt -finance.currencySymbol() +finance.currencySymbol ``` Example return values: -- `₩` +- `руб` ### `finance.ethereumAddress` Creates a random, non-checksum Ethereum address. - Canonical: `awd.domain.finance.ethereumAddress` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -290,17 +339,18 @@ No parameters. Examples: ```txt -finance.ethereumAddress() +finance.ethereumAddress ``` Example return values: -- `0xf5d385aff27de9dee6eeeffd924ffd7dd2d252ca` +- `0x9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a` ### `finance.iban` Generates a random IBAN. - Canonical: `awd.domain.finance.iban` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -315,17 +365,24 @@ finance.iban() ``` ```txt -finance.iban(countryCode="GB", formatted=true) +finance.iban(countryCode="GB") +``` + +```txt +finance.iban(formatted=true) ``` Example return values: -- `CH67001759079BP5WA811` +- `IE39SAHD00454601410936` +- `GB98KSAH00235420410936` +- `IE39 SAHD 0045 4601 4109 36` ### `finance.litecoinAddress` Generates a random Litecoin address. - Canonical: `awd.domain.finance.litecoinAddress` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -333,17 +390,18 @@ No parameters. Examples: ```txt -finance.litecoinAddress() +finance.litecoinAddress ``` Example return values: -- `M7nWopfUfSjA8cmGWvuENRLu6GU4C1iTK` +- `31i96bmpxqFcS2Eqy9cNYjGST53aS` ### `finance.pin` Generates a random PIN number. - Canonical: `awd.domain.finance.pin` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -357,17 +415,19 @@ finance.pin() ``` ```txt -finance.pin(length=1) +finance.pin(length=5) ``` Example return values: -- `1107` +- `4703` +- `47031` ### `finance.routingNumber` Generates a random routing number. - Canonical: `awd.domain.finance.routingNumber` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -375,17 +435,18 @@ No parameters. Examples: ```txt -finance.routingNumber() +finance.routingNumber ``` Example return values: -- `933657999` +- `470310139` ### `finance.transactionDescription` Generates a random transaction description. - Canonical: `awd.domain.finance.transactionDescription` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -393,17 +454,18 @@ No parameters. Examples: ```txt -finance.transactionDescription() +finance.transactionDescription ``` Example return values: -- `Transaction alert: deposit at Jones LLC using card ending ****4221 for an amount of GIP 94.88 on account ***3694.` +- `You made a payment of AED 302.33 at Hegmann - Johnston using card ending in ****6280 from account ***6451.` ### `finance.transactionType` Returns a random transaction type. - Canonical: `awd.domain.finance.transactionType` +- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. @@ -411,8 +473,8 @@ No parameters. Examples: ```txt -finance.transactionType() +finance.transactionType ``` Example return values: -- `deposit` +- `invoice` diff --git a/docs-src/docs/040-test-data/domain/130-food.md b/docs-src/docs/040-test-data/domain/130-food.md index 4a44acce..b4131bd4 100644 --- a/docs-src/docs/040-test-data/domain/130-food.md +++ b/docs-src/docs/040-test-data/domain/130-food.md @@ -19,6 +19,7 @@ The `food` domain maps domain keywords to underlying faker implementations. Generates a random dish adjective. - Canonical: `awd.domain.food.adjective` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -food.adjective() +food.adjective ``` Example return values: -- `salty` +- `juicy` ### `food.description` Generates a random dish description. - Canonical: `awd.domain.food.description` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -food.description() +food.description ``` Example return values: -- `Fresh mixed greens tossed with pimento-rubbed pigeon, bean shoots, and a light dressing.` +- `An exquisite artichoke dish, paired with brown rice and a hint of cardamom.` ### `food.dish` Generates a random dish name. - Canonical: `awd.domain.food.dish` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -food.dish() +food.dish ``` Example return values: -- `Chicken Fajitas` +- `Cinnamon-crusted Chicken` ### `food.ethnicCategory` Generates a random food's ethnic category. - Canonical: `awd.domain.food.ethnicCategory` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -food.ethnicCategory() +food.ethnicCategory ``` Example return values: -- `Lithuanian` +- `Indonesian` ### `food.fruit` Generates a random fruit name. - Canonical: `awd.domain.food.fruit` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -food.fruit() +food.fruit ``` Example return values: -- `snowpea` +- `grapefruit` ### `food.ingredient` Generates a random ingredient name. - Canonical: `awd.domain.food.ingredient` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -116,17 +122,18 @@ No parameters. Examples: ```txt -food.ingredient() +food.ingredient ``` Example return values: -- `spelt` +- `green pepper` ### `food.meat` Generates a random meat - Canonical: `awd.domain.food.meat` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -134,17 +141,18 @@ No parameters. Examples: ```txt -food.meat() +food.meat ``` Example return values: -- `goose` +- `kangaroo` ### `food.spice` Generates a random spice name. - Canonical: `awd.domain.food.spice` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -152,17 +160,18 @@ No parameters. Examples: ```txt -food.spice() +food.spice ``` Example return values: -- `poudre de colombo` +- `fines herbes` ### `food.vegetable` Generates a random vegetable name. - Canonical: `awd.domain.food.vegetable` +- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. @@ -170,8 +179,8 @@ No parameters. Examples: ```txt -food.vegetable() +food.vegetable ``` Example return values: -- `snowpea sprouts` +- `eggplant` diff --git a/docs-src/docs/040-test-data/domain/140-git.md b/docs-src/docs/040-test-data/domain/140-git.md index aeb727f2..8a08d996 100644 --- a/docs-src/docs/040-test-data/domain/140-git.md +++ b/docs-src/docs/040-test-data/domain/140-git.md @@ -19,6 +19,7 @@ The `git` domain maps domain keywords to underlying faker implementations. Generates a random branch name. - Canonical: `awd.domain.git.branch` +- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -git.branch() +git.branch ``` Example return values: -- `array-compress` +- `firewall-parse` ### `git.commitDate` Generates a date string for a git commit using the same format as `git log`. - Canonical: `awd.domain.git.commitDate` +- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -git.commitDate() +git.commitDate ``` Example return values: -- `Tue Apr 28 04:28:58 2026 -0600` +- `Thu Jun 18 01:55:50 2026 +0600` ### `git.commitEntry` Generates a random commit entry as printed by `git log`. - Canonical: `awd.domain.git.commitEntry` +- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -git.commitEntry() +git.commitEntry ``` Example return values: -- `commit 4f9a2d1c Author: Alex Example Date: Tue May 19 2026` +- `commit f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0af\nAuthor: Ricardo Upton \nDate: Wed Jun 17 19:26:37 2026 +0300\n\n    parse auxiliary feed\n` ### `git.commitMessage` Generates a random commit message. - Canonical: `awd.domain.git.commitMessage` +- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -git.commitMessage() +git.commitMessage ``` Example return values: -- `reboot cross-platform system` +- `hack optical alarm` ### `git.commitSha` Generates a random commit sha. - Canonical: `awd.domain.git.commitSha` +- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. @@ -98,8 +103,8 @@ No parameters. Examples: ```txt -git.commitSha() +git.commitSha ``` Example return values: -- `3418f0e64e8eae52ebd67b11d98e571fd6a81017` +- `9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a` diff --git a/docs-src/docs/040-test-data/domain/150-hacker.md b/docs-src/docs/040-test-data/domain/150-hacker.md index f61810f3..316e7e4c 100644 --- a/docs-src/docs/040-test-data/domain/150-hacker.md +++ b/docs-src/docs/040-test-data/domain/150-hacker.md @@ -19,6 +19,7 @@ The `hacker` domain maps domain keywords to underlying faker implementations. Returns a random hacker/IT abbreviation. - Canonical: `awd.domain.hacker.abbreviation` +- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -hacker.abbreviation() +hacker.abbreviation ``` Example return values: -- `GB` +- `IP` ### `hacker.adjective` Returns a random hacker/IT adjective. - Canonical: `awd.domain.hacker.adjective` +- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -hacker.adjective() +hacker.adjective ``` Example return values: -- `bluetooth` +- `mobile` ### `hacker.ingverb` Returns a random hacker/IT verb for continuous actions (en: ing suffix; e.g. hacking). - Canonical: `awd.domain.hacker.ingverb` +- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -hacker.ingverb() +hacker.ingverb ``` Example return values: -- `synthesizing` +- `generating` ### `hacker.noun` Returns a random hacker/IT noun. - Canonical: `awd.domain.hacker.noun` +- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -hacker.noun() +hacker.noun ``` Example return values: -- `program` +- `firewall` ### `hacker.phrase` Generates a random hacker/IT phrase. - Canonical: `awd.domain.hacker.phrase` +- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -hacker.phrase() +hacker.phrase ``` Example return values: -- `compressing the application won't do anything, we need to reboot the neural JSON hard drive!` +- `Try to back up the COM bus, maybe it will hack the mobile bus!` ### `hacker.verb` Returns a random hacker/IT verb. - Canonical: `awd.domain.hacker.verb` +- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. @@ -116,8 +122,8 @@ No parameters. Examples: ```txt -hacker.verb() +hacker.verb ``` Example return values: -- `program` +- `hack` diff --git a/docs-src/docs/040-test-data/domain/160-image.md b/docs-src/docs/040-test-data/domain/160-image.md index 45b1d965..a5466a37 100644 --- a/docs-src/docs/040-test-data/domain/160-image.md +++ b/docs-src/docs/040-test-data/domain/160-image.md @@ -19,6 +19,7 @@ The `image` domain maps domain keywords to underlying faker implementations. Generates a random avatar image url. - Canonical: `awd.domain.image.avatar` +- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -image.avatar() +image.avatar ``` Example return values: -- `https://avatars.githubusercontent.com/u/2389220` +- `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/0.jpg` ### `image.avatarGitHub` Generates a random avatar from GitHub. - Canonical: `awd.domain.image.avatarGitHub` +- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -image.avatarGitHub() +image.avatarGitHub ``` Example return values: -- `https://avatars.githubusercontent.com/u/22969292` +- `https://avatars.githubusercontent.com/u/41702200` ### `image.dataUri` Generates a random data uri containing an URL-encoded SVG image or a Base64-encoded SVG image. - Canonical: `awd.domain.image.dataUri` +- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -image.dataUri() +image.dataUri ``` Example return values: -- `data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=` +- `data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%221668%22%20height%3D%222881%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22%23063247%22%2F%3E%3Ctext%20x%3D%22834%22%20y%3D%221440.5%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E1668x2881%3C%2Ftext%3E%3C%2Fsvg%3E` ### `image.personPortrait` Generates a random square portrait (avatar) of a person. - Canonical: `awd.domain.image.personPortrait` +- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -image.personPortrait() +image.personPortrait ``` Example return values: -- `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/99.jpg` +- `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/72.jpg` ### `image.url` Generates a random image url. - Canonical: `awd.domain.image.url` +- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) | Arg | Type | Required | Description | @@ -105,35 +110,24 @@ image.url() ``` ```txt -image.url(height=1, width=1) +image.url(height=1) ``` -Example return values: -- `https://loremflickr.com/3255/509?lock=5223276893828872` - -### `image.urlLoremFlickr` - -Generates a random image url provided via https://loremflickr.com. - -- Canonical: `awd.domain.image.urlLoremFlickr` -- Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) - -No parameters. - -Examples: - ```txt -image.urlLoremFlickr() +image.url(width=1) ``` Example return values: -- `https://loremflickr.com/3966/3602?lock=6417693540486546` +- `https://picsum.photos/seed/i95bl/1668/2881` +- `https://picsum.photos/seed/0i95bloxp/1668/1` +- `https://picsum.photos/seed/0i95bloxp/1/1668` ### `image.urlPicsumPhotos` Generates a random image url provided via https://picsum.photos. - Canonical: `awd.domain.image.urlPicsumPhotos` +- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. @@ -141,8 +135,8 @@ No parameters. Examples: ```txt -image.urlPicsumPhotos() +image.urlPicsumPhotos ``` Example return values: -- `https://picsum.photos/seed/UBLQun43/2068/162?blur=8` +- `https://picsum.photos/seed/5blox/1668/2881?grayscale&blur=3` diff --git a/docs-src/docs/040-test-data/domain/170-internet.md b/docs-src/docs/040-test-data/domain/170-internet.md index edd61117..6ff76c7a 100644 --- a/docs-src/docs/040-test-data/domain/170-internet.md +++ b/docs-src/docs/040-test-data/domain/170-internet.md @@ -19,6 +19,7 @@ The `internet` domain maps domain keywords to underlying faker implementations. Generates a display name using the given person's name as base. - Canonical: `awd.domain.internet.displayName` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -internet.displayName() +internet.displayName ``` Example return values: -- `Cordell0` +- `Aaliyah.Bosco` ### `internet.domainName` Generates a random domain name. - Canonical: `awd.domain.internet.domainName` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -internet.domainName() +internet.domainName ``` Example return values: -- `beloved-peony.org` +- `inferior-punctuation.biz` ### `internet.domainSuffix` Returns a random domain suffix. - Canonical: `awd.domain.internet.domainSuffix` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -internet.domainSuffix() +internet.domainSuffix ``` Example return values: -- `com` +- `info` ### `internet.domainWord` Generates a random domain word. - Canonical: `awd.domain.internet.domainWord` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -internet.domainWord() +internet.domainWord ``` Example return values: -- `inexperienced-ravioli` +- `inferior-punctuation` ### `internet.email` Generates data using faker internet email. - Canonical: `awd.domain.internet.email` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -107,17 +112,34 @@ internet.email() ``` ```txt -internet.email(allowSpecialCharacters=true, firstName="Alex", lastName="Taylor", provider="example.com") +internet.email(allowSpecialCharacters=true) +``` + +```txt +internet.email(firstName="Ada") +``` + +```txt +internet.email(lastName="Lovelace") +``` + +```txt +internet.email(provider="example.com") ``` Example return values: -- `Jana91@hotmail.com` +- `Edwin.Dibbert@hotmail.com` +- `Edwin.Dibbert@hotmail.com` +- `Ada.Gutmann9@hotmail.com` +- `Edwin.Lovelace9@hotmail.com` +- `Aaliyah.Bosco@example.com` ### `internet.emoji` Generates a random emoji. - Canonical: `awd.domain.internet.emoji` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -131,17 +153,19 @@ internet.emoji() ``` ```txt -internet.emoji(types=["food","nature"]) +internet.emoji(types=["food"]) ``` Example return values: -- `🤨` +- `🥣` +- `🍲` ### `internet.exampleEmail` Generates data using faker internet example email. - Canonical: `awd.domain.internet.exampleEmail` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -149,17 +173,18 @@ No parameters. Examples: ```txt -internet.exampleEmail() +internet.exampleEmail ``` Example return values: -- `Jeremie37@example.net` +- `Edwin.Dibbert@example.net` ### `internet.httpMethod` Returns a random http method. - Canonical: `awd.domain.internet.httpMethod` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -167,17 +192,18 @@ No parameters. Examples: ```txt -internet.httpMethod() +internet.httpMethod ``` Example return values: -- `PATCH` +- `PUT` ### `internet.httpStatusCode` Generates a random HTTP status code. - Canonical: `awd.domain.internet.httpStatusCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -185,17 +211,18 @@ No parameters. Examples: ```txt -internet.httpStatusCode() +internet.httpStatusCode ``` Example return values: -- `303` +- `306` ### `internet.ip` Generates a random IPv4 or IPv6 address. - Canonical: `awd.domain.internet.ip` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -203,23 +230,24 @@ No parameters. Examples: ```txt -internet.ip() +internet.ip ``` Example return values: -- `56.23.30.52` +- `184.103.47.157` ### `internet.ipv4` Generates a random IPv4 address. - Canonical: `awd.domain.internet.ipv4` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `cidrBlock` | `string` | no | The optional CIDR block to use. Must be in the format x.x.x.x/y. | -| `network` | `string` | no | The optional network to use. This is intended as an alias for well-known cidrBlocks. | +| `network` | `any\|loopback\|private-a\|private-b\|private-c\|test-net-1\|test-net-2\|test-net-3\|link-local\|multicast` | no | The optional network to use. This is intended as an alias for well-known cidrBlocks. | Examples: @@ -228,17 +256,24 @@ internet.ipv4() ``` ```txt -internet.ipv4(cidrBlock="192.168.0.0/24", network="private-a") +internet.ipv4(cidrBlock="192.168.0.0/24") +``` + +```txt +internet.ipv4(network="private-a") ``` Example return values: -- `192.168.0.42` +- `106.193.244.63` +- `192.168.0.106` +- `10.106.193.244` ### `internet.ipv6` Generates a random IPv6 address. - Canonical: `awd.domain.internet.ipv6` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -246,17 +281,18 @@ No parameters. Examples: ```txt -internet.ipv6() +internet.ipv6 ``` Example return values: -- `2001:0db8:85a3:0000:0000:8a2e:0370:7334` +- `9f06:3247:8b9f:4d0e:9c34:bf6f:dd10:3d29` ### `internet.jwt` Generates a random JWT (JSON Web Token). - Canonical: `awd.domain.internet.jwt` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -272,17 +308,29 @@ internet.jwt() ``` ```txt -internet.jwt(header={"alg":"HS256","typ":"JWT"}, payload={"iss":"Acme"}, refDate=1) +internet.jwt(header={"value":"sample"}) +``` + +```txt +internet.jwt(payload={"value":"sample"}) +``` + +```txt +internet.jwt(refDate=1718755200000) ``` Example return values: -- `eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBY21lIn0.c2lnbmF0dXJl` +- `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTc0Nzc2MSwibmJmIjoxNzY5MzMwODQwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u` +- `eyJ2YWx1ZSI6InNhbXBsZSJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTgwOTk4NywibmJmIjoxNzUwMjY5MzM0LCJpc3MiOiJEaWJiZXJ0IC0gTGluZCIsInN1YiI6IjZhM2UwYTY4LTIzY2YtNDViZS1iZTEwLTJlMTZmOGI1YWQwYyIsImF1ZCI6ImI0YzE3ZTQ0LTIwYTMtNDQ3MC04OTI5LWIxNmI2MDhhOGY5ZSIsImp0aSI6IjJjNjJlNWNiLWU5YzUtNDRlNi1iZmE5LTFmNzk2M2U5MDk1OCJ9.mUC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914` +- `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2YWx1ZSI6InNhbXBsZSJ9.0i95bloxpGcS1Fpy8cNYjGST52aS6qXxGjGP1KZKhM6rUih81Gdgu3z9AH6pHp3x` +- `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTg3MDQ4MzAsImV4cCI6MTcxODcwNDg0MSwibmJmIjoxNzA2Mjg3OTIwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u` ### `internet.jwtAlgorithm` Generates a random JWT (JSON Web Token) Algorithm. - Canonical: `awd.domain.internet.jwtAlgorithm` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -290,22 +338,23 @@ No parameters. Examples: ```txt -internet.jwtAlgorithm() +internet.jwtAlgorithm ``` Example return values: -- `PS384` +- `HS512` ### `internet.mac` Generates a random mac address. - Canonical: `awd.domain.internet.mac` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `separator` | `string` | no | The optional separator to use. Can be either ':', '-' or ''. | +| `separator` | `":"\|"-"\|""` | no | The optional separator to use. Can be either ':', '-' or ''. | Examples: @@ -318,13 +367,15 @@ internet.mac(separator="-") ``` Example return values: -- `ae:a9:d7:ba:d2:bd` +- `6b:04:21:25:68:6a` +- `6b-04-21-25-68-6a` ### `internet.password` Generates a random password-like string. Do not use this method for generating actual passwords for users. - Canonical: `awd.domain.internet.password` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -337,17 +388,53 @@ Generates a random password-like string. Do not use this method for generating a Examples: ```txt -internet.password(length=10, memorable=false, pattern="[A-Za-z0-9]", prefix="#") +internet.password() +``` + +```txt +internet.password(length=12) +``` + +```txt +internet.password(memorable=true) +``` + +```txt +internet.password(length=12, memorable=true) +``` + +```txt +internet.password(pattern="[A-Z]") +``` + +```txt +internet.password(length=12, memorable=false, pattern="[A-Z]") +``` + +```txt +internet.password(prefix="#") +``` + +```txt +internet.password(length=12, memorable=false, pattern="[A-Z]", prefix="#") ``` Example return values: -- `og1ejoksrfwVbIF` +- `He2AFTHb4tHV3mb` +- `He2AFTHb4tHV` +- `hefutisawetikub` +- `hefutisaweti` +- `HAFTHHVISKOWXHH` +- `HAFTHHVISKOW` +- `#He2AFTHb4tHV3m` +- `#HAFTHHVISKO` ### `internet.port` Generates a random port number. - Canonical: `awd.domain.internet.port` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -355,17 +442,18 @@ No parameters. Examples: ```txt -internet.port() +internet.port ``` Example return values: -- `24545` +- `27329` ### `internet.protocol` Returns a random web protocol. Either `http` or `https`. - Canonical: `awd.domain.internet.protocol` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -373,7 +461,7 @@ No parameters. Examples: ```txt -internet.protocol() +internet.protocol ``` Example return values: @@ -384,12 +472,13 @@ Example return values: Generates a random http(s) url. - Canonical: `awd.domain.internet.url` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `appendSlash` | `boolean` | no | Whether to append a slash to the end of the url (path). | -| `protocol` | `string` | no | The protocol to use. | +| `protocol` | `http\|https` | no | The protocol to use. | Examples: @@ -398,17 +487,24 @@ internet.url() ``` ```txt -internet.url(appendSlash=true, protocol="https") +internet.url(appendSlash=true) +``` + +```txt +internet.url(protocol="https") ``` Example return values: -- `https://brave-interior.biz/` +- `https://self-reliant-cd.com/` +- `https://inferior-punctuation.biz/` +- `https://self-reliant-cd.com/` ### `internet.userAgent` Generates a random user agent string. - Canonical: `awd.domain.internet.userAgent` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. @@ -416,17 +512,18 @@ No parameters. Examples: ```txt -internet.userAgent() +internet.userAgent ``` Example return values: -- `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36` +- `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/586.0.30 (KHTML, like Gecko) Version/16.1 Safari/546.9.18` ### `internet.username` Generates a username using the given person's name as base. - Canonical: `awd.domain.internet.username` +- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -441,8 +538,14 @@ internet.username() ``` ```txt -internet.username(firstName="Alex", lastName="Taylor") +internet.username(firstName="Ada") +``` + +```txt +internet.username(lastName="Lovelace") ``` Example return values: -- `Deanna51` +- `Aaliyah.Bosco` +- `Ada.Abbott14` +- `Aaliyah.Lovelace14` diff --git a/docs-src/docs/040-test-data/domain/180-literal.md b/docs-src/docs/040-test-data/domain/180-literal.md index b65a2c61..39f38ef3 100644 --- a/docs-src/docs/040-test-data/domain/180-literal.md +++ b/docs-src/docs/040-test-data/domain/180-literal.md @@ -24,12 +24,23 @@ Return the literal value provided by the caller. Examples: ```txt -literal.value("Pending") +literal.value(value="Pending") ``` ```txt -literal.value("") +literal.value(value="") +``` + +```txt +literal.value() +``` + +```txt +literal.value(value=1) ``` Example return values: - `Pending` +- `` +- `` +- `1` diff --git a/docs-src/docs/040-test-data/domain/190-location.md b/docs-src/docs/040-test-data/domain/190-location.md index f96a2531..42631c48 100644 --- a/docs-src/docs/040-test-data/domain/190-location.md +++ b/docs-src/docs/040-test-data/domain/190-location.md @@ -19,6 +19,7 @@ The `location` domain maps domain keywords to underlying faker implementations. Generates a random building number. - Canonical: `awd.domain.location.buildingNumber` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -location.buildingNumber() +location.buildingNumber ``` Example return values: -- `5075` +- `7031` ### `location.cardinalDirection` Returns a random cardinal direction (north, east, south, west). - Canonical: `awd.domain.location.cardinalDirection` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -44,7 +46,7 @@ No parameters. Examples: ```txt -location.cardinalDirection() +location.cardinalDirection ``` Example return values: @@ -55,6 +57,7 @@ Example return values: Generates a random localized city name. - Canonical: `awd.domain.location.city` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -location.city() +location.city ``` Example return values: -- `Stellachester` +- `Edwinville` ### `location.continent` Returns a random continent name. - Canonical: `awd.domain.location.continent` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -80,7 +84,7 @@ No parameters. Examples: ```txt -location.continent() +location.continent ``` Example return values: @@ -91,6 +95,7 @@ Example return values: Returns a random country name. - Canonical: `awd.domain.location.country` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -98,20 +103,23 @@ No parameters. Examples: ```txt -location.country() +location.country ``` Example return values: -- `Svalbard & Jan Mayen Islands` +- `India` ### `location.countryCode` Returns a random ISO_3166-1 country code. - Canonical: `awd.domain.location.countryCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) -No parameters. +| Arg | Type | Required | Description | +| --- | --- | --- | --- | +| `variant` | `alpha-2\|alpha-3\|numeric` | no | The code to return. Can be either 'alpha-2' (two-letter code), 'alpha-3' (three-letter code) or 'numeric' (numeric code). | Examples: @@ -119,14 +127,20 @@ Examples: location.countryCode() ``` +```txt +location.countryCode(variant="alpha-3") +``` + Example return values: -- `MG` +- `IM` +- `IMN` ### `location.county` Returns a random localized county, or other equivalent second-level administrative entity for the locale's country such as a district or department. - Canonical: `awd.domain.location.county` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -134,17 +148,18 @@ No parameters. Examples: ```txt -location.county() +location.county ``` Example return values: -- `Northamptonshire` +- `Cleveland` ### `location.direction` Returns a random direction (cardinal and ordinal; northwest, east, etc). - Canonical: `awd.domain.location.direction` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -158,17 +173,19 @@ location.direction() ``` ```txt -location.direction(abbreviated=false) +location.direction(abbreviated=true) ``` Example return values: -- `North` +- `West` +- `W` ### `location.language` Returns a random spoken language. - Canonical: `awd.domain.location.language` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -176,17 +193,18 @@ No parameters. Examples: ```txt -location.language() +location.language ``` Example return values: -- `{"name":"Icelandic","alpha2":"is","alpha3":"isl"}` +- `{"name":"Punjabi","alpha2":"pa","alpha3":"pan"}` ### `location.latitude` Generates a random latitude. - Canonical: `awd.domain.location.latitude` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -202,17 +220,29 @@ location.latitude() ``` ```txt -location.latitude(min=1, max=1, precision=1) +location.latitude(max=10, min=1) +``` + +```txt +location.latitude(max=5) +``` + +```txt +location.latitude(precision=1) ``` Example return values: -- `51.5448` +- `-14.936` +- `4.7532` +- `-50.3829` +- `-14.9` ### `location.longitude` Generates a random longitude. - Canonical: `awd.domain.location.longitude` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -228,17 +258,29 @@ location.longitude() ``` ```txt -location.longitude(min=1, max=1, precision=1) +location.longitude(max=10, min=1) +``` + +```txt +location.longitude(max=5) +``` + +```txt +location.longitude(precision=1) ``` Example return values: -- `92.3892` +- `-29.8721` +- `4.7532` +- `-102.8509` +- `-29.9` ### `location.nearbyGPSCoordinate` Generates a random GPS coordinate within the specified radius from the given coordinate. - Canonical: `awd.domain.location.nearbyGPSCoordinate` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -246,17 +288,18 @@ No parameters. Examples: ```txt -location.nearbyGPSCoordinate() +location.nearbyGPSCoordinate ``` Example return values: -- `[58.313,9.9746]` +- `[-14.936,79.3168]` ### `location.ordinalDirection` Returns a random ordinal direction (northwest, southeast, etc). - Canonical: `awd.domain.location.ordinalDirection` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -264,17 +307,18 @@ No parameters. Examples: ```txt -location.ordinalDirection() +location.ordinalDirection ``` Example return values: -- `Northeast` +- `Northwest` ### `location.secondaryAddress` Generates a random localized secondary address. This refers to a specific location at a given address - Canonical: `awd.domain.location.secondaryAddress` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -282,17 +326,18 @@ No parameters. Examples: ```txt -location.secondaryAddress() +location.secondaryAddress ``` Example return values: -- `Suite 634` +- `Apt. 703` ### `location.state` Returns a random localized state, or other equivalent first-level administrative entity for the locale's country such as a province or region. - Canonical: `awd.domain.location.state` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -306,17 +351,19 @@ location.state() ``` ```txt -location.state(abbreviated=false) +location.state(abbreviated=true) ``` Example return values: -- `Hawaii` +- `Massachusetts` +- `MA` ### `location.street` Generates a random localized street name. - Canonical: `awd.domain.location.street` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -324,17 +371,18 @@ No parameters. Examples: ```txt -location.street() +location.street ``` Example return values: -- `Viva Harbor` +- `Gutmann Creek` ### `location.streetAddress` Generates a random localized street address. - Canonical: `awd.domain.location.streetAddress` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -352,13 +400,15 @@ location.streetAddress(useFullAddress=true) ``` Example return values: -- `12056 Vandervort Common` +- `7031 Iris Mill` +- `7031 Iris Mill Apt. 728` ### `location.timeZone` Returns a random IANA time zone name. - Canonical: `awd.domain.location.timeZone` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -366,17 +416,18 @@ No parameters. Examples: ```txt -location.timeZone() +location.timeZone ``` Example return values: -- `Australia/Perth` +- `America/Santiago` ### `location.zipCode` Generates data using faker location zip code. - Canonical: `awd.domain.location.zipCode` +- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. @@ -384,8 +435,8 @@ No parameters. Examples: ```txt -location.zipCode() +location.zipCode ``` Example return values: -- `36791` +- `70310` diff --git a/docs-src/docs/040-test-data/domain/200-lorem.md b/docs-src/docs/040-test-data/domain/200-lorem.md index 074d75c1..f08b5cc6 100644 --- a/docs-src/docs/040-test-data/domain/200-lorem.md +++ b/docs-src/docs/040-test-data/domain/200-lorem.md @@ -19,6 +19,7 @@ The `lorem` domain maps domain keywords to underlying faker implementations. Generates the given number lines of lorem separated by `'\n'`. - Canonical: `awd.domain.lorem.lines` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -36,17 +37,39 @@ lorem.lines() ``` ```txt -lorem.lines(min=1, max=1, lineCount=1, lineCountMax=1, lineCountMin=1) +lorem.lines(max=10, min=1) +``` + +```txt +lorem.lines(max=5) +``` + +```txt +lorem.lines(lineCount=5) +``` + +```txt +lorem.lines(lineCountMax=5) +``` + +```txt +lorem.lines(lineCountMin=5) ``` Example return values: -- `Illum qui ocer creptio. Antepono aro vergo voluptatem acervus compono apud.` +- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` +- `Suppellex a cognatus arca aliquam audentia.` +- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` +- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` +- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` +- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` ### `lorem.paragraph` Generates a paragraph with the given number of sentences. - Canonical: `awd.domain.lorem.paragraph` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -64,17 +87,39 @@ lorem.paragraph() ``` ```txt -lorem.paragraph(min=1, max=1, sentenceCount=1, sentenceCountMax=1, sentenceCountMin=1) +lorem.paragraph(max=10, min=1) +``` + +```txt +lorem.paragraph(max=5) +``` + +```txt +lorem.paragraph(sentenceCount=5) +``` + +```txt +lorem.paragraph(sentenceCountMax=5) +``` + +```txt +lorem.paragraph(sentenceCountMin=5) ``` Example return values: -- `Quisquam dolorum modi quae atque.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` +- `Suppellex a cognatus arca aliquam audentia.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` ### `lorem.paragraphs` Generates the given number of paragraphs. - Canonical: `awd.domain.lorem.paragraphs` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -93,17 +138,44 @@ lorem.paragraphs() ``` ```txt -lorem.paragraphs(min=1, max=1, paragraphCount=1, separator="-", paragraphCountMax=1, paragraphCountMin=1) +lorem.paragraphs(max=10, min=1) +``` + +```txt +lorem.paragraphs(max=5) +``` + +```txt +lorem.paragraphs(paragraphCount=5) +``` + +```txt +lorem.paragraphs(separator="-") +``` + +```txt +lorem.paragraphs(paragraphCountMax=5) +``` + +```txt +lorem.paragraphs(paragraphCountMin=5) ``` Example return values: -- `Primus paragraphus.\n\nSecundus paragraphus.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.5Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.5Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` +- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` ### `lorem.sentence` Generates a space separated list of words beginning with a capital letter and ending with a period. - Canonical: `awd.domain.lorem.sentence` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -121,17 +193,39 @@ lorem.sentence() ``` ```txt -lorem.sentence(min=1, max=1, wordCount=1, wordCountMax=1, wordCountMin=1) +lorem.sentence(max=10, min=1) +``` + +```txt +lorem.sentence(max=5) +``` + +```txt +lorem.sentence(wordCount=5) +``` + +```txt +lorem.sentence(wordCountMax=5) +``` + +```txt +lorem.sentence(wordCountMin=5) ``` Example return values: -- `Auctor cum deorsum attero cum tergo aut.` +- `Suppellex a cognatus arca aliquam audentia.` +- `Cur.` +- `Suppellex a cognatus arca aliquam audentia.` +- `Suppellex a cognatus arca aliquam audentia.` +- `Suppellex a cognatus arca aliquam audentia.` +- `Suppellex a cognatus arca aliquam audentia.` ### `lorem.sentences` Generates the given number of sentences. - Canonical: `awd.domain.lorem.sentences` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -150,17 +244,44 @@ lorem.sentences() ``` ```txt -lorem.sentences(min=1, max=1, sentenceCount=1, separator="-", sentenceCountMax=1, sentenceCountMin=1) +lorem.sentences(max=10, min=1) +``` + +```txt +lorem.sentences(max=5) +``` + +```txt +lorem.sentences(sentenceCount=5) +``` + +```txt +lorem.sentences(separator="-") +``` + +```txt +lorem.sentences(sentenceCountMax=5) +``` + +```txt +lorem.sentences(sentenceCountMin=5) ``` Example return values: -- `Vicissitudo amet candidus. Urbanus magni carbo artificiose tenus at ambulo.` +- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` +- `Suppellex a cognatus arca aliquam audentia.` +- `A cognatus arca aliquam audentia coniuratio crux fugit.5Stillicidium bardus utrimque acsi spargo cur.5Aqua avaritia thesaurus volo combibo stultus utor.5Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` +- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` +- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` +- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` +- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` ### `lorem.slug` Generates a slugified text consisting of the given number of hyphen separated words. - Canonical: `awd.domain.lorem.slug` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -178,17 +299,39 @@ lorem.slug() ``` ```txt -lorem.slug(min=1, max=1, wordCount=1, wordCountMax=1, wordCountMin=1) +lorem.slug(max=10, min=1) +``` + +```txt +lorem.slug(max=5) +``` + +```txt +lorem.slug(wordCount=5) +``` + +```txt +lorem.slug(wordCountMax=5) +``` + +```txt +lorem.slug(wordCountMin=5) ``` Example return values: -- `dolore-accusator-atqui` +- `cur-suppellex-a` +- `cur` +- `cur-suppellex-a` +- `cur-suppellex-a` +- `cur-suppellex-a` +- `cur-suppellex-a` ### `lorem.text` Generates a random text based on a random lorem method. - Canonical: `awd.domain.lorem.text` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) No parameters. @@ -196,17 +339,18 @@ No parameters. Examples: ```txt -lorem.text() +lorem.text ``` Example return values: -- `A short sample text generated from lorem.` +- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor.` ### `lorem.word` Generates a word of a specified length. - Canonical: `awd.domain.lorem.word` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -214,7 +358,7 @@ Generates a word of a specified length. | `min` | `number` | no | Minimum word length when generating a ranged length. | | `max` | `number` | no | Maximum word length when generating a ranged length. | | `length` | `number` | no | Exact word length to generate. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -223,17 +367,34 @@ lorem.word() ``` ```txt -lorem.word(min=1, max=1, length=1, strategy="any-length") +lorem.word(max=10, min=1) +``` + +```txt +lorem.word(max=5) +``` + +```txt +lorem.word(length=5) +``` + +```txt +lorem.word(strategy="any-length") ``` Example return values: -- `cumque` +- `cur` +- `cur` +- `cur` +- `curvo` +- `cur` ### `lorem.words` Generates a space separated list of words. - Canonical: `awd.domain.lorem.words` +- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -251,8 +412,29 @@ lorem.words() ``` ```txt -lorem.words(min=1, max=1, wordCount=1, wordCountMax=1, wordCountMin=1) +lorem.words(max=10, min=1) +``` + +```txt +lorem.words(max=5) +``` + +```txt +lorem.words(wordCount=5) +``` + +```txt +lorem.words(wordCountMax=5) +``` + +```txt +lorem.words(wordCountMin=5) ``` Example return values: -- `desidero conforto decimus` +- `cur suppellex a` +- `cur` +- `cur suppellex a` +- `cur suppellex a` +- `cur suppellex a` +- `cur suppellex a` diff --git a/docs-src/docs/040-test-data/domain/210-music.md b/docs-src/docs/040-test-data/domain/210-music.md index ed8999bd..133d1568 100644 --- a/docs-src/docs/040-test-data/domain/210-music.md +++ b/docs-src/docs/040-test-data/domain/210-music.md @@ -19,6 +19,7 @@ The `music` domain maps domain keywords to underlying faker implementations. Returns a random album name. - Canonical: `awd.domain.music.album` +- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -music.album() +music.album ``` Example return values: -- `R&G (Rhythm & Gangsta): The Masterpiece` +- `I Never Loved A Man The Way I Love You` ### `music.artist` Returns a random artist name. - Canonical: `awd.domain.music.artist` +- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -music.artist() +music.artist ``` Example return values: -- `Chuck Berry` +- `Jon Bellion` ### `music.genre` Returns a random music genre. - Canonical: `awd.domain.music.genre` +- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -music.genre() +music.genre ``` Example return values: -- `Mainstream Jazz` +- `Hard Bop` ### `music.songName` Returns a random song name. - Canonical: `awd.domain.music.songName` +- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. @@ -80,8 +84,8 @@ No parameters. Examples: ```txt -music.songName() +music.songName ``` Example return values: -- `I'm Sorry` +- `Imagine` diff --git a/docs-src/docs/040-test-data/domain/220-number.md b/docs-src/docs/040-test-data/domain/220-number.md index d22fba31..fce3e054 100644 --- a/docs-src/docs/040-test-data/domain/220-number.md +++ b/docs-src/docs/040-test-data/domain/220-number.md @@ -19,6 +19,7 @@ The `number` domain maps domain keywords to underlying faker implementations. Returns a BigInt number. - Canonical: `awd.domain.number.bigInt` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -32,17 +33,19 @@ number.bigInt() ``` ```txt -number.bigInt(value="value") +number.bigInt(value=true) ``` Example return values: -- `347465151663036` +- `703101335462806n` +- `703101335462806n` ### `number.binary` Returns a binary string. - Canonical: `awd.domain.number.binary` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -57,17 +60,24 @@ number.binary() ``` ```txt -number.binary(max=1, min=1) +number.binary(max=5) +``` + +```txt +number.binary(max=10, min=1) ``` Example return values: - `0` +- `10` +- `101` ### `number.float` Returns a single random floating-point number, by default between `0.0` and `1.0`. To change the range, pass a `min` and `max` value. To limit the number of decimal places, pass a `multipleOf` or `fractionDigits` parameter. - Canonical: `awd.domain.number.float` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -83,28 +93,45 @@ Examples: number.float() ``` -Type-in examples (named params): +```txt +number.float(fractionDigits=2) +``` + +```txt +number.float(multipleOf=0.5) +``` + +```txt +number.float(min=1, max=10) +``` ```txt -number.float(max=1) +number.float(min=1, max=10, fractionDigits=2) ``` ```txt -number.float(min=1) +number.float(min=1, max=10, multipleOf=0.5) ``` ```txt -number.float(multipleOf=1) +number.float(max=10) ``` Example return values: -- `0.5433707701438405` +- `0.417022004702574` +- `0.42` +- `0.5` +- `4.753198042323167` +- `4.75` +- `4.5` +- `4.17022004702574` ### `number.hex` Returns a lowercase hexadecimal number. - Canonical: `awd.domain.number.hex` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -119,17 +146,24 @@ number.hex() ``` ```txt -number.hex(min=1, max=1) +number.hex(max=10, min=1) +``` + +```txt +number.hex(max=5) ``` Example return values: -- `d` +- `6` +- `5` +- `2` ### `number.int` Returns a single random integer between zero and the given max value or the given range. - Canonical: `awd.domain.number.int` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -145,17 +179,29 @@ number.int() ``` ```txt -number.int(min=1, max=1, multipleOf=1) +number.int(max=10, min=1) +``` + +```txt +number.int(max=5) +``` + +```txt +number.int(multipleOf=1) ``` Example return values: -- `5190574431878510` +- `3756200289967619` +- `5` +- `2` +- `3756200289967619` ### `number.octal` Returns an octal string. - Canonical: `awd.domain.number.octal` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -170,17 +216,24 @@ number.octal() ``` ```txt -number.octal(max=1, min=1) +number.octal(max=5) +``` + +```txt +number.octal(max=10, min=1) ``` Example return values: -- `6` +- `3` +- `2` +- `5` ### `number.romanNumeral` Returns a roman numeral in String format. - Canonical: `awd.domain.number.romanNumeral` +- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -195,8 +248,14 @@ number.romanNumeral() ``` ```txt -number.romanNumeral(min=1, max=1) +number.romanNumeral(max=10, min=1) +``` + +```txt +number.romanNumeral(max=5) ``` Example return values: -- `XXXV` +- `MDCLXVIII` +- `V` +- `III` diff --git a/docs-src/docs/040-test-data/domain/230-person.md b/docs-src/docs/040-test-data/domain/230-person.md index b073ee7d..bc57508c 100644 --- a/docs-src/docs/040-test-data/domain/230-person.md +++ b/docs-src/docs/040-test-data/domain/230-person.md @@ -19,6 +19,7 @@ The `person` domain maps domain keywords to underlying faker implementations. Returns a random short biography - Canonical: `awd.domain.person.bio` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -26,22 +27,23 @@ No parameters. Examples: ```txt -person.bio() +person.bio ``` Example return values: -- `musician` +- `person, activist, entrepreneur ✌🏿` ### `person.firstName` Returns a random first name. - Canonical: `awd.domain.person.firstName` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `sex` | `string` | no | Optional sex for first-name selection. Valid values: female or male. | +| `sex` | `female\|male` | no | Optional sex for first-name selection. Valid values: female or male. | Examples: @@ -50,17 +52,19 @@ person.firstName() ``` ```txt -person.firstName(sex="male") +person.firstName(sex="female") ``` Example return values: -- `David` +- `Aaliyah` +- `Monique` ### `person.fullName` Generates a random full name. - Canonical: `awd.domain.person.fullName` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -68,17 +72,18 @@ No parameters. Examples: ```txt -person.fullName() +person.fullName ``` Example return values: -- `Mrs. Sheryl Zemlak DVM` +- `Aaliyah Corkery` ### `person.gender` Returns a random gender. - Canonical: `awd.domain.person.gender` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -86,17 +91,18 @@ No parameters. Examples: ```txt -person.gender() +person.gender ``` Example return values: -- `Female to male` +- `Genderflux` ### `person.jobArea` Generates a random job area. - Canonical: `awd.domain.person.jobArea` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -104,17 +110,18 @@ No parameters. Examples: ```txt -person.jobArea() +person.jobArea ``` Example return values: -- `Branding` +- `Group` ### `person.jobDescriptor` Generates a random job descriptor. - Canonical: `awd.domain.person.jobDescriptor` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -122,17 +129,18 @@ No parameters. Examples: ```txt -person.jobDescriptor() +person.jobDescriptor ``` Example return values: -- `Direct` +- `Regional` ### `person.jobTitle` Generates a random job title. - Canonical: `awd.domain.person.jobTitle` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -140,17 +148,18 @@ No parameters. Examples: ```txt -person.jobTitle() +person.jobTitle ``` Example return values: -- `Senior Identity Technician` +- `Regional Assurance Supervisor` ### `person.jobType` Generates a random job type. - Canonical: `awd.domain.person.jobType` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -158,22 +167,23 @@ No parameters. Examples: ```txt -person.jobType() +person.jobType ``` Example return values: -- `Engineer` +- `Administrator` ### `person.lastName` Returns a random last name. - Canonical: `awd.domain.person.lastName` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `sex` | `string` | no | Optional sex for last-name selection. Valid values: female or male. | +| `sex` | `female\|male` | no | Optional sex for last-name selection. Valid values: female or male. | Examples: @@ -182,22 +192,24 @@ person.lastName() ``` ```txt -person.lastName(sex="male") +person.lastName(sex="female") ``` Example return values: -- `Bernhard` +- `Abbott` +- `Reichel` ### `person.middleName` Returns a random middle name. - Canonical: `awd.domain.person.middleName` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `sex` | `string` | no | Optional sex for middle-name selection. Valid values: female or male. | +| `sex` | `female\|male` | no | Optional sex for middle-name selection. Valid values: female or male. | Examples: @@ -206,22 +218,24 @@ person.middleName() ``` ```txt -person.middleName(sex="male") +person.middleName(sex="female") ``` Example return values: -- `Ryan` +- `Abigail` +- `Morgan` ### `person.prefix` Returns a random person prefix. - Canonical: `awd.domain.person.prefix` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `sex` | `string` | no | The optional sex to use. Can be either 'female' or 'male'. | +| `sex` | `female\|male` | no | The optional sex to use. Can be either 'female' or 'male'. | Examples: @@ -230,17 +244,19 @@ person.prefix() ``` ```txt -person.prefix(sex="male") +person.prefix(sex="female") ``` Example return values: -- `Mr.` +- `Miss` +- `Ms.` ### `person.sex` Returns a random sex. - Canonical: `awd.domain.person.sex` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -248,17 +264,18 @@ No parameters. Examples: ```txt -person.sex() +person.sex ``` Example return values: -- `male` +- `female` ### `person.sexType` Returns a random sex type. The `SexType` is intended to be used in parameters and conditions. - Canonical: `awd.domain.person.sexType` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -266,17 +283,18 @@ No parameters. Examples: ```txt -person.sexType() +person.sexType ``` Example return values: -- `male` +- `female` ### `person.suffix` Returns a random person suffix. - Canonical: `awd.domain.person.suffix` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -284,17 +302,18 @@ No parameters. Examples: ```txt -person.suffix() +person.suffix ``` Example return values: -- `IV` +- `III` ### `person.zodiacSign` Returns a random zodiac sign. - Canonical: `awd.domain.person.zodiacSign` +- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. @@ -302,7 +321,7 @@ No parameters. Examples: ```txt -person.zodiacSign() +person.zodiacSign ``` Example return values: diff --git a/docs-src/docs/040-test-data/domain/240-phone.md b/docs-src/docs/040-test-data/domain/240-phone.md index 5382edbc..9fa9080f 100644 --- a/docs-src/docs/040-test-data/domain/240-phone.md +++ b/docs-src/docs/040-test-data/domain/240-phone.md @@ -19,6 +19,7 @@ The `phone` domain maps domain keywords to underlying faker implementations. Generates IMEI number. - Canonical: `awd.domain.phone.imei` +- Docs: [https://anywaydata.com/docs/test-data/domain/phone](https://anywaydata.com/docs/test-data/domain/phone) - Faker docs: [https://fakerjs.dev/api/phone](https://fakerjs.dev/api/phone) No parameters. @@ -26,22 +27,23 @@ No parameters. Examples: ```txt -phone.imei() +phone.imei ``` Example return values: -- `44-358223-971834-1` +- `47-031013-354628-7` ### `phone.number` Generates a random phone number. - Canonical: `awd.domain.phone.number` +- Docs: [https://anywaydata.com/docs/test-data/domain/phone](https://anywaydata.com/docs/test-data/domain/phone) - Faker docs: [https://fakerjs.dev/api/phone](https://fakerjs.dev/api/phone) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `style` | `string` | no | Style of the generated phone number: 'human': (default) A human-input phone number, e.g. 555-770-7727 or 555.770.7727 x1234 'national': A phone number in a standardized national format, e.g. (555) 123-4567. 'international': A phone number in the E.123 international format, e.g. +15551234567 | +| `style` | `human\|national\|international` | no | Style of the generated phone number: 'human': (default) A human-input phone number, e.g. 555-770-7727 or 555.770.7727 x1234 'national': A phone number in a standardized national format, e.g. (555) 123-4567. 'international': A phone number in the E.123 international format, e.g. +15551234567 | Examples: @@ -50,8 +52,9 @@ phone.number() ``` ```txt -phone.number(style="human") +phone.number(style="international") ``` Example return values: -- `298.756.9044` +- `1-703-301-3354 x628` +- `+15704101335` diff --git a/docs-src/docs/040-test-data/domain/250-science.md b/docs-src/docs/040-test-data/domain/250-science.md index be9c6a09..c03d545d 100644 --- a/docs-src/docs/040-test-data/domain/250-science.md +++ b/docs-src/docs/040-test-data/domain/250-science.md @@ -19,6 +19,7 @@ The `science` domain maps domain keywords to underlying faker implementations. Generate a value using faker science.chemicalElement. - Canonical: `awd.domain.science.chemicalElement` +- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -science.chemicalElement() +science.chemicalElement ``` Example return values: -- `{"name":"Oxygen","symbol":"O","atomicNumber":8}` +- `{"symbol":"Sn","name":"Tin","atomicNumber":50}` ### `science.chemicalElement.atomicNumber` Generate a chemical element atomic number. - Canonical: `awd.domain.science.chemicalElement.atomicNumber` +- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -science.chemicalElement.atomicNumber() +science.chemicalElement.atomicNumber ``` Example return values: -- `8` +- `50` ### `science.chemicalElement.name` Generate a chemical element name. - Canonical: `awd.domain.science.chemicalElement.name` +- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -science.chemicalElement.name() +science.chemicalElement.name ``` Example return values: -- `Oxygen` +- `Tin` ### `science.chemicalElement.symbol` Generate a chemical element symbol. - Canonical: `awd.domain.science.chemicalElement.symbol` +- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -science.chemicalElement.symbol() +science.chemicalElement.symbol ``` Example return values: -- `O` +- `Sn` ### `science.unit` Returns a random scientific unit. - Canonical: `awd.domain.science.unit` +- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. @@ -98,8 +103,8 @@ No parameters. Examples: ```txt -science.unit() +science.unit ``` Example return values: -- `{"name":"farad","symbol":"F"}` +- `{"name":"watt","symbol":"W"}` diff --git a/docs-src/docs/040-test-data/domain/260-string.md b/docs-src/docs/040-test-data/domain/260-string.md index 44cedd9d..1859bf73 100644 --- a/docs-src/docs/040-test-data/domain/260-string.md +++ b/docs-src/docs/040-test-data/domain/260-string.md @@ -19,12 +19,13 @@ The `string` domain maps domain keywords to underlying faker implementations. Generating a string consisting of letters in the English alphabet. - Canonical: `awd.domain.string.alpha` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | -| `casing` | `string` | no | The casing of the characters. | +| `casing` | `upper\|lower\|mixed` | no | The casing of the characters. | | `exclude` | `array` | no | An array with characters which should be excluded in the generated string. | Examples: @@ -34,23 +35,45 @@ string.alpha() ``` ```txt -string.alpha(length=1, casing="lower", exclude=["item"]) +string.alpha(length=5) +``` + +```txt +string.alpha(casing="upper") +``` + +```txt +string.alpha(length=5, casing="upper") +``` + +```txt +string.alpha(exclude=["A","B","C"]) +``` + +```txt +string.alpha(length=5, casing="upper", exclude=["A","B","C"]) ``` Example return values: -- `R` +- `v` +- `vLaph` +- `K` +- `KSAHD` +- `u` +- `MTDJG` ### `string.alphanumeric` Generating a string consisting of alpha characters and digits. - Canonical: `awd.domain.string.alphanumeric` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | -| `casing` | `string` | no | The casing of the characters. | +| `casing` | `upper\|lower\|mixed` | no | The casing of the characters. | | `exclude` | `array` | no | An array of characters and digits which should be excluded in the generated string. | Examples: @@ -60,17 +83,29 @@ string.alphanumeric() ``` ```txt -string.alphanumeric(length=1, casing="lower", exclude=["item"]) +string.alphanumeric(length=5) +``` + +```txt +string.alphanumeric(casing="upper") +``` + +```txt +string.alphanumeric(exclude=["A","B","C"]) ``` Example return values: -- `s` +- `p` +- `pI0i9` +- `F` +- `o` ### `string.binary` Returns a binary string. - Canonical: `awd.domain.string.binary` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -85,11 +120,17 @@ string.binary() ``` ```txt -string.binary(length=1, prefix="#") +string.binary(length=5) +``` + +```txt +string.binary(prefix="PRE-") ``` Example return values: - `0b0` +- `0b01000` +- `PRE-0` ### `string.counterString` @@ -111,7 +152,7 @@ string.counterString() ``` ```txt -string.counterString(15) +string.counterString(min=15) ``` ```txt @@ -122,15 +163,33 @@ string.counterString(min=5, max=12) string.counterString(min=12, max=12, delimiter="#") ``` +```txt +string.counterString(max=10, min=1) +``` + +```txt +string.counterString(max=12) +``` + +```txt +string.counterString(delimiter="#") +``` + Example return values: +- `*3*5*7*10*13*` - `*3*5*7*9*12*15*` +- `*3*5*7*9*` - `#3#5#7#9#12#` +- `2*4*6*` +- `*3*5*7*` +- `#3#5#7#10#13#` ### `string.fromCharacters` Generates a string from the given characters. - Canonical: `awd.domain.string.fromCharacters` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -141,27 +200,33 @@ Generates a string from the given characters. Examples: ```txt -string.fromCharacters("ABC123", 6) +string.fromCharacters(characters="ABC123", length=6) ``` ```txt string.fromCharacters(characters=["A", "B", "C"], length=4) ``` +```txt +string.fromCharacters(characters="ABC123", length=4) +``` + Example return values: -- `A1B2` -- `CB2A` +- `C2ABAA` +- `BCAA` +- `C2AB` ### `string.hexadecimal` Returns a hexadecimal string. - Canonical: `awd.domain.string.hexadecimal` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `casing` | `string` | no | Casing of the generated number. | +| `casing` | `upper\|lower\|mixed` | no | Casing of the generated number. | | `length` | `number` | no | The length of the string (excluding the prefix) to generate either as a fixed length or as a length range. | | `prefix` | `string` | no | Prefix for the generated number. | @@ -172,17 +237,29 @@ string.hexadecimal() ``` ```txt -string.hexadecimal(casing="lower", length=1, prefix="#") +string.hexadecimal(casing="upper") +``` + +```txt +string.hexadecimal(length=5) +``` + +```txt +string.hexadecimal(prefix="PRE-") ``` Example return values: -- `0x1` +- `0x9` +- `0x9` +- `0x9f063` +- `PRE-9` ### `string.nanoid` Generates a Nano ID. - Canonical: `awd.domain.string.nanoid` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -196,17 +273,19 @@ string.nanoid() ``` ```txt -string.nanoid(length=1) +string.nanoid(length=5) ``` Example return values: -- `KLm49ferlh-eUmJpZdSIO` +- `Ii5lxGSFycYGT2SqxjPK-` +- `Ii5lx` ### `string.numeric` Generates a given length string of digits. - Canonical: `awd.domain.string.numeric` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -222,17 +301,29 @@ string.numeric() ``` ```txt -string.numeric(length=1, allowLeadingZeros=true, exclude=["item"]) +string.numeric(length=5) +``` + +```txt +string.numeric(allowLeadingZeros=true) +``` + +```txt +string.numeric(exclude=["A","B","C"]) ``` Example return values: -- `7` +- `4` +- `47031` +- `4` +- `4` ### `string.octal` Returns an octal string. - Canonical: `awd.domain.string.octal` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -247,17 +338,24 @@ string.octal() ``` ```txt -string.octal(length=1, prefix="#") +string.octal(length=5) +``` + +```txt +string.octal(prefix="PRE-") ``` Example return values: -- `0o6` +- `0o3` +- `0o35021` +- `PRE-3` ### `string.sample` Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`). - Canonical: `awd.domain.string.sample` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -271,17 +369,19 @@ string.sample() ``` ```txt -string.sample(length=1) +string.sample(length=5) ``` Example return values: -- `\Fw;0e:G.H` +- `Gc!=.)2AES` +- `Gc!=.` ### `string.symbol` Returns a string containing only special characters from the following list: - Canonical: `awd.domain.string.symbol` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -295,17 +395,19 @@ string.symbol() ``` ```txt -string.symbol(length=1) +string.symbol(length=5) ``` Example return values: - `.` +- `.\!*%` ### `string.ulid` Returns a ULID (Universally Unique Lexicographically Sortable Identifier). - Canonical: `awd.domain.string.ulid` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -319,23 +421,25 @@ string.ulid() ``` ```txt -string.ulid(refDate=1) +string.ulid(refDate=1718755200000) ``` Example return values: -- `01KQADM2A0728G4D2HKCPWKS6N` +- `01KVDQ3AJ0DQ09425BCHDN6W0N` +- `01J0PWP300DQ09425BCHDN6W0N` ### `string.uuid` Returns a UUID (Universally Unique Identifier). - Canonical: `awd.domain.string.uuid` +- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `version` | `4\|7` | no | The specific UUID version to use. If `refDate` is supplied and `version` is omitted, version `7` is used automatically. | -| `refDate` | `string\|number\|date` | no | The timestamp to encode into the UUID. This is only valid for UUID v7. If `refDate` is supplied and `version` is omitted, version `7` is used automatically. Providing `refDate` with version `4` is invalid. | +| `version` | `4\|7` | no | The specific UUID version to use. If refDate is supplied and version is omitted, version 7 is used automatically. | +| `refDate` | `string\|number\|date` | no | The timestamp to encode into the UUID. This is only valid for UUID v7. If refDate is supplied and version is omitted, version 7 is used automatically. Providing refDate with version 4 is invalid. | Examples: @@ -344,8 +448,14 @@ string.uuid() ``` ```txt -string.uuid(refDate=1) +string.uuid(version=7) +``` + +```txt +string.uuid(refDate="2026-06-18T00:00:00.000Z") ``` Example return values: -- `0628ae51-7b6c-4d33-9f24-dae19fb245df` +- `6b042125-686a-43e0-8a68-23cf5bee102e` +- `019edb71-aa40-76b0-8421-25686a3e0a68` +- `019ed807-0800-76b0-8421-25686a3e0a68` diff --git a/docs-src/docs/040-test-data/domain/270-system.md b/docs-src/docs/040-test-data/domain/270-system.md index 25ff2991..20b506bb 100644 --- a/docs-src/docs/040-test-data/domain/270-system.md +++ b/docs-src/docs/040-test-data/domain/270-system.md @@ -19,6 +19,7 @@ The `system` domain maps domain keywords to underlying faker implementations. Returns a commonly used file extension. - Canonical: `awd.domain.system.commonFileExt` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -system.commonFileExt() +system.commonFileExt ``` Example return values: -- `pdf` +- `png` ### `system.commonFileName` Returns a random file name with a given extension or a commonly used extension. - Canonical: `awd.domain.system.commonFileName` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) | Arg | Type | Required | Description | @@ -54,13 +56,15 @@ system.commonFileName(extension="txt") ``` Example return values: -- `bleak.pdf` +- `fog_aboard.mp4v` +- `fog_aboard.txt` ### `system.commonFileType` Returns a commonly used file type. - Canonical: `awd.domain.system.commonFileType` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -68,17 +72,18 @@ No parameters. Examples: ```txt -system.commonFileType() +system.commonFileType ``` Example return values: -- `video` +- `image` ### `system.cron` Returns a random cron expression. - Canonical: `awd.domain.system.cron` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) | Arg | Type | Required | Description | @@ -93,17 +98,24 @@ system.cron() ``` ```txt -system.cron(includeNonStandard=true, includeYear=true) +system.cron(includeNonStandard=true) +``` + +```txt +system.cron(includeYear=true) ``` Example return values: -- `* 15 * * SAT` +- `25 17 * 4 *` +- `@annually` +- `25 17 * 4 * 1994` ### `system.directoryPath` Returns a directory path. - Canonical: `awd.domain.system.directoryPath` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -111,17 +123,18 @@ No parameters. Examples: ```txt -system.directoryPath() +system.directoryPath ``` Example return values: -- `/bin` +- `/opt/include` ### `system.fileExt` Returns a file extension. - Canonical: `awd.domain.system.fileExt` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) | Arg | Type | Required | Description | @@ -139,13 +152,15 @@ system.fileExt(mimeType="image/png") ``` Example return values: -- `xsl` +- `7z` +- `7z` ### `system.fileName` Returns a random file name with extension. - Canonical: `awd.domain.system.fileName` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -153,17 +168,18 @@ No parameters. Examples: ```txt -system.fileName() +system.fileName ``` Example return values: -- `unsightly.woff` +- `fog_aboard.otf` ### `system.filePath` Returns a file path. - Canonical: `awd.domain.system.filePath` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -171,17 +187,18 @@ No parameters. Examples: ```txt -system.filePath() +system.filePath ``` Example return values: -- `/tmp/ouch.xlt` +- `/opt/include/down_reproachfully_besides.woff2` ### `system.fileType` Returns a file type. - Canonical: `awd.domain.system.fileType` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -189,7 +206,7 @@ No parameters. Examples: ```txt -system.fileType() +system.fileType ``` Example return values: @@ -200,6 +217,7 @@ Example return values: Returns a mime-type. - Canonical: `awd.domain.system.mimeType` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -207,17 +225,18 @@ No parameters. Examples: ```txt -system.mimeType() +system.mimeType ``` Example return values: -- `application/gzip` +- `application/x-httpd-php` ### `system.networkInterface` Returns a random network interface. - Canonical: `awd.domain.system.networkInterface` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -225,17 +244,18 @@ No parameters. Examples: ```txt -system.networkInterface() +system.networkInterface ``` Example return values: -- `wlx3fba717f9f9c` +- `wlx042125686a3e` ### `system.semver` Returns a semantic version. - Canonical: `awd.domain.system.semver` +- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. @@ -243,8 +263,8 @@ No parameters. Examples: ```txt -system.semver() +system.semver ``` Example return values: -- `4.3.6` +- `4.15.0` diff --git a/docs-src/docs/040-test-data/domain/280-vehicle.md b/docs-src/docs/040-test-data/domain/280-vehicle.md index 5d0c5443..03d7f39a 100644 --- a/docs-src/docs/040-test-data/domain/280-vehicle.md +++ b/docs-src/docs/040-test-data/domain/280-vehicle.md @@ -19,6 +19,7 @@ The `vehicle` domain maps domain keywords to underlying faker implementations. Returns a type of bicycle. - Canonical: `awd.domain.vehicle.bicycle` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -26,17 +27,18 @@ No parameters. Examples: ```txt -vehicle.bicycle() +vehicle.bicycle ``` Example return values: -- `Touring Bicycle` +- `Flat-Foot Comfort Bicycle` ### `vehicle.color` Returns a vehicle color. - Canonical: `awd.domain.vehicle.color` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -44,17 +46,18 @@ No parameters. Examples: ```txt -vehicle.color() +vehicle.color ``` Example return values: -- `sky blue` +- `magenta` ### `vehicle.fuel` Returns a fuel type. - Canonical: `awd.domain.vehicle.fuel` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -62,17 +65,18 @@ No parameters. Examples: ```txt -vehicle.fuel() +vehicle.fuel ``` Example return values: -- `Gasoline` +- `Electric` ### `vehicle.manufacturer` Returns a manufacturer name. - Canonical: `awd.domain.vehicle.manufacturer` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -80,17 +84,18 @@ No parameters. Examples: ```txt -vehicle.manufacturer() +vehicle.manufacturer ``` Example return values: -- `Hyundai` +- `Lamborghini` ### `vehicle.model` Returns a vehicle model. - Canonical: `awd.domain.vehicle.model` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -98,17 +103,18 @@ No parameters. Examples: ```txt -vehicle.model() +vehicle.model ``` Example return values: -- `Aventador` +- `Escalade` ### `vehicle.type` Returns a vehicle type. - Canonical: `awd.domain.vehicle.type` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -116,17 +122,18 @@ No parameters. Examples: ```txt -vehicle.type() +vehicle.type ``` Example return values: -- `Hatchback` +- `Extended Cab Pickup` ### `vehicle.vehicle` Returns a random vehicle. - Canonical: `awd.domain.vehicle.vehicle` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -134,17 +141,18 @@ No parameters. Examples: ```txt -vehicle.vehicle() +vehicle.vehicle ``` Example return values: -- `Ford CTS` +- `Lamborghini Model X` ### `vehicle.vin` Returns a vehicle identification number (VIN). - Canonical: `awd.domain.vehicle.vin` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -152,17 +160,18 @@ No parameters. Examples: ```txt -vehicle.vin() +vehicle.vin ``` Example return values: -- `7SJ9N0LM3LM265056` +- `DP09436BDHKN28064` ### `vehicle.vrm` Returns a vehicle registration number (Vehicle Registration Mark - VRM) - Canonical: `awd.domain.vehicle.vrm` +- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. @@ -170,8 +179,8 @@ No parameters. Examples: ```txt -vehicle.vrm() +vehicle.vrm ``` Example return values: -- `OD11RTZ` +- `KS03DCE` diff --git a/docs-src/docs/040-test-data/domain/290-word.md b/docs-src/docs/040-test-data/domain/290-word.md index 6ad5f96e..88f87f22 100644 --- a/docs-src/docs/040-test-data/domain/290-word.md +++ b/docs-src/docs/040-test-data/domain/290-word.md @@ -19,13 +19,14 @@ The `word` domain maps domain keywords to underlying faker implementations. Returns a random adjective. - Canonical: `awd.domain.word.adjective` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -34,24 +35,36 @@ word.adjective() ``` ```txt -word.adjective(length=1, max=1, strategy="any-length") +word.adjective(length=5) +``` + +```txt +word.adjective(max=5) +``` + +```txt +word.adjective(strategy="any-length") ``` Example return values: -- `heavenly` +- `inferior` +- `major` +- `inferior` +- `inferior` ### `word.adverb` Returns a random adverb. - Canonical: `awd.domain.word.adverb` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -60,24 +73,36 @@ word.adverb() ``` ```txt -word.adverb(length=1, max=1, strategy="any-length") +word.adverb(length=5) +``` + +```txt +word.adverb(max=5) +``` + +```txt +word.adverb(strategy="any-length") ``` Example return values: -- `selfishly` +- `knavishly` +- `never` +- `knavishly` +- `knavishly` ### `word.conjunction` Returns a random conjunction. - Canonical: `awd.domain.word.conjunction` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -86,24 +111,36 @@ word.conjunction() ``` ```txt -word.conjunction(length=1, max=1, strategy="any-length") +word.conjunction(length=5) +``` + +```txt +word.conjunction(max=5) +``` + +```txt +word.conjunction(strategy="any-length") ``` Example return values: -- `indeed` +- `likewise` +- `until` +- `likewise` +- `likewise` ### `word.interjection` Returns a random interjection. - Canonical: `awd.domain.word.interjection` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -112,24 +149,36 @@ word.interjection() ``` ```txt -word.interjection(length=1, max=1, strategy="any-length") +word.interjection(length=5) +``` + +```txt +word.interjection(max=5) +``` + +```txt +word.interjection(strategy="any-length") ``` Example return values: -- `er` +- `woot` +- `fooey` +- `woot` +- `woot` ### `word.noun` Returns a random noun. - Canonical: `awd.domain.word.noun` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -138,24 +187,36 @@ word.noun() ``` ```txt -word.noun(length=1, max=1, strategy="any-length") +word.noun(length=5) +``` + +```txt +word.noun(max=5) +``` + +```txt +word.noun(strategy="any-length") ``` Example return values: -- `cook` +- `heating` +- `humor` +- `heating` +- `heating` ### `word.preposition` Returns a random preposition. - Canonical: `awd.domain.word.preposition` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -164,24 +225,36 @@ word.preposition() ``` ```txt -word.preposition(length=1, max=1, strategy="any-length") +word.preposition(length=5) +``` + +```txt +word.preposition(max=5) +``` + +```txt +word.preposition(strategy="any-length") ``` Example return values: -- `beside` +- `except` +- `aside` +- `except` +- `except` ### `word.sample` Returns a random word, that can be an adjective, adverb, conjunction, interjection, noun, preposition, or verb. - Canonical: `awd.domain.word.sample` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -190,24 +263,36 @@ word.sample() ``` ```txt -word.sample(length=1, max=1, strategy="any-length") +word.sample(length=5) +``` + +```txt +word.sample(max=5) +``` + +```txt +word.sample(strategy="any-length") ``` Example return values: -- `snoopy` +- `boohoo` +- `yowza` +- `boohoo` +- `boohoo` ### `word.verb` Returns a random verb. - Canonical: `awd.domain.word.verb` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | | --- | --- | --- | --- | | `length` | `number` | no | Desired length of the generated value. | | `max` | `number` | no | Maximum bound used when generating a value. | -| `strategy` | `string` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | +| `strategy` | `fail\|closest\|shortest\|longest\|any-length` | no | The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length. | Examples: @@ -216,17 +301,29 @@ word.verb() ``` ```txt -word.verb(length=1, max=1, strategy="any-length") +word.verb(length=5) +``` + +```txt +word.verb(max=5) +``` + +```txt +word.verb(strategy="any-length") ``` Example return values: -- `embalm` +- `hunger` +- `mould` +- `hunger` +- `hunger` ### `word.words` Returns a random string containing some words separated by spaces. - Canonical: `awd.domain.word.words` +- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -241,8 +338,14 @@ word.words() ``` ```txt -word.words(count=1, max=1) +word.words(count=5) +``` + +```txt +word.words(max=5) ``` Example return values: -- `geez` +- `fog aboard` +- `boohoo pish tenderly above pop` +- `fog aboard` diff --git a/docs/faker-10.4.0-comparison-report.md b/docs/faker-10.4.0-comparison-report.md index 56435604..c6b03caf 100644 --- a/docs/faker-10.4.0-comparison-report.md +++ b/docs/faker-10.4.0-comparison-report.md @@ -54,9 +54,6 @@ These are already on borrowed time in the current curation and should be address - `image.urlPlaceholder` - `internet.userName` - `internet.color` -- `image.urlLoremFlickr` - -`image.urlLoremFlickr` still resolves in faker `10.4.0`, but the runtime emitted a deprecation warning saying it has been deprecated since `10.1.0` and is scheduled for removal in `11.0.0`. ## New Public Commands In Faker 10.4.0 diff --git a/docs/faker-options-param-report.md b/docs/faker-options-param-report.md index 77468326..468195c8 100644 --- a/docs/faker-options-param-report.md +++ b/docs/faker-options-param-report.md @@ -58,7 +58,6 @@ Generated from `packages/core/js/faker/faker-command-help-metadata.js` in the cu - `image.dataUri` - `image.personPortrait` - `image.url` -- `image.urlLoremFlickr` - `image.urlPicsumPhotos` - `internet.displayName` - `internet.emoji` diff --git a/packages/core-ui/js/gui_components/shared/domain-command-help-metadata.js b/packages/core-ui/js/gui_components/shared/domain-command-help-metadata.js index 22a7f4f8..4fa5cb47 100644 --- a/packages/core-ui/js/gui_components/shared/domain-command-help-metadata.js +++ b/packages/core-ui/js/gui_components/shared/domain-command-help-metadata.js @@ -1,4 +1,6 @@ import { getDomainKeywordHelpByAlias } from '@anywaydata/core/domain/domain-keywords.js'; +import { normalizeUsageExamples } from '@anywaydata/core/command-help/command-help-contract.js'; +import { validateEnumMemberValue } from '@anywaydata/core/command-help/command-help-validators.js'; const ANYWAYDATA_DOMAIN_DOCS_BASE = 'https://anywaydata.com/docs/test-data/domain'; @@ -8,10 +10,15 @@ const SYNTHETIC_DOMAIN_HELP = Object.freeze({ summary: 'Enum helper accepts a list of values and returns one value at random. Supports enum(value1,value2), enum value1,value2, or datatype.enum(value1,value2).', docsUrl: `${ANYWAYDATA_DOMAIN_DOCS_BASE}/datatype`, - example: 'datatype.enum(active,inactive,pending)', - examples: ['datatype.enum(active,inactive,pending)'], - exampleReturnValues: ['active', 'inactive', 'pending'], + usageExamples: [ + { + functionCall: 'datatype.enum(active,inactive,pending)', + sampleReturnValue: 'active', + description: 'Shows the canonical datatype enum helper with three discrete values.', + }, + ], returnType: 'string', + validator: validateEnumMemberValue, args: [ { name: 'values', @@ -25,6 +32,26 @@ const SYNTHETIC_DOMAIN_HELP = Object.freeze({ }, }); +function normalizeSyntheticDomainHelp(command, definition) { + const args = Array.isArray(definition?.args) ? definition.args : []; + const usageExamples = normalizeUsageExamples({ + command, + returnType: definition?.returnType, + usageExamples: definition?.usageExamples, + }); + + return { + canonical: definition.canonical, + summary: definition.summary, + docsUrl: definition.docsUrl, + fakerDocsUrl: String(definition.fakerDocsUrl || '').trim(), + usageExamples, + validator: definition?.validator, + returnType: definition.returnType, + args, + }; +} + function getDomainPageFromCommand(command) { const value = String(command || '').trim(); if (!value.includes('.')) { @@ -54,9 +81,10 @@ function resolveDomainDocsUrl(command, keywordDocsUrl) { } function getDomainCommandHelp(command) { - const synthetic = SYNTHETIC_DOMAIN_HELP[String(command || '').trim()]; + const normalizedCommand = String(command || '').trim(); + const synthetic = SYNTHETIC_DOMAIN_HELP[normalizedCommand]; if (synthetic) { - return synthetic; + return normalizeSyntheticDomainHelp(normalizedCommand, synthetic); } const commandHelp = getDomainKeywordHelpByAlias(command); if (!commandHelp) { @@ -67,9 +95,9 @@ function getDomainCommandHelp(command) { canonical: commandHelp.canonical, summary: commandHelp.summary || '', docsUrl: resolveDomainDocsUrl(command, commandHelp.docsUrl || ''), - example: commandHelp.example || '', - examples: Array.isArray(commandHelp.examples) ? commandHelp.examples : [], - exampleReturnValues: Array.isArray(commandHelp.exampleReturnValues) ? commandHelp.exampleReturnValues : [], + fakerDocsUrl: String(commandHelp.fakerDocsUrl || '').trim(), + usageExamples: Array.isArray(commandHelp.usageExamples) ? commandHelp.usageExamples : [], + validator: commandHelp.validator, returnType: commandHelp.returnType || '', args: Array.isArray(commandHelp.args) ? commandHelp.args : [], }; diff --git a/packages/core-ui/js/gui_components/shared/test-data/help/help-model-builder.js b/packages/core-ui/js/gui_components/shared/test-data/help/help-model-builder.js index 71802ef8..837dacc7 100644 --- a/packages/core-ui/js/gui_components/shared/test-data/help/help-model-builder.js +++ b/packages/core-ui/js/gui_components/shared/test-data/help/help-model-builder.js @@ -113,6 +113,18 @@ function buildSchemaParamsHint(params) { return `(${params.map((param) => param.name).join(', ')})`; } +function getPrimaryUsageExample(model = {}) { + const usageExamples = Array.isArray(model?.usageExamples) ? model.usageExamples : []; + const firstUsageExample = usageExamples.find( + (usageExample) => typeof usageExample?.functionCall === 'string' && usageExample.functionCall.trim().length > 0 + ); + if (firstUsageExample) { + return firstUsageExample.functionCall.trim(); + } + const example = String(model?.example || '').trim(); + return example; +} + function renderSchemaHelpHtml(model) { if (!model?.show) { return ''; @@ -145,8 +157,9 @@ function renderSchemaHelpHtml(model) { sections.push(`

Params:

    ${paramItems}
`); } - if (model.example) { - sections.push(`

Example: ${escapeHtml(model.example)}

`); + const primaryUsageExample = getPrimaryUsageExample(model); + if (primaryUsageExample) { + sections.push(`

Example: ${escapeHtml(primaryUsageExample)}

`); } else if (model.kind === 'command') { sections.push('

Example: Output depends on your selected params.

'); } @@ -172,6 +185,14 @@ function buildTypeHelpModel(typeName, summary, docsUrl, { params = [], example = docsUrl, params, example, + usageExamples: example + ? [ + { + functionCall: example, + description: `${typeName} example usage.`, + }, + ] + : [], }; } @@ -252,10 +273,9 @@ function buildSchemaHelpModel(sourceType, commandValue) { heading: `faker.${command}`, summary: commandHelp?.summary || `Generates data using faker.${command}.`, docsUrl: resolveFakerDocsUrl(command, commandHelp?.docsUrl), + fakerDocsUrl: String(commandHelp?.fakerDocsUrl || '').trim(), params: normalizeHelpParams(commandHelp?.params || []), - example: commandHelp?.example || '', - examples: Array.isArray(commandHelp?.examples) ? commandHelp.examples : [], - exampleReturnValues: Array.isArray(commandHelp?.exampleReturnValues) ? commandHelp.exampleReturnValues : [], + usageExamples: Array.isArray(commandHelp?.usageExamples) ? commandHelp.usageExamples : [], }; } @@ -276,10 +296,9 @@ function buildSchemaHelpModel(sourceType, commandValue) { heading: commandHelp?.canonical || command, summary: commandHelp?.summary || `Generates data using ${commandHelp?.canonical || command}.`, docsUrl: commandHelp?.docsUrl || HELP_URLS.domain, + fakerDocsUrl: String(commandHelp?.fakerDocsUrl || '').trim(), params: resolveDomainHelpParams(command, commandHelp), - example: commandHelp?.example || '', - examples: Array.isArray(commandHelp?.examples) ? commandHelp.examples : [], - exampleReturnValues: Array.isArray(commandHelp?.exampleReturnValues) ? commandHelp.exampleReturnValues : [], + usageExamples: Array.isArray(commandHelp?.usageExamples) ? commandHelp.usageExamples : [], }; } diff --git a/packages/core-ui/js/gui_components/shared/test-data/ui/method-picker-modal.js b/packages/core-ui/js/gui_components/shared/test-data/ui/method-picker-modal.js index c4c2b6aa..b422658d 100644 --- a/packages/core-ui/js/gui_components/shared/test-data/ui/method-picker-modal.js +++ b/packages/core-ui/js/gui_components/shared/test-data/ui/method-picker-modal.js @@ -38,18 +38,23 @@ function writeRecent(windowObj, entries) { function buildSearchText(option) { const params = Array.isArray(option?.helpModel?.params) ? option.helpModel.params.map((p) => p?.name || '') : []; - const usageExamples = toExampleList(option?.helpModel?.examples); + const usageExamples = getUsageFunctionCalls(option?.helpModel); const returnExamples = getReturnExamples(option?.helpModel); return [ option.command, option.helpModel?.summary || '', - option.helpModel?.example || '', usageExamples.join(' '), returnExamples.join(' '), params.join(' '), ].join(' '); } +function getUsageFunctionCalls(model) { + return (Array.isArray(model?.usageExamples) ? model.usageExamples : []) + .map((usageExample) => String(usageExample?.functionCall || '').trim()) + .filter(Boolean); +} + function toExampleList(value) { if (Array.isArray(value)) { return value.map((entry) => String(entry || '').trim()).filter(Boolean); @@ -58,6 +63,26 @@ function toExampleList(value) { return single ? [single] : []; } +function normalizeReturnExampleValue(value) { + if (typeof value === 'bigint') { + return `${value}n`; + } + + if (Array.isArray(value)) { + return JSON.stringify(value); + } + + if (value instanceof Date) { + return value.toISOString(); + } + + if (value && typeof value === 'object') { + return JSON.stringify(value); + } + + return String(value); +} + function ensureCriticalStyles(documentObj) { if (!documentObj?.head || documentObj.getElementById(CRITICAL_STYLE_ID)) { return; @@ -178,13 +203,14 @@ function renderExampleList(examples, emptyText) { function getReturnExamples(model) { const unique = new Set(); - const add = (value) => { - toExampleList(value).forEach((entry) => unique.add(entry)); - }; - add(model?.example); - add(model?.exampleReturnValues); - add(model?.returnExamples); - return [...unique]; + const usageExamples = Array.isArray(model?.usageExamples) ? model.usageExamples : []; + usageExamples.forEach((usageExample) => { + if (Object.prototype.hasOwnProperty.call(usageExample || {}, 'sampleReturnValue')) { + unique.add(normalizeReturnExampleValue(usageExample.sampleReturnValue).trim()); + } + }); + toExampleList(model?.returnExamples).forEach((entry) => unique.add(entry)); + return [...unique].filter(Boolean); } function openMethodPickerModal({ @@ -301,7 +327,7 @@ function openMethodPickerModal({ return; } const model = selected.helpModel || {}; - const usageExamples = toExampleList(model.examples); + const usageExamples = getUsageFunctionCalls(model); const returnExamples = getReturnExamples(model); const docsUrl = String(model.docsUrl || '').trim(); const hasParams = Array.isArray(model.params) && model.params.length > 0; diff --git a/packages/core-ui/src/tests/generator/data-generator-page.test.js b/packages/core-ui/src/tests/generator/data-generator-page.test.js index 9414b518..db579e54 100644 --- a/packages/core-ui/src/tests/generator/data-generator-page.test.js +++ b/packages/core-ui/src/tests/generator/data-generator-page.test.js @@ -1052,7 +1052,7 @@ describe('generator page runtime factories', () => { expect(rowElem.querySelector('[data-field="command"]')).not.toBeNull(); expect(rowElem.querySelector('[data-field="faker-doc-link"]').hidden).toBe(false); expect(rowElem.querySelector('[data-field="faker-doc-link"]').getAttribute('href')).toBe( - 'https://fakerjs.dev/api/word' + 'https://anywaydata.com/docs/test-data/domain/word' ); expect(rowElem.querySelector('[data-field="params"]')).not.toBeNull(); expect(rowElem.querySelector('[data-field="value"]')).toBeNull(); @@ -1241,7 +1241,7 @@ describe('generator page runtime factories', () => { const helpLink = document.querySelector('[data-field="faker-doc-link"]'); expect(helpLink.hidden).toBe(false); - expect(helpLink.getAttribute('href')).toBe('https://fakerjs.dev/api/number'); + expect(helpLink.getAttribute('href')).toBe('https://anywaydata.com/docs/test-data/domain/number'); expect(helpLink.getAttribute('aria-label')).toBe('Faker command help: number.int'); expect(helpLink.getAttribute('data-help-text')).toContain('faker.number.int'); expect(helpLink.getAttribute('data-help-text')).toContain('Call:'); diff --git a/packages/core-ui/src/tests/grid/schema/test-data-schema-grid-engine-compat.test.js b/packages/core-ui/src/tests/grid/schema/test-data-schema-grid-engine-compat.test.js index 44157ea2..539b61ef 100644 --- a/packages/core-ui/src/tests/grid/schema/test-data-schema-grid-engine-compat.test.js +++ b/packages/core-ui/src/tests/grid/schema/test-data-schema-grid-engine-compat.test.js @@ -23,15 +23,19 @@ describe('test data schema editor compatibility', () => { } beforeEach(() => { - dom = new JSDOM('
'); + dom = new JSDOM('
', { + url: 'https://example.test/', + }); global.window = dom.window; global.document = dom.window.document; global.Event = dom.window.Event; + global.localStorage = dom.window.localStorage; global.RandExp = function RandExp() {}; }); afterEach(() => { dom.window.close(); + delete global.localStorage; }); function setup(gridExtras = {}) { @@ -102,7 +106,7 @@ describe('test data schema editor compatibility', () => { expect(document.querySelector('[data-role="population-status"]').textContent).toContain( 'Generate complete. Grid and preview updated.' ); - }); + }, 30000); test('invalid schema reports validation error', async () => { setup(); diff --git a/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js b/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js index a87a3124..c5a7018a 100644 --- a/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js +++ b/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js @@ -15,7 +15,7 @@ import { jest } from '@jest/globals'; import { TEST_DATA_GRID_SAMPLE_SCHEMA_TEXT } from '../../../js/gui_components/shared/test-data/schema/schema-examples.js'; import { createFocusedAppTestDataHarness } from './support/focused-app-test-data-harness.js'; -jest.setTimeout(15000); +jest.setTimeout(45000); describe('app test-data focused schema sync', () => { let harness; @@ -97,5 +97,5 @@ describe('app test-data focused schema sync', () => { ); expect(harness.getSchemaText()).not.toContain('Status'); expect(harness.getSchemaText()).toContain('Code'); - }); + }, 45000); }); diff --git a/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix-summary.md b/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix-summary.md index eaae13d5..4a13a6df 100644 --- a/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix-summary.md +++ b/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix-summary.md @@ -162,7 +162,6 @@ Non-executable scenario count: **11** - `image.dataUri` - `image.personPortrait` - `image.url` -- `image.urlLoremFlickr` - `image.urlPicsumPhotos` - `internet.displayName` - `internet.domainName` @@ -2510,9 +2509,6 @@ Non-executable scenario count: **11** ``` -#### `domain-image-urlLoremFlickr-base` - -- Command(s): `image.urlLoremFlickr()` - Preview data: ```csv @@ -5577,7 +5573,6 @@ Non-executable scenario count: **0** - `image.dataUri` - `image.personPortrait` - `image.url` -- `image.urlLoremFlickr` - `image.urlPicsumPhotos` - `internet.displayName` - `internet.domainName` @@ -7868,9 +7863,6 @@ Non-executable scenario count: **0** ``` -#### `domain-image-urlLoremFlickr-base` - -- Command(s): `image.urlLoremFlickr()` - Preview data: ```csv @@ -11045,4 +11037,3 @@ Structural-only preview parity scenario count: **5** ``` - diff --git a/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix.json b/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix.json index cca96317..2b88174b 100644 --- a/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix.json +++ b/packages/core-ui/src/tests/interaction/matrix/fixtures/schema-interaction-matrix.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-06-17T13:02:55.544Z", + "generatedAt": "2026-06-18T21:33:49.483Z", "coverageScenarios": [ { "id": "coverage:custom-enum-base", @@ -233,7 +233,7 @@ "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": [], "origins": ["base"], "scenarioId": "faker-helpers-arrayElements-base" @@ -256,11 +256,34 @@ "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["array", "count"], "origins": ["example"], "scenarioId": "faker-helpers-arrayElements-example-1" }, + { + "id": "coverage:faker-helpers-arrayElements-example-2", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\",\"B\",\"C\"], 5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\",\"B\",\"C\"], 5)", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\",\"B\",\"C\"], 5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array", "count"], + "origins": ["example"], + "scenarioId": "faker-helpers-arrayElements-example-2" + }, { "id": "coverage:faker-helpers-arrayElements-arg-array", "sourceType": "faker", @@ -279,7 +302,7 @@ "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["array"], "origins": ["arg"], "scenarioId": "faker-helpers-arrayElements-arg-array" @@ -302,7 +325,7 @@ "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["count"], "origins": ["arg"], "scenarioId": "faker-helpers-arrayElements-arg-count" @@ -325,7 +348,7 @@ "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["array", "count"], "origins": ["pair"], "scenarioId": "faker-helpers-arrayElements-pair-array-count" @@ -478,12 +501,12 @@ "name": "Value", "sourceType": "faker", "command": "helpers.maybe", - "params": "(\"helpers-maybe-callback\")", + "params": "(\"() => unknown\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\")", - "expectedUiSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\")", + "expectedSchemaText": "Value\nhelpers.maybe(\"() => unknown\")", + "expectedUiSchemaText": "Value\nhelpers.maybe(\"() => unknown\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -514,6 +537,29 @@ "origins": ["example"], "scenarioId": "faker-helpers-maybe-example-1" }, + { + "id": "coverage:faker-helpers-maybe-example-2", + "sourceType": "faker", + "command": "helpers.maybe", + "label": "helpers.maybe example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.maybe", + "params": "(() => \"enabled\", { probability: 1 })", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.maybe(() => \"enabled\", { probability: 1 })", + "expectedUiSchemaText": "Value\nhelpers.maybe(() => \"enabled\", { probability: 1 })", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["callback", "options"], + "origins": ["example"], + "scenarioId": "faker-helpers-maybe-example-2" + }, { "id": "coverage:faker-helpers-maybe-arg-callback", "sourceType": "faker", @@ -524,12 +570,12 @@ "name": "Value", "sourceType": "faker", "command": "helpers.maybe", - "params": "(\"helpers-maybe-callback\")", + "params": "(\"() => unknown\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\")", - "expectedUiSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\")", + "expectedSchemaText": "Value\nhelpers.maybe(\"() => unknown\")", + "expectedUiSchemaText": "Value\nhelpers.maybe(\"() => unknown\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -547,12 +593,12 @@ "name": "Value", "sourceType": "faker", "command": "helpers.maybe", - "params": "(\"helpers-maybe-callback\", {})", + "params": "(\"() => unknown\", {})", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\", {})", - "expectedUiSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\", {})", + "expectedSchemaText": "Value\nhelpers.maybe(\"() => unknown\", {})", + "expectedUiSchemaText": "Value\nhelpers.maybe(\"() => unknown\", {})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -570,12 +616,12 @@ "name": "Value", "sourceType": "faker", "command": "helpers.maybe", - "params": "(\"helpers-maybe-callback\", {})", + "params": "(\"() => unknown\", {})", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\", {})", - "expectedUiSchemaText": "Value\nhelpers.maybe(\"helpers-maybe-callback\", {})", + "expectedSchemaText": "Value\nhelpers.maybe(\"() => unknown\", {})", + "expectedUiSchemaText": "Value\nhelpers.maybe(\"() => unknown\", {})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -593,15 +639,15 @@ "name": "Value", "sourceType": "faker", "command": "helpers.multiple", - "params": "(\"helpers-multiple-method\")", + "params": "(\"() => unknown\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\")", - "expectedUiSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\")", + "expectedSchemaText": "Value\nhelpers.multiple(\"() => unknown\")", + "expectedUiSchemaText": "Value\nhelpers.multiple(\"() => unknown\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": [], "origins": ["base"], "scenarioId": "faker-helpers-multiple-base" @@ -616,19 +662,42 @@ "name": "Value", "sourceType": "faker", "command": "helpers.multiple", - "params": "(() => faker.person.firstName(), { count: 3 })", + "params": "(() => \"sample\", { count: 3 })", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.multiple(() => faker.person.firstName(), { count: 3 })", - "expectedUiSchemaText": "Value\nhelpers.multiple(() => faker.person.firstName(), { count: 3 })", + "expectedSchemaText": "Value\nhelpers.multiple(() => \"sample\", { count: 3 })", + "expectedUiSchemaText": "Value\nhelpers.multiple(() => \"sample\", { count: 3 })", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["method", "options"], "origins": ["example"], "scenarioId": "faker-helpers-multiple-example-1" }, + { + "id": "coverage:faker-helpers-multiple-example-2", + "sourceType": "faker", + "command": "helpers.multiple", + "label": "helpers.multiple example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.multiple", + "params": "(() => \"sample\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.multiple(() => \"sample\")", + "expectedUiSchemaText": "Value\nhelpers.multiple(() => \"sample\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["method", "options"], + "origins": ["example"], + "scenarioId": "faker-helpers-multiple-example-2" + }, { "id": "coverage:faker-helpers-multiple-arg-method", "sourceType": "faker", @@ -639,15 +708,15 @@ "name": "Value", "sourceType": "faker", "command": "helpers.multiple", - "params": "(\"helpers-multiple-method\")", + "params": "(\"() => unknown\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\")", - "expectedUiSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\")", + "expectedSchemaText": "Value\nhelpers.multiple(\"() => unknown\")", + "expectedUiSchemaText": "Value\nhelpers.multiple(\"() => unknown\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["method"], "origins": ["arg"], "scenarioId": "faker-helpers-multiple-arg-method" @@ -662,15 +731,15 @@ "name": "Value", "sourceType": "faker", "command": "helpers.multiple", - "params": "(\"helpers-multiple-method\", 3)", + "params": "(\"() => unknown\", 3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\", 3)", - "expectedUiSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\", 3)", + "expectedSchemaText": "Value\nhelpers.multiple(\"() => unknown\", 3)", + "expectedUiSchemaText": "Value\nhelpers.multiple(\"() => unknown\", 3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["options"], "origins": ["arg"], "scenarioId": "faker-helpers-multiple-arg-options" @@ -685,15 +754,15 @@ "name": "Value", "sourceType": "faker", "command": "helpers.multiple", - "params": "(\"helpers-multiple-method\", 3)", + "params": "(\"() => unknown\", 3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\", 3)", - "expectedUiSchemaText": "Value\nhelpers.multiple(\"helpers-multiple-method\", 3)", + "expectedSchemaText": "Value\nhelpers.multiple(\"() => unknown\", 3)", + "expectedUiSchemaText": "Value\nhelpers.multiple(\"() => unknown\", 3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["method", "options"], "origins": ["pair"], "scenarioId": "faker-helpers-multiple-pair-method-options" @@ -910,6 +979,29 @@ "sourceType": "faker", "command": "helpers.replaceCreditCardSymbols", "label": "helpers.replaceCreditCardSymbols example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string", "symbol"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-1" + }, + { + "id": "coverage:faker-helpers-replaceCreditCardSymbols-example-2", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols example 2", "rows": [ { "name": "Value", @@ -926,7 +1018,30 @@ "expectStructuredSerialization": false, "coveredArgs": ["string", "symbol"], "origins": ["example"], - "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-1" + "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-2" + }, + { + "id": "coverage:faker-helpers-replaceCreditCardSymbols-example-3", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols example 3", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "(\"1234-****-****-L\", \"*\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-****-****-L\", \"*\")", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-****-****-L\", \"*\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string", "symbol"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-3" }, { "id": "coverage:faker-helpers-replaceCreditCardSymbols-arg-string", @@ -1043,6 +1158,29 @@ "origins": ["example"], "scenarioId": "faker-helpers-replaceSymbols-example-1" }, + { + "id": "coverage:faker-helpers-replaceSymbols-example-2", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "label": "helpers.replaceSymbols example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedUiSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceSymbols-example-2" + }, { "id": "coverage:faker-helpers-replaceSymbols-arg-string", "sourceType": "faker", @@ -1084,7 +1222,7 @@ "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": [], "origins": ["base"], "scenarioId": "faker-helpers-shuffle-base" @@ -1107,7 +1245,7 @@ "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["array"], "origins": ["example"], "scenarioId": "faker-helpers-shuffle-example-1" @@ -1130,7 +1268,7 @@ "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["array"], "origins": ["arg"], "scenarioId": "faker-helpers-shuffle-arg-array" @@ -1181,6 +1319,29 @@ "origins": ["example"], "scenarioId": "faker-helpers-slugify-example-1" }, + { + "id": "coverage:faker-helpers-slugify-example-2", + "sourceType": "faker", + "command": "helpers.slugify", + "label": "helpers.slugify example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.slugify", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.slugify()", + "expectedUiSchemaText": "Value\nhelpers.slugify()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["example"], + "scenarioId": "faker-helpers-slugify-example-2" + }, { "id": "coverage:faker-helpers-slugify-arg-string", "sourceType": "faker", @@ -1222,7 +1383,7 @@ "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": [], "origins": ["base"], "scenarioId": "faker-helpers-uniqueArray-base" @@ -1245,7 +1406,7 @@ "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"red\", \"green\", \"blue\"], 2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["source", "length"], "origins": ["example"], "scenarioId": "faker-helpers-uniqueArray-example-1" @@ -1268,7 +1429,7 @@ "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["source"], "origins": ["arg"], "scenarioId": "faker-helpers-uniqueArray-arg-source" @@ -1291,7 +1452,7 @@ "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["length"], "origins": ["arg"], "scenarioId": "faker-helpers-uniqueArray-arg-length" @@ -1314,7 +1475,7 @@ "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["source", "length"], "origins": ["pair"], "scenarioId": "faker-helpers-uniqueArray-pair-source-length" @@ -1411,6 +1572,29 @@ "origins": ["base"], "scenarioId": "domain-airline-aircraftType-base" }, + { + "id": "coverage:domain-airline-aircraftType-example-1", + "sourceType": "domain", + "command": "airline.aircraftType", + "label": "airline.aircraftType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.aircraftType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.aircraftType()", + "expectedUiSchemaText": "Value\nairline.aircraftType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-aircraftType-example-1" + }, { "id": "coverage:domain-airline-flightNumber-base", "sourceType": "domain", @@ -1434,6 +1618,29 @@ "origins": ["base"], "scenarioId": "domain-airline-flightNumber-base" }, + { + "id": "coverage:domain-airline-flightNumber-example-1", + "sourceType": "domain", + "command": "airline.flightNumber", + "label": "airline.flightNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.flightNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.flightNumber()", + "expectedUiSchemaText": "Value\nairline.flightNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-flightNumber-example-1" + }, { "id": "coverage:domain-airline-iataCode-base", "sourceType": "domain", @@ -1457,6 +1664,29 @@ "origins": ["base"], "scenarioId": "domain-airline-iataCode-base" }, + { + "id": "coverage:domain-airline-iataCode-example-1", + "sourceType": "domain", + "command": "airline.iataCode", + "label": "airline.iataCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.iataCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.iataCode()", + "expectedUiSchemaText": "Value\nairline.iataCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-iataCode-example-1" + }, { "id": "coverage:domain-airline-name-base", "sourceType": "domain", @@ -1480,6 +1710,29 @@ "origins": ["base"], "scenarioId": "domain-airline-name-base" }, + { + "id": "coverage:domain-airline-name-example-1", + "sourceType": "domain", + "command": "airline.name", + "label": "airline.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.name()", + "expectedUiSchemaText": "Value\nairline.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-name-example-1" + }, { "id": "coverage:domain-airline-recordLocator-base", "sourceType": "domain", @@ -1503,6 +1756,29 @@ "origins": ["base"], "scenarioId": "domain-airline-recordLocator-base" }, + { + "id": "coverage:domain-airline-recordLocator-example-1", + "sourceType": "domain", + "command": "airline.recordLocator", + "label": "airline.recordLocator example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.recordLocator", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.recordLocator()", + "expectedUiSchemaText": "Value\nairline.recordLocator()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-recordLocator-example-1" + }, { "id": "coverage:domain-airline-seat-base", "sourceType": "domain", @@ -1572,6 +1848,29 @@ "origins": ["example"], "scenarioId": "domain-airline-seat-example-2" }, + { + "id": "coverage:domain-airline-seat-example-3", + "sourceType": "domain", + "command": "airline.seat", + "label": "airline.seat example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.seat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.seat()", + "expectedUiSchemaText": "Value\nairline.seat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["aircraftType"], + "origins": ["example"], + "scenarioId": "domain-airline-seat-example-3" + }, { "id": "coverage:domain-airline-seat-arg-aircraftType", "sourceType": "domain", @@ -1618,6 +1917,29 @@ "origins": ["base"], "scenarioId": "domain-airplane-iataTypeCode-base" }, + { + "id": "coverage:domain-airplane-iataTypeCode-example-1", + "sourceType": "domain", + "command": "airplane.iataTypeCode", + "label": "airplane.iataTypeCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airplane.iataTypeCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairplane.iataTypeCode()", + "expectedUiSchemaText": "Value\nairplane.iataTypeCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airplane-iataTypeCode-example-1" + }, { "id": "coverage:domain-airplane-name-base", "sourceType": "domain", @@ -1641,6 +1963,29 @@ "origins": ["base"], "scenarioId": "domain-airplane-name-base" }, + { + "id": "coverage:domain-airplane-name-example-1", + "sourceType": "domain", + "command": "airplane.name", + "label": "airplane.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airplane.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairplane.name()", + "expectedUiSchemaText": "Value\nairplane.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airplane-name-example-1" + }, { "id": "coverage:domain-airport-iataCode-base", "sourceType": "domain", @@ -1664,6 +2009,29 @@ "origins": ["base"], "scenarioId": "domain-airport-iataCode-base" }, + { + "id": "coverage:domain-airport-iataCode-example-1", + "sourceType": "domain", + "command": "airport.iataCode", + "label": "airport.iataCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airport.iataCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairport.iataCode()", + "expectedUiSchemaText": "Value\nairport.iataCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airport-iataCode-example-1" + }, { "id": "coverage:domain-airport-name-base", "sourceType": "domain", @@ -1687,6 +2055,29 @@ "origins": ["base"], "scenarioId": "domain-airport-name-base" }, + { + "id": "coverage:domain-airport-name-example-1", + "sourceType": "domain", + "command": "airport.name", + "label": "airport.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airport.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairport.name()", + "expectedUiSchemaText": "Value\nairport.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airport-name-example-1" + }, { "id": "coverage:domain-animal-bear-base", "sourceType": "domain", @@ -1710,6 +2101,29 @@ "origins": ["base"], "scenarioId": "domain-animal-bear-base" }, + { + "id": "coverage:domain-animal-bear-example-1", + "sourceType": "domain", + "command": "animal.bear", + "label": "animal.bear example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.bear", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.bear()", + "expectedUiSchemaText": "Value\nanimal.bear()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-bear-example-1" + }, { "id": "coverage:domain-animal-bird-base", "sourceType": "domain", @@ -1733,6 +2147,29 @@ "origins": ["base"], "scenarioId": "domain-animal-bird-base" }, + { + "id": "coverage:domain-animal-bird-example-1", + "sourceType": "domain", + "command": "animal.bird", + "label": "animal.bird example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.bird", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.bird()", + "expectedUiSchemaText": "Value\nanimal.bird()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-bird-example-1" + }, { "id": "coverage:domain-animal-cat-base", "sourceType": "domain", @@ -1756,6 +2193,29 @@ "origins": ["base"], "scenarioId": "domain-animal-cat-base" }, + { + "id": "coverage:domain-animal-cat-example-1", + "sourceType": "domain", + "command": "animal.cat", + "label": "animal.cat example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cat()", + "expectedUiSchemaText": "Value\nanimal.cat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-cat-example-1" + }, { "id": "coverage:domain-animal-cetacean-base", "sourceType": "domain", @@ -1779,6 +2239,29 @@ "origins": ["base"], "scenarioId": "domain-animal-cetacean-base" }, + { + "id": "coverage:domain-animal-cetacean-example-1", + "sourceType": "domain", + "command": "animal.cetacean", + "label": "animal.cetacean example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cetacean", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cetacean()", + "expectedUiSchemaText": "Value\nanimal.cetacean()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-cetacean-example-1" + }, { "id": "coverage:domain-animal-cow-base", "sourceType": "domain", @@ -1802,6 +2285,29 @@ "origins": ["base"], "scenarioId": "domain-animal-cow-base" }, + { + "id": "coverage:domain-animal-cow-example-1", + "sourceType": "domain", + "command": "animal.cow", + "label": "animal.cow example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cow", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cow()", + "expectedUiSchemaText": "Value\nanimal.cow()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-cow-example-1" + }, { "id": "coverage:domain-animal-crocodilia-base", "sourceType": "domain", @@ -1825,6 +2331,29 @@ "origins": ["base"], "scenarioId": "domain-animal-crocodilia-base" }, + { + "id": "coverage:domain-animal-crocodilia-example-1", + "sourceType": "domain", + "command": "animal.crocodilia", + "label": "animal.crocodilia example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.crocodilia", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.crocodilia()", + "expectedUiSchemaText": "Value\nanimal.crocodilia()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-crocodilia-example-1" + }, { "id": "coverage:domain-animal-dog-base", "sourceType": "domain", @@ -1848,6 +2377,29 @@ "origins": ["base"], "scenarioId": "domain-animal-dog-base" }, + { + "id": "coverage:domain-animal-dog-example-1", + "sourceType": "domain", + "command": "animal.dog", + "label": "animal.dog example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.dog", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.dog()", + "expectedUiSchemaText": "Value\nanimal.dog()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-dog-example-1" + }, { "id": "coverage:domain-animal-fish-base", "sourceType": "domain", @@ -1871,6 +2423,29 @@ "origins": ["base"], "scenarioId": "domain-animal-fish-base" }, + { + "id": "coverage:domain-animal-fish-example-1", + "sourceType": "domain", + "command": "animal.fish", + "label": "animal.fish example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.fish", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.fish()", + "expectedUiSchemaText": "Value\nanimal.fish()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-fish-example-1" + }, { "id": "coverage:domain-animal-horse-base", "sourceType": "domain", @@ -1894,6 +2469,29 @@ "origins": ["base"], "scenarioId": "domain-animal-horse-base" }, + { + "id": "coverage:domain-animal-horse-example-1", + "sourceType": "domain", + "command": "animal.horse", + "label": "animal.horse example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.horse", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.horse()", + "expectedUiSchemaText": "Value\nanimal.horse()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-horse-example-1" + }, { "id": "coverage:domain-animal-insect-base", "sourceType": "domain", @@ -1917,6 +2515,29 @@ "origins": ["base"], "scenarioId": "domain-animal-insect-base" }, + { + "id": "coverage:domain-animal-insect-example-1", + "sourceType": "domain", + "command": "animal.insect", + "label": "animal.insect example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.insect", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.insect()", + "expectedUiSchemaText": "Value\nanimal.insect()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-insect-example-1" + }, { "id": "coverage:domain-animal-lion-base", "sourceType": "domain", @@ -1940,6 +2561,29 @@ "origins": ["base"], "scenarioId": "domain-animal-lion-base" }, + { + "id": "coverage:domain-animal-lion-example-1", + "sourceType": "domain", + "command": "animal.lion", + "label": "animal.lion example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.lion", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.lion()", + "expectedUiSchemaText": "Value\nanimal.lion()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-lion-example-1" + }, { "id": "coverage:domain-animal-petName-base", "sourceType": "domain", @@ -1963,6 +2607,29 @@ "origins": ["base"], "scenarioId": "domain-animal-petName-base" }, + { + "id": "coverage:domain-animal-petName-example-1", + "sourceType": "domain", + "command": "animal.petName", + "label": "animal.petName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.petName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.petName()", + "expectedUiSchemaText": "Value\nanimal.petName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-petName-example-1" + }, { "id": "coverage:domain-animal-rabbit-base", "sourceType": "domain", @@ -1986,6 +2653,29 @@ "origins": ["base"], "scenarioId": "domain-animal-rabbit-base" }, + { + "id": "coverage:domain-animal-rabbit-example-1", + "sourceType": "domain", + "command": "animal.rabbit", + "label": "animal.rabbit example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.rabbit", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.rabbit()", + "expectedUiSchemaText": "Value\nanimal.rabbit()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-rabbit-example-1" + }, { "id": "coverage:domain-animal-rodent-base", "sourceType": "domain", @@ -2009,6 +2699,29 @@ "origins": ["base"], "scenarioId": "domain-animal-rodent-base" }, + { + "id": "coverage:domain-animal-rodent-example-1", + "sourceType": "domain", + "command": "animal.rodent", + "label": "animal.rodent example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.rodent", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.rodent()", + "expectedUiSchemaText": "Value\nanimal.rodent()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-rodent-example-1" + }, { "id": "coverage:domain-animal-snake-base", "sourceType": "domain", @@ -2032,6 +2745,29 @@ "origins": ["base"], "scenarioId": "domain-animal-snake-base" }, + { + "id": "coverage:domain-animal-snake-example-1", + "sourceType": "domain", + "command": "animal.snake", + "label": "animal.snake example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.snake", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.snake()", + "expectedUiSchemaText": "Value\nanimal.snake()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-snake-example-1" + }, { "id": "coverage:domain-animal-type-base", "sourceType": "domain", @@ -2055,6 +2791,29 @@ "origins": ["base"], "scenarioId": "domain-animal-type-base" }, + { + "id": "coverage:domain-animal-type-example-1", + "sourceType": "domain", + "command": "animal.type", + "label": "animal.type example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.type()", + "expectedUiSchemaText": "Value\nanimal.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-type-example-1" + }, { "id": "coverage:domain-autoIncrement-sequence-base", "sourceType": "domain", @@ -2147,6 +2906,121 @@ "origins": ["example"], "scenarioId": "domain-autoIncrement-sequence-example-3" }, + { + "id": "coverage:domain-autoIncrement-sequence-example-4", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(start=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-4" + }, + { + "id": "coverage:domain-autoIncrement-sequence-example-5", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(step=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-5" + }, + { + "id": "coverage:domain-autoIncrement-sequence-example-6", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(prefix=\"filename\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-6" + }, + { + "id": "coverage:domain-autoIncrement-sequence-example-7", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 7", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(suffix=\".txt\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-7" + }, + { + "id": "coverage:domain-autoIncrement-sequence-example-8", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 8", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(zeropadding=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-8" + }, { "id": "coverage:domain-autoIncrement-sequence-arg-start", "sourceType": "domain", @@ -2387,12 +3261,12 @@ "name": "Value", "sourceType": "domain", "command": "autoIncrement.timestamp", - "params": "()", + "params": "(start=\"2026-06-12T12:39:23Z\", step=1, type=\"seconds\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp()", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp()", + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1, type=\"seconds\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1, type=\"seconds\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -2410,12 +3284,12 @@ "name": "Value", "sourceType": "domain", "command": "autoIncrement.timestamp", - "params": "(start=\"20/03/1969\", step=1, type=\"days\")", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", + "expectedSchemaText": "Value\nautoIncrement.timestamp()", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -2433,12 +3307,12 @@ "name": "Value", "sourceType": "domain", "command": "autoIncrement.timestamp", - "params": "(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "params": "(start=\"20/03/1969\", step=1, type=\"days\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -2446,6 +3320,167 @@ "origins": ["example"], "scenarioId": "domain-autoIncrement-timestamp-example-3" }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-4", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-4" + }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-5", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\", step=1, type=\"days\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\", step=1, type=\"days\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\", step=1, type=\"days\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-5" + }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-6", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12T12:39:23Z\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-6" + }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-7", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 7", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(step=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-7" + }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-8", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 8", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(type=\"seconds\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-8" + }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-9", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 9", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(outputFormat=\"iso8601\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-9" + }, + { + "id": "coverage:domain-autoIncrement-timestamp-example-10", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 10", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-10" + }, { "id": "coverage:domain-autoIncrement-timestamp-arg-start", "sourceType": "domain", @@ -2676,6 +3711,29 @@ "origins": ["base"], "scenarioId": "domain-book-author-base" }, + { + "id": "coverage:domain-book-author-example-1", + "sourceType": "domain", + "command": "book.author", + "label": "book.author example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.author", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.author()", + "expectedUiSchemaText": "Value\nbook.author()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-author-example-1" + }, { "id": "coverage:domain-book-format-base", "sourceType": "domain", @@ -2699,6 +3757,29 @@ "origins": ["base"], "scenarioId": "domain-book-format-base" }, + { + "id": "coverage:domain-book-format-example-1", + "sourceType": "domain", + "command": "book.format", + "label": "book.format example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.format", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.format()", + "expectedUiSchemaText": "Value\nbook.format()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-format-example-1" + }, { "id": "coverage:domain-book-genre-base", "sourceType": "domain", @@ -2722,6 +3803,29 @@ "origins": ["base"], "scenarioId": "domain-book-genre-base" }, + { + "id": "coverage:domain-book-genre-example-1", + "sourceType": "domain", + "command": "book.genre", + "label": "book.genre example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.genre", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.genre()", + "expectedUiSchemaText": "Value\nbook.genre()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-genre-example-1" + }, { "id": "coverage:domain-book-publisher-base", "sourceType": "domain", @@ -2745,6 +3849,29 @@ "origins": ["base"], "scenarioId": "domain-book-publisher-base" }, + { + "id": "coverage:domain-book-publisher-example-1", + "sourceType": "domain", + "command": "book.publisher", + "label": "book.publisher example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.publisher", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.publisher()", + "expectedUiSchemaText": "Value\nbook.publisher()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-publisher-example-1" + }, { "id": "coverage:domain-book-series-base", "sourceType": "domain", @@ -2768,6 +3895,29 @@ "origins": ["base"], "scenarioId": "domain-book-series-base" }, + { + "id": "coverage:domain-book-series-example-1", + "sourceType": "domain", + "command": "book.series", + "label": "book.series example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.series", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.series()", + "expectedUiSchemaText": "Value\nbook.series()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-series-example-1" + }, { "id": "coverage:domain-book-title-base", "sourceType": "domain", @@ -2791,6 +3941,29 @@ "origins": ["base"], "scenarioId": "domain-book-title-base" }, + { + "id": "coverage:domain-book-title-example-1", + "sourceType": "domain", + "command": "book.title", + "label": "book.title example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.title", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.title()", + "expectedUiSchemaText": "Value\nbook.title()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-title-example-1" + }, { "id": "coverage:domain-chemicalElement-atomicNumber-base", "sourceType": "domain", @@ -2814,6 +3987,29 @@ "origins": ["base"], "scenarioId": "domain-chemicalElement-atomicNumber-base" }, + { + "id": "coverage:domain-chemicalElement-atomicNumber-example-1", + "sourceType": "domain", + "command": "chemicalElement.atomicNumber", + "label": "chemicalElement.atomicNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.atomicNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedUiSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-chemicalElement-atomicNumber-example-1" + }, { "id": "coverage:domain-chemicalElement-name-base", "sourceType": "domain", @@ -2838,25290 +4034,45898 @@ "scenarioId": "domain-chemicalElement-name-base" }, { - "id": "coverage:domain-chemicalElement-symbol-base", + "id": "coverage:domain-chemicalElement-name-example-1", "sourceType": "domain", - "command": "chemicalElement.symbol", - "label": "chemicalElement.symbol", + "command": "chemicalElement.name", + "label": "chemicalElement.name example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "chemicalElement.symbol", + "command": "chemicalElement.name", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nchemicalElement.symbol()", - "expectedUiSchemaText": "Value\nchemicalElement.symbol()", + "expectedSchemaText": "Value\nchemicalElement.name()", + "expectedUiSchemaText": "Value\nchemicalElement.name()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-chemicalElement-symbol-base" + "origins": ["example"], + "scenarioId": "domain-chemicalElement-name-example-1" }, { - "id": "coverage:domain-color-cssSupportedFunction-base", + "id": "coverage:domain-chemicalElement-symbol-base", "sourceType": "domain", - "command": "color.cssSupportedFunction", - "label": "color.cssSupportedFunction", + "command": "chemicalElement.symbol", + "label": "chemicalElement.symbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.cssSupportedFunction", + "command": "chemicalElement.symbol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.cssSupportedFunction()", - "expectedUiSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedSchemaText": "Value\nchemicalElement.symbol()", + "expectedUiSchemaText": "Value\nchemicalElement.symbol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-color-cssSupportedFunction-base" + "scenarioId": "domain-chemicalElement-symbol-base" }, { - "id": "coverage:domain-color-cssSupportedSpace-base", + "id": "coverage:domain-chemicalElement-symbol-example-1", "sourceType": "domain", - "command": "color.cssSupportedSpace", - "label": "color.cssSupportedSpace", + "command": "chemicalElement.symbol", + "label": "chemicalElement.symbol example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.cssSupportedSpace", + "command": "chemicalElement.symbol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.cssSupportedSpace()", - "expectedUiSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedSchemaText": "Value\nchemicalElement.symbol()", + "expectedUiSchemaText": "Value\nchemicalElement.symbol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-color-cssSupportedSpace-base" + "origins": ["example"], + "scenarioId": "domain-chemicalElement-symbol-example-1" }, { - "id": "coverage:domain-color-human-base", + "id": "coverage:domain-color-cmyk-base", "sourceType": "domain", - "command": "color.human", - "label": "color.human", + "command": "color.cmyk", + "label": "color.cmyk", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.human", + "command": "color.cmyk", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.human()", - "expectedUiSchemaText": "Value\ncolor.human()", + "expectedSchemaText": "Value\ncolor.cmyk()", + "expectedUiSchemaText": "Value\ncolor.cmyk()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-color-human-base" + "scenarioId": "domain-color-cmyk-base" }, { - "id": "coverage:domain-color-rgb-base", + "id": "coverage:domain-color-cmyk-example-1", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb", + "command": "color.cmyk", + "label": "color.cmyk example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", + "command": "color.cmyk", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb()", - "expectedUiSchemaText": "Value\ncolor.rgb()", + "expectedSchemaText": "Value\ncolor.cmyk()", + "expectedUiSchemaText": "Value\ncolor.cmyk()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-color-rgb-base" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-cmyk-example-1" }, { - "id": "coverage:domain-color-rgb-arg-casing", + "id": "coverage:domain-color-cmyk-example-2", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg casing", + "command": "color.cmyk", + "label": "color.cmyk example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(casing=\"upper\")", + "command": "color.cmyk", + "params": "(format=\"decimal\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\")", - "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedSchemaText": "Value\ncolor.cmyk(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.cmyk(format=\"decimal\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], - "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-casing" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-cmyk-example-2" }, { - "id": "coverage:domain-color-rgb-arg-format", + "id": "coverage:domain-color-cmyk-arg-format", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg format", + "command": "color.cmyk", + "label": "color.cmyk arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(format=\"hex\")", + "command": "color.cmyk", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\")", - "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedSchemaText": "Value\ncolor.cmyk(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.cmyk(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["format"], "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-format" + "scenarioId": "domain-color-cmyk-arg-format" }, { - "id": "coverage:domain-color-rgb-arg-includeAlpha", + "id": "coverage:domain-color-colorByCSSColorSpace-base", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg includeAlpha", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(includeAlpha=true)", + "command": "color.colorByCSSColorSpace", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true)", - "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace()", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeAlpha"], - "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-includeAlpha" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-colorByCSSColorSpace-base" }, { - "id": "coverage:domain-color-rgb-arg-prefix", + "id": "coverage:domain-color-colorByCSSColorSpace-example-1", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg prefix", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(prefix=\"#\")", + "command": "color.colorByCSSColorSpace", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(prefix=\"#\")", - "expectedUiSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace()", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-prefix" + "coveredArgs": ["format", "space"], + "origins": ["example"], + "scenarioId": "domain-color-colorByCSSColorSpace-example-1" }, { - "id": "coverage:domain-color-rgb-pair-casing-format", + "id": "coverage:domain-color-colorByCSSColorSpace-example-2", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb pair casing/format", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(casing=\"upper\", format=\"hex\")", + "command": "color.colorByCSSColorSpace", + "params": "(format=\"decimal\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", - "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"decimal\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "format"], - "origins": ["pair"], - "scenarioId": "domain-color-rgb-pair-casing-format" + "coveredArgs": ["format", "space"], + "origins": ["example"], + "scenarioId": "domain-color-colorByCSSColorSpace-example-2" }, { - "id": "coverage:domain-color-rgb-pair-format-includeAlpha", + "id": "coverage:domain-color-colorByCSSColorSpace-example-3", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb pair format/includeAlpha", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(format=\"hex\", includeAlpha=true)", + "command": "color.colorByCSSColorSpace", + "params": "(space=\"display-p3\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", - "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"display-p3\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"display-p3\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["format", "includeAlpha"], - "origins": ["pair"], - "scenarioId": "domain-color-rgb-pair-format-includeAlpha" + "coveredArgs": ["format", "space"], + "origins": ["example"], + "scenarioId": "domain-color-colorByCSSColorSpace-example-3" }, { - "id": "coverage:domain-color-rgb-pair-includeAlpha-prefix", + "id": "coverage:domain-color-colorByCSSColorSpace-arg-format", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb pair includeAlpha/prefix", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(includeAlpha=true, prefix=\"#\")", + "command": "color.colorByCSSColorSpace", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", - "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeAlpha", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-color-rgb-pair-includeAlpha-prefix" + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-colorByCSSColorSpace-arg-format" }, { - "id": "coverage:domain-color-space-base", + "id": "coverage:domain-color-colorByCSSColorSpace-arg-space", "sourceType": "domain", - "command": "color.space", - "label": "color.space", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace arg space", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.space", - "params": "()", + "command": "color.colorByCSSColorSpace", + "params": "(space=\"sRGB\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.space()", - "expectedUiSchemaText": "Value\ncolor.space()", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"sRGB\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"sRGB\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-color-space-base" + "coveredArgs": ["space"], + "origins": ["arg"], + "scenarioId": "domain-color-colorByCSSColorSpace-arg-space" }, { - "id": "coverage:domain-commerce-department-base", + "id": "coverage:domain-color-colorByCSSColorSpace-pair-format-space", "sourceType": "domain", - "command": "commerce.department", - "label": "commerce.department", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace pair format/space", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.department", - "params": "()", + "command": "color.colorByCSSColorSpace", + "params": "(format=\"css\", space=\"sRGB\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.department()", - "expectedUiSchemaText": "Value\ncommerce.department()", + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\", space=\"sRGB\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\", space=\"sRGB\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-department-base" + "coveredArgs": ["format", "space"], + "origins": ["pair"], + "scenarioId": "domain-color-colorByCSSColorSpace-pair-format-space" }, { - "id": "coverage:domain-commerce-isbn-base", + "id": "coverage:domain-color-cssSupportedFunction-base", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn", + "command": "color.cssSupportedFunction", + "label": "color.cssSupportedFunction", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", + "command": "color.cssSupportedFunction", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn()", - "expectedUiSchemaText": "Value\ncommerce.isbn()", + "expectedSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedFunction()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-commerce-isbn-base" + "scenarioId": "domain-color-cssSupportedFunction-base" }, { - "id": "coverage:domain-commerce-isbn-arg-separator", + "id": "coverage:domain-color-cssSupportedFunction-example-1", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn arg separator", + "command": "color.cssSupportedFunction", + "label": "color.cssSupportedFunction example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", - "params": "(separator=\"-\")", + "command": "color.cssSupportedFunction", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\")", - "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedFunction()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-commerce-isbn-arg-separator" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-color-cssSupportedFunction-example-1" }, { - "id": "coverage:domain-commerce-isbn-arg-variant", + "id": "coverage:domain-color-cssSupportedSpace-base", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn arg variant", + "command": "color.cssSupportedSpace", + "label": "color.cssSupportedSpace", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", - "params": "(variant=\"13\")", + "command": "color.cssSupportedSpace", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn(variant=\"13\")", - "expectedUiSchemaText": "Value\ncommerce.isbn(variant=\"13\")", + "expectedSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedSpace()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["variant"], - "origins": ["arg"], - "scenarioId": "domain-commerce-isbn-arg-variant" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-cssSupportedSpace-base" }, { - "id": "coverage:domain-commerce-isbn-pair-separator-variant", + "id": "coverage:domain-color-cssSupportedSpace-example-1", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn pair separator/variant", + "command": "color.cssSupportedSpace", + "label": "color.cssSupportedSpace example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", - "params": "(separator=\"-\", variant=\"13\")", + "command": "color.cssSupportedSpace", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=\"13\")", - "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=\"13\")", + "expectedSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedSpace()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator", "variant"], - "origins": ["pair"], - "scenarioId": "domain-commerce-isbn-pair-separator-variant" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-color-cssSupportedSpace-example-1" }, { - "id": "coverage:domain-commerce-price-base", + "id": "coverage:domain-color-hsl-base", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price", + "command": "color.hsl", + "label": "color.hsl", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", + "command": "color.hsl", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price()", - "expectedUiSchemaText": "Value\ncommerce.price()", + "expectedSchemaText": "Value\ncolor.hsl()", + "expectedUiSchemaText": "Value\ncolor.hsl()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-commerce-price-base" + "scenarioId": "domain-color-hsl-base" }, { - "id": "coverage:domain-commerce-price-example-1", + "id": "coverage:domain-color-hsl-example-1", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price example 1", + "command": "color.hsl", + "label": "color.hsl example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(dec=2, max=10, min=1, symbol=\"$\")", + "command": "color.hsl", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", - "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", + "expectedSchemaText": "Value\ncolor.hsl()", + "expectedUiSchemaText": "Value\ncolor.hsl()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec", "max", "min", "symbol"], + "coveredArgs": ["format", "includeAlpha"], "origins": ["example"], - "scenarioId": "domain-commerce-price-example-1" + "scenarioId": "domain-color-hsl-example-1" }, { - "id": "coverage:domain-commerce-price-arg-dec", + "id": "coverage:domain-color-hsl-example-2", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg dec", + "command": "color.hsl", + "label": "color.hsl example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(dec=2)", + "command": "color.hsl", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(dec=2)", - "expectedUiSchemaText": "Value\ncommerce.price(dec=2)", + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-dec" + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-2" }, { - "id": "coverage:domain-commerce-price-arg-max", + "id": "coverage:domain-color-hsl-example-3", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg max", + "command": "color.hsl", + "label": "color.hsl example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(max=100)", + "command": "color.hsl", + "params": "(includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(max=100)", - "expectedUiSchemaText": "Value\ncommerce.price(max=100)", + "expectedSchemaText": "Value\ncolor.hsl(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-max" + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-3" }, { - "id": "coverage:domain-commerce-price-arg-min", + "id": "coverage:domain-color-hsl-example-4", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg min", + "command": "color.hsl", + "label": "color.hsl example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(min=1)", + "command": "color.hsl", + "params": "(format=\"css\", includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(min=1)", - "expectedUiSchemaText": "Value\ncommerce.price(min=1)", + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-min" + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-4" }, { - "id": "coverage:domain-commerce-price-arg-symbol", + "id": "coverage:domain-color-hsl-arg-format", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg symbol", + "command": "color.hsl", + "label": "color.hsl arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(symbol=\"$\")", + "command": "color.hsl", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(symbol=\"$\")", - "expectedUiSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["symbol"], + "coveredArgs": ["format"], "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-symbol" + "scenarioId": "domain-color-hsl-arg-format" }, { - "id": "coverage:domain-commerce-price-pair-dec-max", + "id": "coverage:domain-color-hsl-arg-includeAlpha", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price pair dec/max", + "command": "color.hsl", + "label": "color.hsl arg includeAlpha", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(dec=2, max=100)", + "command": "color.hsl", + "params": "(includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(dec=2, max=100)", - "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=100)", + "expectedSchemaText": "Value\ncolor.hsl(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec", "max"], - "origins": ["pair"], - "scenarioId": "domain-commerce-price-pair-dec-max" + "coveredArgs": ["includeAlpha"], + "origins": ["arg"], + "scenarioId": "domain-color-hsl-arg-includeAlpha" }, { - "id": "coverage:domain-commerce-price-pair-max-min", + "id": "coverage:domain-color-hsl-pair-format-includeAlpha", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price pair max/min", + "command": "color.hsl", + "label": "color.hsl pair format/includeAlpha", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(max=100, min=1)", + "command": "color.hsl", + "params": "(format=\"css\", includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(max=100, min=1)", - "expectedUiSchemaText": "Value\ncommerce.price(max=100, min=1)", + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], + "coveredArgs": ["format", "includeAlpha"], "origins": ["pair"], - "scenarioId": "domain-commerce-price-pair-max-min" + "scenarioId": "domain-color-hsl-pair-format-includeAlpha" }, { - "id": "coverage:domain-commerce-price-pair-min-symbol", + "id": "coverage:domain-color-human-base", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price pair min/symbol", + "command": "color.human", + "label": "color.human", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(min=1, symbol=\"$\")", + "command": "color.human", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", - "expectedUiSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", + "expectedSchemaText": "Value\ncolor.human()", + "expectedUiSchemaText": "Value\ncolor.human()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "symbol"], - "origins": ["pair"], - "scenarioId": "domain-commerce-price-pair-min-symbol" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-human-base" }, { - "id": "coverage:domain-commerce-product-base", + "id": "coverage:domain-color-human-example-1", "sourceType": "domain", - "command": "commerce.product", - "label": "commerce.product", + "command": "color.human", + "label": "color.human example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.product", + "command": "color.human", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.product()", - "expectedUiSchemaText": "Value\ncommerce.product()", + "expectedSchemaText": "Value\ncolor.human()", + "expectedUiSchemaText": "Value\ncolor.human()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-product-base" + "origins": ["example"], + "scenarioId": "domain-color-human-example-1" }, { - "id": "coverage:domain-commerce-productAdjective-base", + "id": "coverage:domain-color-hwb-base", "sourceType": "domain", - "command": "commerce.productAdjective", - "label": "commerce.productAdjective", + "command": "color.hwb", + "label": "color.hwb", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productAdjective", + "command": "color.hwb", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productAdjective()", - "expectedUiSchemaText": "Value\ncommerce.productAdjective()", + "expectedSchemaText": "Value\ncolor.hwb()", + "expectedUiSchemaText": "Value\ncolor.hwb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-commerce-productAdjective-base" + "scenarioId": "domain-color-hwb-base" }, { - "id": "coverage:domain-commerce-productDescription-base", + "id": "coverage:domain-color-hwb-example-1", "sourceType": "domain", - "command": "commerce.productDescription", - "label": "commerce.productDescription", + "command": "color.hwb", + "label": "color.hwb example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productDescription", + "command": "color.hwb", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productDescription()", - "expectedUiSchemaText": "Value\ncommerce.productDescription()", + "expectedSchemaText": "Value\ncolor.hwb()", + "expectedUiSchemaText": "Value\ncolor.hwb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-productDescription-base" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-hwb-example-1" }, { - "id": "coverage:domain-commerce-productMaterial-base", + "id": "coverage:domain-color-hwb-example-2", "sourceType": "domain", - "command": "commerce.productMaterial", - "label": "commerce.productMaterial", + "command": "color.hwb", + "label": "color.hwb example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productMaterial", - "params": "()", + "command": "color.hwb", + "params": "(format=\"decimal\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productMaterial()", - "expectedUiSchemaText": "Value\ncommerce.productMaterial()", + "expectedSchemaText": "Value\ncolor.hwb(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.hwb(format=\"decimal\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-productMaterial-base" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-hwb-example-2" }, { - "id": "coverage:domain-commerce-productName-base", + "id": "coverage:domain-color-hwb-arg-format", "sourceType": "domain", - "command": "commerce.productName", - "label": "commerce.productName", + "command": "color.hwb", + "label": "color.hwb arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productName", - "params": "()", + "command": "color.hwb", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productName()", - "expectedUiSchemaText": "Value\ncommerce.productName()", + "expectedSchemaText": "Value\ncolor.hwb(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.hwb(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-productName-base" + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-hwb-arg-format" }, { - "id": "coverage:domain-commerce-upc-base", + "id": "coverage:domain-color-lab-base", "sourceType": "domain", - "command": "commerce.upc", - "label": "commerce.upc", + "command": "color.lab", + "label": "color.lab", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.upc", + "command": "color.lab", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.upc()", - "expectedUiSchemaText": "Value\ncommerce.upc()", + "expectedSchemaText": "Value\ncolor.lab()", + "expectedUiSchemaText": "Value\ncolor.lab()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-commerce-upc-base" + "scenarioId": "domain-color-lab-base" }, { - "id": "coverage:domain-commerce-upc-arg-prefix", + "id": "coverage:domain-color-lab-example-1", "sourceType": "domain", - "command": "commerce.upc", - "label": "commerce.upc arg prefix", + "command": "color.lab", + "label": "color.lab example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.upc", - "params": "(prefix=\"01234\")", + "command": "color.lab", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", - "expectedUiSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedSchemaText": "Value\ncolor.lab()", + "expectedUiSchemaText": "Value\ncolor.lab()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-commerce-upc-arg-prefix" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lab-example-1" }, { - "id": "coverage:domain-company-buzzAdjective-base", + "id": "coverage:domain-color-lab-example-2", "sourceType": "domain", - "command": "company.buzzAdjective", - "label": "company.buzzAdjective", + "command": "color.lab", + "label": "color.lab example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzAdjective", - "params": "()", + "command": "color.lab", + "params": "(format=\"decimal\")", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzAdjective()", - "expectedUiSchemaText": "Value\ncompany.buzzAdjective()", + "expectedSchemaText": "Value\ncolor.lab(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.lab(format=\"decimal\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-buzzAdjective-base" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lab-example-2" }, { - "id": "coverage:domain-company-buzzNoun-base", + "id": "coverage:domain-color-lab-arg-format", "sourceType": "domain", - "command": "company.buzzNoun", - "label": "company.buzzNoun", + "command": "color.lab", + "label": "color.lab arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzNoun", - "params": "()", + "command": "color.lab", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzNoun()", - "expectedUiSchemaText": "Value\ncompany.buzzNoun()", + "expectedSchemaText": "Value\ncolor.lab(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.lab(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-buzzNoun-base" + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-lab-arg-format" }, { - "id": "coverage:domain-company-buzzPhrase-base", + "id": "coverage:domain-color-lch-base", "sourceType": "domain", - "command": "company.buzzPhrase", - "label": "company.buzzPhrase", + "command": "color.lch", + "label": "color.lch", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzPhrase", + "command": "color.lch", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzPhrase()", - "expectedUiSchemaText": "Value\ncompany.buzzPhrase()", + "expectedSchemaText": "Value\ncolor.lch()", + "expectedUiSchemaText": "Value\ncolor.lch()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-company-buzzPhrase-base" + "scenarioId": "domain-color-lch-base" }, { - "id": "coverage:domain-company-buzzVerb-base", + "id": "coverage:domain-color-lch-example-1", "sourceType": "domain", - "command": "company.buzzVerb", - "label": "company.buzzVerb", + "command": "color.lch", + "label": "color.lch example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzVerb", + "command": "color.lch", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzVerb()", - "expectedUiSchemaText": "Value\ncompany.buzzVerb()", + "expectedSchemaText": "Value\ncolor.lch()", + "expectedUiSchemaText": "Value\ncolor.lch()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-buzzVerb-base" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lch-example-1" }, { - "id": "coverage:domain-company-catchPhrase-base", + "id": "coverage:domain-color-lch-example-2", "sourceType": "domain", - "command": "company.catchPhrase", - "label": "company.catchPhrase", + "command": "color.lch", + "label": "color.lch example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhrase", - "params": "()", + "command": "color.lch", + "params": "(format=\"decimal\")", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhrase()", - "expectedUiSchemaText": "Value\ncompany.catchPhrase()", + "expectedSchemaText": "Value\ncolor.lch(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.lch(format=\"decimal\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhrase-base" + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lch-example-2" }, { - "id": "coverage:domain-company-catchPhraseAdjective-base", + "id": "coverage:domain-color-lch-arg-format", "sourceType": "domain", - "command": "company.catchPhraseAdjective", - "label": "company.catchPhraseAdjective", + "command": "color.lch", + "label": "color.lch arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhraseAdjective", - "params": "()", + "command": "color.lch", + "params": "(format=\"css\")", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhraseAdjective()", - "expectedUiSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedSchemaText": "Value\ncolor.lch(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.lch(format=\"css\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhraseAdjective-base" + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-lch-arg-format" }, { - "id": "coverage:domain-company-catchPhraseDescriptor-base", + "id": "coverage:domain-color-rgb-base", "sourceType": "domain", - "command": "company.catchPhraseDescriptor", - "label": "company.catchPhraseDescriptor", + "command": "color.rgb", + "label": "color.rgb", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhraseDescriptor", + "command": "color.rgb", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhraseDescriptor()", - "expectedUiSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedSchemaText": "Value\ncolor.rgb()", + "expectedUiSchemaText": "Value\ncolor.rgb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-company-catchPhraseDescriptor-base" + "scenarioId": "domain-color-rgb-base" }, { - "id": "coverage:domain-company-catchPhraseNoun-base", + "id": "coverage:domain-color-rgb-example-1", "sourceType": "domain", - "command": "company.catchPhraseNoun", - "label": "company.catchPhraseNoun", + "command": "color.rgb", + "label": "color.rgb example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhraseNoun", + "command": "color.rgb", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhraseNoun()", - "expectedUiSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedSchemaText": "Value\ncolor.rgb()", + "expectedUiSchemaText": "Value\ncolor.rgb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhraseNoun-base" + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-1" }, { - "id": "coverage:domain-company-name-base", + "id": "coverage:domain-color-rgb-example-2", "sourceType": "domain", - "command": "company.name", - "label": "company.name", + "command": "color.rgb", + "label": "color.rgb example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.name", - "params": "()", + "command": "color.rgb", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\ncompany.name()", - "expectedUiSchemaText": "Value\ncompany.name()", + "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-name-base" + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-2" }, { - "id": "coverage:domain-database-collation-base", + "id": "coverage:domain-color-rgb-example-3", "sourceType": "domain", - "command": "database.collation", - "label": "database.collation", + "command": "color.rgb", + "label": "color.rgb example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.collation", - "params": "()", + "command": "color.rgb", + "params": "(format=\"hex\")", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.collation()", - "expectedUiSchemaText": "Value\ndatabase.collation()", + "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-collation-base" + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-3" }, { - "id": "coverage:domain-database-column-base", + "id": "coverage:domain-color-rgb-example-4", "sourceType": "domain", - "command": "database.column", - "label": "database.column", + "command": "color.rgb", + "label": "color.rgb example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.column", - "params": "()", + "command": "color.rgb", + "params": "(includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.column()", - "expectedUiSchemaText": "Value\ndatabase.column()", + "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-column-base" + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-4" }, { - "id": "coverage:domain-database-engine-base", + "id": "coverage:domain-color-rgb-example-5", "sourceType": "domain", - "command": "database.engine", - "label": "database.engine", + "command": "color.rgb", + "label": "color.rgb example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.engine", - "params": "()", + "command": "color.rgb", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.engine()", - "expectedUiSchemaText": "Value\ndatabase.engine()", + "expectedSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedUiSchemaText": "Value\ncolor.rgb(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-engine-base" + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-5" }, { - "id": "coverage:domain-database-mongodbObjectId-base", + "id": "coverage:domain-color-rgb-arg-casing", "sourceType": "domain", - "command": "database.mongodbObjectId", - "label": "database.mongodbObjectId", + "command": "color.rgb", + "label": "color.rgb arg casing", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.mongodbObjectId", - "params": "()", + "command": "color.rgb", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.mongodbObjectId()", - "expectedUiSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-mongodbObjectId-base" + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-casing" }, { - "id": "coverage:domain-database-type-base", + "id": "coverage:domain-color-rgb-arg-format", "sourceType": "domain", - "command": "database.type", - "label": "database.type", + "command": "color.rgb", + "label": "color.rgb arg format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.type", - "params": "()", + "command": "color.rgb", + "params": "(format=\"hex\")", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.type()", - "expectedUiSchemaText": "Value\ndatabase.type()", + "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-type-base" + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-format" }, { - "id": "coverage:domain-datatype-boolean-base", + "id": "coverage:domain-color-rgb-arg-includeAlpha", "sourceType": "domain", - "command": "datatype.boolean", - "label": "datatype.boolean", + "command": "color.rgb", + "label": "color.rgb arg includeAlpha", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.boolean", - "params": "()", + "command": "color.rgb", + "params": "(includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.boolean()", - "expectedUiSchemaText": "Value\ndatatype.boolean()", + "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-datatype-boolean-base" + "coveredArgs": ["includeAlpha"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-includeAlpha" }, { - "id": "coverage:domain-datatype-boolean-arg-probability", + "id": "coverage:domain-color-rgb-arg-prefix", "sourceType": "domain", - "command": "datatype.boolean", - "label": "datatype.boolean arg probability", + "command": "color.rgb", + "label": "color.rgb arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.boolean", - "params": "(probability=2)", + "command": "color.rgb", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.boolean(probability=2)", - "expectedUiSchemaText": "Value\ndatatype.boolean(probability=2)", + "expectedSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedUiSchemaText": "Value\ncolor.rgb(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["probability"], + "coveredArgs": ["prefix"], "origins": ["arg"], - "scenarioId": "domain-datatype-boolean-arg-probability" + "scenarioId": "domain-color-rgb-arg-prefix" }, { - "id": "coverage:domain-datatype-enum-base", + "id": "coverage:domain-color-rgb-pair-casing-format", "sourceType": "domain", - "command": "datatype.enum", - "label": "datatype.enum", + "command": "color.rgb", + "label": "color.rgb pair casing/format", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.enum", - "params": "(\"active\", \"inactive\", \"pending\")", + "command": "color.rgb", + "params": "(casing=\"upper\", format=\"hex\")", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.enum(\"active\", \"inactive\", \"pending\")", - "expectedUiSchemaText": "Value\nenum(\"active\", \"inactive\", \"pending\")", + "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", + "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-datatype-enum-base" + "coveredArgs": ["casing", "format"], + "origins": ["pair"], + "scenarioId": "domain-color-rgb-pair-casing-format" }, { - "id": "coverage:domain-datatype-enum-arg-values", + "id": "coverage:domain-color-rgb-pair-format-includeAlpha", "sourceType": "domain", - "command": "datatype.enum", - "label": "datatype.enum arg values", + "command": "color.rgb", + "label": "color.rgb pair format/includeAlpha", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.enum", - "params": "(values=\"datatype-enum-values\")", + "command": "color.rgb", + "params": "(format=\"hex\", includeAlpha=true)", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.enum(values=\"datatype-enum-values\")", - "expectedUiSchemaText": "Value\nenum(values=\"datatype-enum-values\")", + "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["values"], - "origins": ["arg"], - "scenarioId": "domain-datatype-enum-arg-values" + "coveredArgs": ["format", "includeAlpha"], + "origins": ["pair"], + "scenarioId": "domain-color-rgb-pair-format-includeAlpha" }, { - "id": "coverage:domain-date-anytime-base", + "id": "coverage:domain-color-rgb-pair-includeAlpha-prefix", "sourceType": "domain", - "command": "date.anytime", - "label": "date.anytime", + "command": "color.rgb", + "label": "color.rgb pair includeAlpha/prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.anytime", - "params": "()", + "command": "color.rgb", + "params": "(includeAlpha=true, prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.anytime()", - "expectedUiSchemaText": "Value\ndate.anytime()", + "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", + "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-anytime-base" + "coveredArgs": ["includeAlpha", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-color-rgb-pair-includeAlpha-prefix" }, { - "id": "coverage:domain-date-anytime-arg-refDate", + "id": "coverage:domain-color-space-base", "sourceType": "domain", - "command": "date.anytime", - "label": "date.anytime arg refDate", + "command": "color.space", + "label": "color.space", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.anytime", - "params": "(refDate=1577836800000)", + "command": "color.space", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.anytime(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedSchemaText": "Value\ncolor.space()", + "expectedUiSchemaText": "Value\ncolor.space()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-anytime-arg-refDate" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-space-base" }, { - "id": "coverage:domain-date-between-base", + "id": "coverage:domain-color-space-example-1", "sourceType": "domain", - "command": "date.between", - "label": "date.between", + "command": "color.space", + "label": "color.space example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(1577836800000, 1609372800000)", + "command": "color.space", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", - "expectedUiSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", + "expectedSchemaText": "Value\ncolor.space()", + "expectedUiSchemaText": "Value\ncolor.space()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-between-base" + "origins": ["example"], + "scenarioId": "domain-color-space-example-1" }, { - "id": "coverage:domain-date-between-arg-from", + "id": "coverage:domain-commerce-department-base", "sourceType": "domain", - "command": "date.between", - "label": "date.between arg from", + "command": "commerce.department", + "label": "commerce.department", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(from=1577836800000, to=1609372800000)", + "command": "commerce.department", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", - "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedSchemaText": "Value\ncommerce.department()", + "expectedUiSchemaText": "Value\ncommerce.department()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["from"], - "origins": ["arg"], - "scenarioId": "domain-date-between-arg-from" - }, - { - "id": "coverage:domain-date-between-arg-to", - "sourceType": "domain", - "command": "date.between", - "label": "date.between arg to", - "rows": [ - { - "name": "Value", - "sourceType": "domain", - "command": "date.between", - "params": "(to=1609372800000, from=1577836800000)", - "value": "" - } - ], - "expectedSchemaText": "Value\ndate.between(to=1609372800000, from=1577836800000)", - "expectedUiSchemaText": "Value\ndate.between(to=1609372800000, from=1577836800000)", - "expectedFileExtension": ".csv", - "pairwiseEligible": false, - "expectStructuredSerialization": false, - "coveredArgs": ["to"], - "origins": ["arg"], - "scenarioId": "domain-date-between-arg-to" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-department-base" }, { - "id": "coverage:domain-date-between-pair-from-to", + "id": "coverage:domain-commerce-department-example-1", "sourceType": "domain", - "command": "date.between", - "label": "date.between pair from/to", + "command": "commerce.department", + "label": "commerce.department example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(from=1577836800000, to=1609372800000)", + "command": "commerce.department", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", - "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedSchemaText": "Value\ncommerce.department()", + "expectedUiSchemaText": "Value\ncommerce.department()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["from", "to"], - "origins": ["pair"], - "scenarioId": "domain-date-between-pair-from-to" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-department-example-1" }, { - "id": "coverage:domain-date-birthdate-base", + "id": "coverage:domain-commerce-isbn-base", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate", + "command": "commerce.isbn", + "label": "commerce.isbn", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", + "command": "commerce.isbn", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate()", - "expectedUiSchemaText": "Value\ndate.birthdate()", + "expectedSchemaText": "Value\ncommerce.isbn()", + "expectedUiSchemaText": "Value\ncommerce.isbn()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-birthdate-base" + "scenarioId": "domain-commerce-isbn-base" }, { - "id": "coverage:domain-date-birthdate-example-1", + "id": "coverage:domain-commerce-isbn-example-1", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate example 1", + "command": "commerce.isbn", + "label": "commerce.isbn example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(refDate=20000, max=69, min=16, mode=\"age\")", + "command": "commerce.isbn", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", + "expectedSchemaText": "Value\ncommerce.isbn()", + "expectedUiSchemaText": "Value\ncommerce.isbn()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "max", "min", "mode"], + "coveredArgs": ["separator", "variant"], "origins": ["example"], - "scenarioId": "domain-date-birthdate-example-1" + "scenarioId": "domain-commerce-isbn-example-1" }, { - "id": "coverage:domain-date-birthdate-arg-refDate", + "id": "coverage:domain-commerce-isbn-example-2", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg refDate", + "command": "commerce.isbn", + "label": "commerce.isbn example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "command": "commerce.isbn", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-refDate" + "coveredArgs": ["separator", "variant"], + "origins": ["example"], + "scenarioId": "domain-commerce-isbn-example-2" }, { - "id": "coverage:domain-date-birthdate-arg-max", + "id": "coverage:domain-commerce-isbn-example-3", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg max", + "command": "commerce.isbn", + "label": "commerce.isbn example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(max=65, min=18, mode=\"age\")", + "command": "commerce.isbn", + "params": "(variant=10)", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedSchemaText": "Value\ncommerce.isbn(variant=10)", + "expectedUiSchemaText": "Value\ncommerce.isbn(variant=10)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-max" + "coveredArgs": ["separator", "variant"], + "origins": ["example"], + "scenarioId": "domain-commerce-isbn-example-3" }, { - "id": "coverage:domain-date-birthdate-arg-min", + "id": "coverage:domain-commerce-isbn-arg-separator", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg min", + "command": "commerce.isbn", + "label": "commerce.isbn arg separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(min=18, max=65, mode=\"age\")", + "command": "commerce.isbn", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", + "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["separator"], "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-min" + "scenarioId": "domain-commerce-isbn-arg-separator" }, { - "id": "coverage:domain-date-birthdate-arg-mode", + "id": "coverage:domain-commerce-isbn-arg-variant", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg mode", + "command": "commerce.isbn", + "label": "commerce.isbn arg variant", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(mode=\"age\", min=18, max=65)", + "command": "commerce.isbn", + "params": "(variant=10)", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", - "expectedUiSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", + "expectedSchemaText": "Value\ncommerce.isbn(variant=10)", + "expectedUiSchemaText": "Value\ncommerce.isbn(variant=10)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["mode"], + "coveredArgs": ["variant"], "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-mode" + "scenarioId": "domain-commerce-isbn-arg-variant" }, { - "id": "coverage:domain-date-birthdate-pair-refDate-max", + "id": "coverage:domain-commerce-isbn-pair-separator-variant", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate pair refDate/max", + "command": "commerce.isbn", + "label": "commerce.isbn pair separator/variant", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "command": "commerce.isbn", + "params": "(separator=\"-\", variant=10)", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=10)", + "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=10)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "max"], + "coveredArgs": ["separator", "variant"], "origins": ["pair"], - "scenarioId": "domain-date-birthdate-pair-refDate-max" + "scenarioId": "domain-commerce-isbn-pair-separator-variant" }, { - "id": "coverage:domain-date-birthdate-pair-max-min", + "id": "coverage:domain-commerce-price-base", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate pair max/min", + "command": "commerce.price", + "label": "commerce.price", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(max=65, min=18, mode=\"age\")", + "command": "commerce.price", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedSchemaText": "Value\ncommerce.price()", + "expectedUiSchemaText": "Value\ncommerce.price()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-date-birthdate-pair-max-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-price-base" }, { - "id": "coverage:domain-date-birthdate-pair-min-mode", + "id": "coverage:domain-commerce-price-example-1", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate pair min/mode", + "command": "commerce.price", + "label": "commerce.price example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(min=18, mode=\"age\", max=65)", + "command": "commerce.price", + "params": "(dec=2, max=10, min=1, symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", - "expectedUiSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", + "expectedSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "mode"], - "origins": ["pair"], - "scenarioId": "domain-date-birthdate-pair-min-mode" + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-1" }, { - "id": "coverage:domain-date-future-base", + "id": "coverage:domain-commerce-price-example-2", "sourceType": "domain", - "command": "date.future", - "label": "date.future", + "command": "commerce.price", + "label": "commerce.price example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", + "command": "commerce.price", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.future()", - "expectedUiSchemaText": "Value\ndate.future()", + "expectedSchemaText": "Value\ncommerce.price()", + "expectedUiSchemaText": "Value\ncommerce.price()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-future-base" + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-2" }, { - "id": "coverage:domain-date-future-arg-refDate", + "id": "coverage:domain-commerce-price-example-3", "sourceType": "domain", - "command": "date.future", - "label": "date.future arg refDate", + "command": "commerce.price", + "label": "commerce.price example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", - "params": "(refDate=1577836800000)", + "command": "commerce.price", + "params": "(dec=2)", "value": "" } ], - "expectedSchemaText": "Value\ndate.future(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedSchemaText": "Value\ncommerce.price(dec=2)", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-future-arg-refDate" + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-3" }, { - "id": "coverage:domain-date-future-arg-years", + "id": "coverage:domain-commerce-price-example-4", "sourceType": "domain", - "command": "date.future", - "label": "date.future arg years", + "command": "commerce.price", + "label": "commerce.price example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", - "params": "(years=2)", + "command": "commerce.price", + "params": "(max=100)", "value": "" } ], - "expectedSchemaText": "Value\ndate.future(years=2)", - "expectedUiSchemaText": "Value\ndate.future(years=2)", + "expectedSchemaText": "Value\ncommerce.price(max=100)", + "expectedUiSchemaText": "Value\ncommerce.price(max=100)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["years"], - "origins": ["arg"], - "scenarioId": "domain-date-future-arg-years" + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-4" }, { - "id": "coverage:domain-date-future-pair-refDate-years", + "id": "coverage:domain-commerce-price-example-5", "sourceType": "domain", - "command": "date.future", - "label": "date.future pair refDate/years", + "command": "commerce.price", + "label": "commerce.price example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", - "params": "(refDate=1577836800000, years=2)", + "command": "commerce.price", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", - "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", + "expectedSchemaText": "Value\ncommerce.price(max=10, min=1)", + "expectedUiSchemaText": "Value\ncommerce.price(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "years"], - "origins": ["pair"], - "scenarioId": "domain-date-future-pair-refDate-years" + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-5" }, { - "id": "coverage:domain-date-month-base", + "id": "coverage:domain-commerce-price-example-6", "sourceType": "domain", - "command": "date.month", - "label": "date.month", + "command": "commerce.price", + "label": "commerce.price example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "()", + "command": "commerce.price", + "params": "(symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.month()", - "expectedUiSchemaText": "Value\ndate.month()", + "expectedSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-month-base" + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-6" }, { - "id": "coverage:domain-date-month-arg-abbreviated", + "id": "coverage:domain-commerce-price-arg-dec", "sourceType": "domain", - "command": "date.month", - "label": "date.month arg abbreviated", + "command": "commerce.price", + "label": "commerce.price arg dec", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "(abbreviated=true)", + "command": "commerce.price", + "params": "(dec=2)", "value": "" } ], - "expectedSchemaText": "Value\ndate.month(abbreviated=true)", - "expectedUiSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedSchemaText": "Value\ncommerce.price(dec=2)", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], + "coveredArgs": ["dec"], "origins": ["arg"], - "scenarioId": "domain-date-month-arg-abbreviated" + "scenarioId": "domain-commerce-price-arg-dec" }, { - "id": "coverage:domain-date-month-arg-context", + "id": "coverage:domain-commerce-price-arg-max", "sourceType": "domain", - "command": "date.month", - "label": "date.month arg context", + "command": "commerce.price", + "label": "commerce.price arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "(context=true)", + "command": "commerce.price", + "params": "(max=100)", "value": "" } ], - "expectedSchemaText": "Value\ndate.month(context=true)", - "expectedUiSchemaText": "Value\ndate.month(context=true)", + "expectedSchemaText": "Value\ncommerce.price(max=100)", + "expectedUiSchemaText": "Value\ncommerce.price(max=100)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["context"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-date-month-arg-context" + "scenarioId": "domain-commerce-price-arg-max" }, { - "id": "coverage:domain-date-month-pair-abbreviated-context", + "id": "coverage:domain-commerce-price-arg-min", "sourceType": "domain", - "command": "date.month", - "label": "date.month pair abbreviated/context", + "command": "commerce.price", + "label": "commerce.price arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "(abbreviated=true, context=true)", + "command": "commerce.price", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.month(abbreviated=true, context=true)", - "expectedUiSchemaText": "Value\ndate.month(abbreviated=true, context=true)", + "expectedSchemaText": "Value\ncommerce.price(min=1)", + "expectedUiSchemaText": "Value\ncommerce.price(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated", "context"], - "origins": ["pair"], - "scenarioId": "domain-date-month-pair-abbreviated-context" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-commerce-price-arg-min" }, { - "id": "coverage:domain-date-past-base", + "id": "coverage:domain-commerce-price-arg-symbol", "sourceType": "domain", - "command": "date.past", - "label": "date.past", + "command": "commerce.price", + "label": "commerce.price arg symbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "()", + "command": "commerce.price", + "params": "(symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.past()", - "expectedUiSchemaText": "Value\ndate.past()", + "expectedSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-past-base" + "coveredArgs": ["symbol"], + "origins": ["arg"], + "scenarioId": "domain-commerce-price-arg-symbol" }, { - "id": "coverage:domain-date-past-arg-refDate", + "id": "coverage:domain-commerce-price-pair-dec-max", "sourceType": "domain", - "command": "date.past", - "label": "date.past arg refDate", + "command": "commerce.price", + "label": "commerce.price pair dec/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "(refDate=1577836800000)", + "command": "commerce.price", + "params": "(dec=2, max=100)", "value": "" } ], - "expectedSchemaText": "Value\ndate.past(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedSchemaText": "Value\ncommerce.price(dec=2, max=100)", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=100)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-past-arg-refDate" + "coveredArgs": ["dec", "max"], + "origins": ["pair"], + "scenarioId": "domain-commerce-price-pair-dec-max" }, { - "id": "coverage:domain-date-past-arg-years", + "id": "coverage:domain-commerce-price-pair-max-min", "sourceType": "domain", - "command": "date.past", - "label": "date.past arg years", + "command": "commerce.price", + "label": "commerce.price pair max/min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "(years=2)", + "command": "commerce.price", + "params": "(max=100, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.past(years=2)", - "expectedUiSchemaText": "Value\ndate.past(years=2)", + "expectedSchemaText": "Value\ncommerce.price(max=100, min=1)", + "expectedUiSchemaText": "Value\ncommerce.price(max=100, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["years"], - "origins": ["arg"], - "scenarioId": "domain-date-past-arg-years" + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-commerce-price-pair-max-min" }, { - "id": "coverage:domain-date-past-pair-refDate-years", + "id": "coverage:domain-commerce-price-pair-min-symbol", "sourceType": "domain", - "command": "date.past", - "label": "date.past pair refDate/years", + "command": "commerce.price", + "label": "commerce.price pair min/symbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "(refDate=1577836800000, years=2)", + "command": "commerce.price", + "params": "(min=1, symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", - "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", + "expectedSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "years"], + "coveredArgs": ["min", "symbol"], "origins": ["pair"], - "scenarioId": "domain-date-past-pair-refDate-years" + "scenarioId": "domain-commerce-price-pair-min-symbol" }, { - "id": "coverage:domain-date-recent-base", + "id": "coverage:domain-commerce-product-base", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent", + "command": "commerce.product", + "label": "commerce.product", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", + "command": "commerce.product", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent()", - "expectedUiSchemaText": "Value\ndate.recent()", + "expectedSchemaText": "Value\ncommerce.product()", + "expectedUiSchemaText": "Value\ncommerce.product()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-recent-base" + "scenarioId": "domain-commerce-product-base" }, { - "id": "coverage:domain-date-recent-arg-days", + "id": "coverage:domain-commerce-product-example-1", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent arg days", + "command": "commerce.product", + "label": "commerce.product example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "(days=7)", + "command": "commerce.product", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent(days=7)", - "expectedUiSchemaText": "Value\ndate.recent(days=7)", + "expectedSchemaText": "Value\ncommerce.product()", + "expectedUiSchemaText": "Value\ncommerce.product()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days"], - "origins": ["arg"], - "scenarioId": "domain-date-recent-arg-days" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-product-example-1" }, { - "id": "coverage:domain-date-recent-arg-refDate", + "id": "coverage:domain-commerce-productAdjective-base", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent arg refDate", + "command": "commerce.productAdjective", + "label": "commerce.productAdjective", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "(refDate=1577836800000)", + "command": "commerce.productAdjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedSchemaText": "Value\ncommerce.productAdjective()", + "expectedUiSchemaText": "Value\ncommerce.productAdjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-recent-arg-refDate" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-productAdjective-base" }, { - "id": "coverage:domain-date-recent-pair-days-refDate", + "id": "coverage:domain-commerce-productAdjective-example-1", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent pair days/refDate", + "command": "commerce.productAdjective", + "label": "commerce.productAdjective example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "(days=7, refDate=1577836800000)", + "command": "commerce.productAdjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", + "expectedSchemaText": "Value\ncommerce.productAdjective()", + "expectedUiSchemaText": "Value\ncommerce.productAdjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days", "refDate"], - "origins": ["pair"], - "scenarioId": "domain-date-recent-pair-days-refDate" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productAdjective-example-1" }, { - "id": "coverage:domain-date-soon-base", + "id": "coverage:domain-commerce-productDescription-base", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon", + "command": "commerce.productDescription", + "label": "commerce.productDescription", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", + "command": "commerce.productDescription", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon()", - "expectedUiSchemaText": "Value\ndate.soon()", + "expectedSchemaText": "Value\ncommerce.productDescription()", + "expectedUiSchemaText": "Value\ncommerce.productDescription()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-soon-base" + "scenarioId": "domain-commerce-productDescription-base" }, { - "id": "coverage:domain-date-soon-arg-days", + "id": "coverage:domain-commerce-productDescription-example-1", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon arg days", + "command": "commerce.productDescription", + "label": "commerce.productDescription example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "(days=7)", + "command": "commerce.productDescription", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon(days=7)", - "expectedUiSchemaText": "Value\ndate.soon(days=7)", + "expectedSchemaText": "Value\ncommerce.productDescription()", + "expectedUiSchemaText": "Value\ncommerce.productDescription()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days"], - "origins": ["arg"], - "scenarioId": "domain-date-soon-arg-days" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productDescription-example-1" }, { - "id": "coverage:domain-date-soon-arg-refDate", + "id": "coverage:domain-commerce-productMaterial-base", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon arg refDate", + "command": "commerce.productMaterial", + "label": "commerce.productMaterial", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "(refDate=1577836800000)", - "value": "" + "command": "commerce.productMaterial", + "params": "()", + "value": "" } ], - "expectedSchemaText": "Value\ndate.soon(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedSchemaText": "Value\ncommerce.productMaterial()", + "expectedUiSchemaText": "Value\ncommerce.productMaterial()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-soon-arg-refDate" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-productMaterial-base" }, { - "id": "coverage:domain-date-soon-pair-days-refDate", + "id": "coverage:domain-commerce-productMaterial-example-1", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon pair days/refDate", + "command": "commerce.productMaterial", + "label": "commerce.productMaterial example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "(days=7, refDate=1577836800000)", + "command": "commerce.productMaterial", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", + "expectedSchemaText": "Value\ncommerce.productMaterial()", + "expectedUiSchemaText": "Value\ncommerce.productMaterial()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days", "refDate"], - "origins": ["pair"], - "scenarioId": "domain-date-soon-pair-days-refDate" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productMaterial-example-1" }, { - "id": "coverage:domain-date-timeZone-base", + "id": "coverage:domain-commerce-productName-base", "sourceType": "domain", - "command": "date.timeZone", - "label": "date.timeZone", + "command": "commerce.productName", + "label": "commerce.productName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.timeZone", + "command": "commerce.productName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.timeZone()", - "expectedUiSchemaText": "Value\ndate.timeZone()", + "expectedSchemaText": "Value\ncommerce.productName()", + "expectedUiSchemaText": "Value\ncommerce.productName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-timeZone-base" + "scenarioId": "domain-commerce-productName-base" }, { - "id": "coverage:domain-date-weekday-base", + "id": "coverage:domain-commerce-productName-example-1", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday", + "command": "commerce.productName", + "label": "commerce.productName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", + "command": "commerce.productName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday()", - "expectedUiSchemaText": "Value\ndate.weekday()", + "expectedSchemaText": "Value\ncommerce.productName()", + "expectedUiSchemaText": "Value\ncommerce.productName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-weekday-base" + "origins": ["example"], + "scenarioId": "domain-commerce-productName-example-1" }, { - "id": "coverage:domain-date-weekday-arg-abbreviated", + "id": "coverage:domain-commerce-upc-base", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday arg abbreviated", + "command": "commerce.upc", + "label": "commerce.upc", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "(abbreviated=true)", + "command": "commerce.upc", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday(abbreviated=true)", - "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedSchemaText": "Value\ncommerce.upc()", + "expectedUiSchemaText": "Value\ncommerce.upc()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], - "origins": ["arg"], - "scenarioId": "domain-date-weekday-arg-abbreviated" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-upc-base" }, { - "id": "coverage:domain-date-weekday-arg-context", + "id": "coverage:domain-commerce-upc-example-1", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday arg context", + "command": "commerce.upc", + "label": "commerce.upc example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "(context=true)", + "command": "commerce.upc", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday(context=true)", - "expectedUiSchemaText": "Value\ndate.weekday(context=true)", + "expectedSchemaText": "Value\ncommerce.upc()", + "expectedUiSchemaText": "Value\ncommerce.upc()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["context"], - "origins": ["arg"], - "scenarioId": "domain-date-weekday-arg-context" + "coveredArgs": ["prefix"], + "origins": ["example"], + "scenarioId": "domain-commerce-upc-example-1" }, { - "id": "coverage:domain-date-weekday-pair-abbreviated-context", + "id": "coverage:domain-commerce-upc-example-2", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday pair abbreviated/context", + "command": "commerce.upc", + "label": "commerce.upc example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "(abbreviated=true, context=true)", + "command": "commerce.upc", + "params": "(prefix=\"01234\")", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", - "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", + "expectedSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedUiSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated", "context"], - "origins": ["pair"], - "scenarioId": "domain-date-weekday-pair-abbreviated-context" + "coveredArgs": ["prefix"], + "origins": ["example"], + "scenarioId": "domain-commerce-upc-example-2" }, { - "id": "coverage:domain-finance-accountName-base", + "id": "coverage:domain-commerce-upc-arg-prefix", "sourceType": "domain", - "command": "finance.accountName", - "label": "finance.accountName", + "command": "commerce.upc", + "label": "commerce.upc arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.accountName", - "params": "()", + "command": "commerce.upc", + "params": "(prefix=\"01234\")", "value": "" } ], - "expectedSchemaText": "Value\nfinance.accountName()", - "expectedUiSchemaText": "Value\nfinance.accountName()", + "expectedSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedUiSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-accountName-base" + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-commerce-upc-arg-prefix" }, { - "id": "coverage:domain-finance-accountNumber-base", + "id": "coverage:domain-company-buzzAdjective-base", "sourceType": "domain", - "command": "finance.accountNumber", - "label": "finance.accountNumber", + "command": "company.buzzAdjective", + "label": "company.buzzAdjective", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.accountNumber", + "command": "company.buzzAdjective", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.accountNumber()", - "expectedUiSchemaText": "Value\nfinance.accountNumber()", + "expectedSchemaText": "Value\ncompany.buzzAdjective()", + "expectedUiSchemaText": "Value\ncompany.buzzAdjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-accountNumber-base" + "scenarioId": "domain-company-buzzAdjective-base" }, { - "id": "coverage:domain-finance-accountNumber-arg-length", + "id": "coverage:domain-company-buzzAdjective-example-1", "sourceType": "domain", - "command": "finance.accountNumber", - "label": "finance.accountNumber arg length", + "command": "company.buzzAdjective", + "label": "company.buzzAdjective example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.accountNumber", - "params": "(length=4)", + "command": "company.buzzAdjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.accountNumber(length=4)", - "expectedUiSchemaText": "Value\nfinance.accountNumber(length=4)", + "expectedSchemaText": "Value\ncompany.buzzAdjective()", + "expectedUiSchemaText": "Value\ncompany.buzzAdjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-finance-accountNumber-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzAdjective-example-1" }, { - "id": "coverage:domain-finance-amount-base", + "id": "coverage:domain-company-buzzNoun-base", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount", + "command": "company.buzzNoun", + "label": "company.buzzNoun", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", + "command": "company.buzzNoun", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount()", - "expectedUiSchemaText": "Value\nfinance.amount()", + "expectedSchemaText": "Value\ncompany.buzzNoun()", + "expectedUiSchemaText": "Value\ncompany.buzzNoun()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-amount-base" + "scenarioId": "domain-company-buzzNoun-base" }, { - "id": "coverage:domain-finance-amount-arg-autoFormat", + "id": "coverage:domain-company-buzzNoun-example-1", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg autoFormat", + "command": "company.buzzNoun", + "label": "company.buzzNoun example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(autoFormat=true)", + "command": "company.buzzNoun", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(autoFormat=true)", - "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedSchemaText": "Value\ncompany.buzzNoun()", + "expectedUiSchemaText": "Value\ncompany.buzzNoun()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["autoFormat"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-autoFormat" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzNoun-example-1" }, { - "id": "coverage:domain-finance-amount-arg-dec", + "id": "coverage:domain-company-buzzPhrase-base", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg dec", + "command": "company.buzzPhrase", + "label": "company.buzzPhrase", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(dec=2)", + "command": "company.buzzPhrase", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(dec=2)", - "expectedUiSchemaText": "Value\nfinance.amount(dec=2)", + "expectedSchemaText": "Value\ncompany.buzzPhrase()", + "expectedUiSchemaText": "Value\ncompany.buzzPhrase()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-dec" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-buzzPhrase-base" }, { - "id": "coverage:domain-finance-amount-arg-max", + "id": "coverage:domain-company-buzzPhrase-example-1", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg max", + "command": "company.buzzPhrase", + "label": "company.buzzPhrase example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(max=100)", + "command": "company.buzzPhrase", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(max=100)", - "expectedUiSchemaText": "Value\nfinance.amount(max=100)", + "expectedSchemaText": "Value\ncompany.buzzPhrase()", + "expectedUiSchemaText": "Value\ncompany.buzzPhrase()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzPhrase-example-1" }, { - "id": "coverage:domain-finance-amount-arg-min", + "id": "coverage:domain-company-buzzVerb-base", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg min", + "command": "company.buzzVerb", + "label": "company.buzzVerb", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(min=1)", + "command": "company.buzzVerb", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(min=1)", - "expectedUiSchemaText": "Value\nfinance.amount(min=1)", + "expectedSchemaText": "Value\ncompany.buzzVerb()", + "expectedUiSchemaText": "Value\ncompany.buzzVerb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-buzzVerb-base" }, { - "id": "coverage:domain-finance-amount-arg-symbol", + "id": "coverage:domain-company-buzzVerb-example-1", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg symbol", + "command": "company.buzzVerb", + "label": "company.buzzVerb example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(symbol=\"$\")", + "command": "company.buzzVerb", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(symbol=\"$\")", - "expectedUiSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedSchemaText": "Value\ncompany.buzzVerb()", + "expectedUiSchemaText": "Value\ncompany.buzzVerb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["symbol"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-symbol" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzVerb-example-1" }, { - "id": "coverage:domain-finance-amount-pair-autoFormat-dec", + "id": "coverage:domain-company-catchPhrase-base", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair autoFormat/dec", + "command": "company.catchPhrase", + "label": "company.catchPhrase", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(autoFormat=true, dec=2)", + "command": "company.catchPhrase", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", - "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", + "expectedSchemaText": "Value\ncompany.catchPhrase()", + "expectedUiSchemaText": "Value\ncompany.catchPhrase()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["autoFormat", "dec"], - "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-autoFormat-dec" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-catchPhrase-base" }, { - "id": "coverage:domain-finance-amount-pair-dec-max", + "id": "coverage:domain-company-catchPhrase-example-1", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair dec/max", + "command": "company.catchPhrase", + "label": "company.catchPhrase example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(dec=2, max=100)", + "command": "company.catchPhrase", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(dec=2, max=100)", - "expectedUiSchemaText": "Value\nfinance.amount(dec=2, max=100)", + "expectedSchemaText": "Value\ncompany.catchPhrase()", + "expectedUiSchemaText": "Value\ncompany.catchPhrase()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec", "max"], - "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-dec-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhrase-example-1" }, { - "id": "coverage:domain-finance-amount-pair-max-min", + "id": "coverage:domain-company-catchPhraseAdjective-base", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair max/min", + "command": "company.catchPhraseAdjective", + "label": "company.catchPhraseAdjective", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(max=100, min=1)", + "command": "company.catchPhraseAdjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(max=100, min=1)", - "expectedUiSchemaText": "Value\nfinance.amount(max=100, min=1)", + "expectedSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseAdjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-max-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-catchPhraseAdjective-base" }, { - "id": "coverage:domain-finance-amount-pair-min-symbol", + "id": "coverage:domain-company-catchPhraseAdjective-example-1", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair min/symbol", + "command": "company.catchPhraseAdjective", + "label": "company.catchPhraseAdjective example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(min=1, symbol=\"$\")", + "command": "company.catchPhraseAdjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", - "expectedUiSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", + "expectedSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseAdjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "symbol"], - "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-min-symbol" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhraseAdjective-example-1" }, { - "id": "coverage:domain-finance-bic-base", + "id": "coverage:domain-company-catchPhraseDescriptor-base", "sourceType": "domain", - "command": "finance.bic", - "label": "finance.bic", + "command": "company.catchPhraseDescriptor", + "label": "company.catchPhraseDescriptor", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.bic", + "command": "company.catchPhraseDescriptor", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.bic()", - "expectedUiSchemaText": "Value\nfinance.bic()", + "expectedSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseDescriptor()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-bic-base" + "scenarioId": "domain-company-catchPhraseDescriptor-base" }, { - "id": "coverage:domain-finance-bic-arg-includeBranchCode", + "id": "coverage:domain-company-catchPhraseDescriptor-example-1", "sourceType": "domain", - "command": "finance.bic", - "label": "finance.bic arg includeBranchCode", + "command": "company.catchPhraseDescriptor", + "label": "company.catchPhraseDescriptor example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.bic", - "params": "(includeBranchCode=true)", + "command": "company.catchPhraseDescriptor", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.bic(includeBranchCode=true)", - "expectedUiSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseDescriptor()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeBranchCode"], - "origins": ["arg"], - "scenarioId": "domain-finance-bic-arg-includeBranchCode" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhraseDescriptor-example-1" }, { - "id": "coverage:domain-finance-bitcoinAddress-base", + "id": "coverage:domain-company-catchPhraseNoun-base", "sourceType": "domain", - "command": "finance.bitcoinAddress", - "label": "finance.bitcoinAddress", + "command": "company.catchPhraseNoun", + "label": "company.catchPhraseNoun", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.bitcoinAddress", + "command": "company.catchPhraseNoun", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.bitcoinAddress()", - "expectedUiSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseNoun()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-bitcoinAddress-base" + "scenarioId": "domain-company-catchPhraseNoun-base" }, { - "id": "coverage:domain-finance-creditCardCVV-base", + "id": "coverage:domain-company-catchPhraseNoun-example-1", "sourceType": "domain", - "command": "finance.creditCardCVV", - "label": "finance.creditCardCVV", + "command": "company.catchPhraseNoun", + "label": "company.catchPhraseNoun example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardCVV", + "command": "company.catchPhraseNoun", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardCVV()", - "expectedUiSchemaText": "Value\nfinance.creditCardCVV()", + "expectedSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseNoun()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-creditCardCVV-base" + "origins": ["example"], + "scenarioId": "domain-company-catchPhraseNoun-example-1" }, { - "id": "coverage:domain-finance-creditCardIssuer-base", + "id": "coverage:domain-company-name-base", "sourceType": "domain", - "command": "finance.creditCardIssuer", - "label": "finance.creditCardIssuer", + "command": "company.name", + "label": "company.name", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardIssuer", + "command": "company.name", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardIssuer()", - "expectedUiSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedSchemaText": "Value\ncompany.name()", + "expectedUiSchemaText": "Value\ncompany.name()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-creditCardIssuer-base" + "scenarioId": "domain-company-name-base" }, { - "id": "coverage:domain-finance-creditCardNumber-base", + "id": "coverage:domain-company-name-example-1", "sourceType": "domain", - "command": "finance.creditCardNumber", - "label": "finance.creditCardNumber", + "command": "company.name", + "label": "company.name example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardNumber", + "command": "company.name", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardNumber()", - "expectedUiSchemaText": "Value\nfinance.creditCardNumber()", + "expectedSchemaText": "Value\ncompany.name()", + "expectedUiSchemaText": "Value\ncompany.name()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-creditCardNumber-base" + "origins": ["example"], + "scenarioId": "domain-company-name-example-1" }, { - "id": "coverage:domain-finance-creditCardNumber-arg-issuer", + "id": "coverage:domain-database-collation-base", "sourceType": "domain", - "command": "finance.creditCardNumber", - "label": "finance.creditCardNumber arg issuer", + "command": "database.collation", + "label": "database.collation", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardNumber", - "params": "(issuer=\"finance-creditCardNumber-issuer\")", + "command": "database.collation", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", - "expectedUiSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", + "expectedSchemaText": "Value\ndatabase.collation()", + "expectedUiSchemaText": "Value\ndatabase.collation()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["issuer"], - "origins": ["arg"], - "scenarioId": "domain-finance-creditCardNumber-arg-issuer" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-collation-base" }, { - "id": "coverage:domain-finance-currencyCode-base", + "id": "coverage:domain-database-collation-example-1", "sourceType": "domain", - "command": "finance.currencyCode", - "label": "finance.currencyCode", + "command": "database.collation", + "label": "database.collation example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencyCode", + "command": "database.collation", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencyCode()", - "expectedUiSchemaText": "Value\nfinance.currencyCode()", + "expectedSchemaText": "Value\ndatabase.collation()", + "expectedUiSchemaText": "Value\ndatabase.collation()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-currencyCode-base" + "origins": ["example"], + "scenarioId": "domain-database-collation-example-1" }, { - "id": "coverage:domain-finance-currencyName-base", + "id": "coverage:domain-database-column-base", "sourceType": "domain", - "command": "finance.currencyName", - "label": "finance.currencyName", + "command": "database.column", + "label": "database.column", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencyName", + "command": "database.column", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencyName()", - "expectedUiSchemaText": "Value\nfinance.currencyName()", + "expectedSchemaText": "Value\ndatabase.column()", + "expectedUiSchemaText": "Value\ndatabase.column()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-currencyName-base" + "scenarioId": "domain-database-column-base" }, { - "id": "coverage:domain-finance-currencyNumericCode-base", + "id": "coverage:domain-database-column-example-1", "sourceType": "domain", - "command": "finance.currencyNumericCode", - "label": "finance.currencyNumericCode", + "command": "database.column", + "label": "database.column example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencyNumericCode", + "command": "database.column", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencyNumericCode()", - "expectedUiSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedSchemaText": "Value\ndatabase.column()", + "expectedUiSchemaText": "Value\ndatabase.column()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-currencyNumericCode-base" + "origins": ["example"], + "scenarioId": "domain-database-column-example-1" }, { - "id": "coverage:domain-finance-currencySymbol-base", + "id": "coverage:domain-database-engine-base", "sourceType": "domain", - "command": "finance.currencySymbol", - "label": "finance.currencySymbol", + "command": "database.engine", + "label": "database.engine", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencySymbol", + "command": "database.engine", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencySymbol()", - "expectedUiSchemaText": "Value\nfinance.currencySymbol()", + "expectedSchemaText": "Value\ndatabase.engine()", + "expectedUiSchemaText": "Value\ndatabase.engine()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-currencySymbol-base" + "scenarioId": "domain-database-engine-base" }, { - "id": "coverage:domain-finance-ethereumAddress-base", + "id": "coverage:domain-database-engine-example-1", "sourceType": "domain", - "command": "finance.ethereumAddress", - "label": "finance.ethereumAddress", + "command": "database.engine", + "label": "database.engine example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.ethereumAddress", + "command": "database.engine", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.ethereumAddress()", - "expectedUiSchemaText": "Value\nfinance.ethereumAddress()", + "expectedSchemaText": "Value\ndatabase.engine()", + "expectedUiSchemaText": "Value\ndatabase.engine()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-ethereumAddress-base" + "origins": ["example"], + "scenarioId": "domain-database-engine-example-1" }, { - "id": "coverage:domain-finance-iban-base", + "id": "coverage:domain-database-mongodbObjectId-base", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban", + "command": "database.mongodbObjectId", + "label": "database.mongodbObjectId", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", + "command": "database.mongodbObjectId", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban()", - "expectedUiSchemaText": "Value\nfinance.iban()", + "expectedSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedUiSchemaText": "Value\ndatabase.mongodbObjectId()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-iban-base" + "scenarioId": "domain-database-mongodbObjectId-base" }, { - "id": "coverage:domain-finance-iban-arg-countryCode", + "id": "coverage:domain-database-mongodbObjectId-example-1", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban arg countryCode", + "command": "database.mongodbObjectId", + "label": "database.mongodbObjectId example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "(countryCode=\"GB\")", + "command": "database.mongodbObjectId", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", - "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedUiSchemaText": "Value\ndatabase.mongodbObjectId()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["countryCode"], - "origins": ["arg"], - "scenarioId": "domain-finance-iban-arg-countryCode" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-mongodbObjectId-example-1" }, { - "id": "coverage:domain-finance-iban-arg-formatted", + "id": "coverage:domain-database-type-base", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban arg formatted", + "command": "database.type", + "label": "database.type", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "(formatted=true)", + "command": "database.type", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban(formatted=true)", - "expectedUiSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedSchemaText": "Value\ndatabase.type()", + "expectedUiSchemaText": "Value\ndatabase.type()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["formatted"], - "origins": ["arg"], - "scenarioId": "domain-finance-iban-arg-formatted" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-type-base" }, { - "id": "coverage:domain-finance-iban-pair-countryCode-formatted", + "id": "coverage:domain-database-type-example-1", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban pair countryCode/formatted", + "command": "database.type", + "label": "database.type example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "(countryCode=\"GB\", formatted=true)", + "command": "database.type", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", - "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", + "expectedSchemaText": "Value\ndatabase.type()", + "expectedUiSchemaText": "Value\ndatabase.type()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["countryCode", "formatted"], - "origins": ["pair"], - "scenarioId": "domain-finance-iban-pair-countryCode-formatted" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-type-example-1" }, { - "id": "coverage:domain-finance-litecoinAddress-base", + "id": "coverage:domain-datatype-boolean-base", "sourceType": "domain", - "command": "finance.litecoinAddress", - "label": "finance.litecoinAddress", + "command": "datatype.boolean", + "label": "datatype.boolean", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.litecoinAddress", + "command": "datatype.boolean", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.litecoinAddress()", - "expectedUiSchemaText": "Value\nfinance.litecoinAddress()", + "expectedSchemaText": "Value\ndatatype.boolean()", + "expectedUiSchemaText": "Value\ndatatype.boolean()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-litecoinAddress-base" + "scenarioId": "domain-datatype-boolean-base" }, { - "id": "coverage:domain-finance-pin-base", + "id": "coverage:domain-datatype-boolean-example-1", "sourceType": "domain", - "command": "finance.pin", - "label": "finance.pin", + "command": "datatype.boolean", + "label": "datatype.boolean example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.pin", + "command": "datatype.boolean", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.pin()", - "expectedUiSchemaText": "Value\nfinance.pin()", + "expectedSchemaText": "Value\ndatatype.boolean()", + "expectedUiSchemaText": "Value\ndatatype.boolean()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-pin-base" + "coveredArgs": ["probability"], + "origins": ["example"], + "scenarioId": "domain-datatype-boolean-example-1" }, { - "id": "coverage:domain-finance-pin-arg-length", + "id": "coverage:domain-datatype-boolean-example-2", "sourceType": "domain", - "command": "finance.pin", - "label": "finance.pin arg length", + "command": "datatype.boolean", + "label": "datatype.boolean example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.pin", - "params": "(length=4)", + "command": "datatype.boolean", + "params": "(probability=0.5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.pin(length=4)", - "expectedUiSchemaText": "Value\nfinance.pin(length=4)", + "expectedSchemaText": "Value\ndatatype.boolean(probability=0.5)", + "expectedUiSchemaText": "Value\ndatatype.boolean(probability=0.5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-finance-pin-arg-length" + "coveredArgs": ["probability"], + "origins": ["example"], + "scenarioId": "domain-datatype-boolean-example-2" }, { - "id": "coverage:domain-finance-routingNumber-base", + "id": "coverage:domain-datatype-boolean-arg-probability", "sourceType": "domain", - "command": "finance.routingNumber", - "label": "finance.routingNumber", + "command": "datatype.boolean", + "label": "datatype.boolean arg probability", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.routingNumber", - "params": "()", + "command": "datatype.boolean", + "params": "(probability=2)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.routingNumber()", - "expectedUiSchemaText": "Value\nfinance.routingNumber()", + "expectedSchemaText": "Value\ndatatype.boolean(probability=2)", + "expectedUiSchemaText": "Value\ndatatype.boolean(probability=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-routingNumber-base" + "coveredArgs": ["probability"], + "origins": ["arg"], + "scenarioId": "domain-datatype-boolean-arg-probability" }, { - "id": "coverage:domain-finance-transactionDescription-base", + "id": "coverage:domain-datatype-enum-base", "sourceType": "domain", - "command": "finance.transactionDescription", - "label": "finance.transactionDescription", + "command": "datatype.enum", + "label": "datatype.enum", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.transactionDescription", - "params": "()", + "command": "datatype.enum", + "params": "(\"active\", \"inactive\", \"pending\")", "value": "" } ], - "expectedSchemaText": "Value\nfinance.transactionDescription()", - "expectedUiSchemaText": "Value\nfinance.transactionDescription()", + "expectedSchemaText": "Value\ndatatype.enum(\"active\", \"inactive\", \"pending\")", + "expectedUiSchemaText": "Value\nenum(\"active\", \"inactive\", \"pending\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-transactionDescription-base" + "scenarioId": "domain-datatype-enum-base" }, { - "id": "coverage:domain-finance-transactionType-base", + "id": "coverage:domain-datatype-enum-arg-values", "sourceType": "domain", - "command": "finance.transactionType", - "label": "finance.transactionType", + "command": "datatype.enum", + "label": "datatype.enum arg values", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.transactionType", - "params": "()", + "command": "datatype.enum", + "params": "(values=\"comma-separated list\")", "value": "" } ], - "expectedSchemaText": "Value\nfinance.transactionType()", - "expectedUiSchemaText": "Value\nfinance.transactionType()", + "expectedSchemaText": "Value\ndatatype.enum(values=\"comma-separated list\")", + "expectedUiSchemaText": "Value\nenum(values=\"comma-separated list\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-transactionType-base" + "coveredArgs": ["values"], + "origins": ["arg"], + "scenarioId": "domain-datatype-enum-arg-values" }, { - "id": "coverage:domain-food-adjective-base", + "id": "coverage:domain-date-anytime-base", "sourceType": "domain", - "command": "food.adjective", - "label": "food.adjective", + "command": "date.anytime", + "label": "date.anytime", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.adjective", + "command": "date.anytime", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfood.adjective()", - "expectedUiSchemaText": "Value\nfood.adjective()", + "expectedSchemaText": "Value\ndate.anytime()", + "expectedUiSchemaText": "Value\ndate.anytime()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-food-adjective-base" + "scenarioId": "domain-date-anytime-base" }, { - "id": "coverage:domain-food-description-base", + "id": "coverage:domain-date-anytime-example-1", "sourceType": "domain", - "command": "food.description", - "label": "food.description", + "command": "date.anytime", + "label": "date.anytime example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.description", + "command": "date.anytime", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfood.description()", - "expectedUiSchemaText": "Value\nfood.description()", + "expectedSchemaText": "Value\ndate.anytime()", + "expectedUiSchemaText": "Value\ndate.anytime()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-description-base" + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-date-anytime-example-1" }, { - "id": "coverage:domain-food-dish-base", + "id": "coverage:domain-date-anytime-example-2", "sourceType": "domain", - "command": "food.dish", - "label": "food.dish", + "command": "date.anytime", + "label": "date.anytime example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.dish", - "params": "()", + "command": "date.anytime", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.dish()", - "expectedUiSchemaText": "Value\nfood.dish()", + "expectedSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.anytime(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-dish-base" + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-date-anytime-example-2" }, { - "id": "coverage:domain-food-ethnicCategory-base", + "id": "coverage:domain-date-anytime-arg-refDate", "sourceType": "domain", - "command": "food.ethnicCategory", - "label": "food.ethnicCategory", + "command": "date.anytime", + "label": "date.anytime arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.ethnicCategory", - "params": "()", + "command": "date.anytime", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.ethnicCategory()", - "expectedUiSchemaText": "Value\nfood.ethnicCategory()", + "expectedSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.anytime(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-ethnicCategory-base" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-anytime-arg-refDate" }, { - "id": "coverage:domain-food-fruit-base", + "id": "coverage:domain-date-between-base", "sourceType": "domain", - "command": "food.fruit", - "label": "food.fruit", + "command": "date.between", + "label": "date.between", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.fruit", - "params": "()", + "command": "date.between", + "params": "(1577836800000, 1609372800000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.fruit()", - "expectedUiSchemaText": "Value\nfood.fruit()", + "expectedSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-food-fruit-base" + "scenarioId": "domain-date-between-base" }, { - "id": "coverage:domain-food-ingredient-base", + "id": "coverage:domain-date-between-example-1", "sourceType": "domain", - "command": "food.ingredient", - "label": "food.ingredient", + "command": "date.between", + "label": "date.between example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.ingredient", - "params": "()", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.ingredient()", - "expectedUiSchemaText": "Value\nfood.ingredient()", + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-ingredient-base" + "coveredArgs": ["from", "to"], + "origins": ["example"], + "scenarioId": "domain-date-between-example-1" }, { - "id": "coverage:domain-food-meat-base", + "id": "coverage:domain-date-between-example-2", "sourceType": "domain", - "command": "food.meat", - "label": "food.meat", + "command": "date.between", + "label": "date.between example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.meat", - "params": "()", + "command": "date.between", + "params": "(from=1609459200000, to=1640995200000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.meat()", - "expectedUiSchemaText": "Value\nfood.meat()", + "expectedSchemaText": "Value\ndate.between(from=1609459200000, to=1640995200000)", + "expectedUiSchemaText": "Value\ndate.between(from=1609459200000, to=1640995200000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-meat-base" + "coveredArgs": ["from", "to"], + "origins": ["example"], + "scenarioId": "domain-date-between-example-2" }, { - "id": "coverage:domain-food-spice-base", + "id": "coverage:domain-date-between-arg-from", "sourceType": "domain", - "command": "food.spice", - "label": "food.spice", + "command": "date.between", + "label": "date.between arg from", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.spice", - "params": "()", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.spice()", - "expectedUiSchemaText": "Value\nfood.spice()", + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-spice-base" + "coveredArgs": ["from"], + "origins": ["arg"], + "scenarioId": "domain-date-between-arg-from" }, { - "id": "coverage:domain-food-vegetable-base", + "id": "coverage:domain-date-between-arg-to", "sourceType": "domain", - "command": "food.vegetable", - "label": "food.vegetable", + "command": "date.between", + "label": "date.between arg to", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.vegetable", - "params": "()", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", "value": "" } ], - "expectedSchemaText": "Value\nfood.vegetable()", - "expectedUiSchemaText": "Value\nfood.vegetable()", + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-vegetable-base" + "coveredArgs": ["to"], + "origins": ["arg"], + "scenarioId": "domain-date-between-arg-to" }, { - "id": "coverage:domain-git-branch-base", + "id": "coverage:domain-date-between-pair-from-to", "sourceType": "domain", - "command": "git.branch", - "label": "git.branch", + "command": "date.between", + "label": "date.between pair from/to", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.branch", - "params": "()", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", "value": "" } ], - "expectedSchemaText": "Value\ngit.branch()", - "expectedUiSchemaText": "Value\ngit.branch()", + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-branch-base" + "coveredArgs": ["from", "to"], + "origins": ["pair"], + "scenarioId": "domain-date-between-pair-from-to" }, { - "id": "coverage:domain-git-commitDate-base", + "id": "coverage:domain-date-birthdate-base", "sourceType": "domain", - "command": "git.commitDate", - "label": "git.commitDate", + "command": "date.birthdate", + "label": "date.birthdate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitDate", + "command": "date.birthdate", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitDate()", - "expectedUiSchemaText": "Value\ngit.commitDate()", + "expectedSchemaText": "Value\ndate.birthdate()", + "expectedUiSchemaText": "Value\ndate.birthdate()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-git-commitDate-base" + "scenarioId": "domain-date-birthdate-base" }, { - "id": "coverage:domain-git-commitEntry-base", + "id": "coverage:domain-date-birthdate-example-1", "sourceType": "domain", - "command": "git.commitEntry", - "label": "git.commitEntry", + "command": "date.birthdate", + "label": "date.birthdate example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitEntry", - "params": "()", + "command": "date.birthdate", + "params": "(refDate=20000, max=69, min=16, mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitEntry()", - "expectedUiSchemaText": "Value\ngit.commitEntry()", + "expectedSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitEntry-base" + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-1" }, { - "id": "coverage:domain-git-commitMessage-base", + "id": "coverage:domain-date-birthdate-example-2", "sourceType": "domain", - "command": "git.commitMessage", - "label": "git.commitMessage", + "command": "date.birthdate", + "label": "date.birthdate example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitMessage", + "command": "date.birthdate", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitMessage()", - "expectedUiSchemaText": "Value\ngit.commitMessage()", + "expectedSchemaText": "Value\ndate.birthdate()", + "expectedUiSchemaText": "Value\ndate.birthdate()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitMessage-base" + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-2" }, { - "id": "coverage:domain-git-commitSha-base", + "id": "coverage:domain-date-birthdate-example-3", "sourceType": "domain", - "command": "git.commitSha", - "label": "git.commitSha", + "command": "date.birthdate", + "label": "date.birthdate example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitSha", - "params": "()", + "command": "date.birthdate", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitSha()", - "expectedUiSchemaText": "Value\ngit.commitSha()", + "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitSha-base" + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-3" }, { - "id": "coverage:domain-hacker-abbreviation-base", + "id": "coverage:domain-date-birthdate-example-4", "sourceType": "domain", - "command": "hacker.abbreviation", - "label": "hacker.abbreviation", + "command": "date.birthdate", + "label": "date.birthdate example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.abbreviation", - "params": "()", + "command": "date.birthdate", + "params": "(max=65)", "value": "" } ], - "expectedSchemaText": "Value\nhacker.abbreviation()", - "expectedUiSchemaText": "Value\nhacker.abbreviation()", + "expectedSchemaText": "Value\ndate.birthdate(max=65)", + "expectedUiSchemaText": "Value\ndate.birthdate(max=65)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-abbreviation-base" + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-4" }, { - "id": "coverage:domain-hacker-adjective-base", + "id": "coverage:domain-date-birthdate-example-5", "sourceType": "domain", - "command": "hacker.adjective", - "label": "hacker.adjective", + "command": "date.birthdate", + "label": "date.birthdate example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.adjective", - "params": "()", + "command": "date.birthdate", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhacker.adjective()", - "expectedUiSchemaText": "Value\nhacker.adjective()", + "expectedSchemaText": "Value\ndate.birthdate(max=10, min=1)", + "expectedUiSchemaText": "Value\ndate.birthdate(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-adjective-base" + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-5" }, { - "id": "coverage:domain-hacker-ingverb-base", + "id": "coverage:domain-date-birthdate-example-6", "sourceType": "domain", - "command": "hacker.ingverb", - "label": "hacker.ingverb", + "command": "date.birthdate", + "label": "date.birthdate example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.ingverb", - "params": "()", + "command": "date.birthdate", + "params": "(mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\nhacker.ingverb()", - "expectedUiSchemaText": "Value\nhacker.ingverb()", + "expectedSchemaText": "Value\ndate.birthdate(mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-ingverb-base" + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-6" }, { - "id": "coverage:domain-hacker-noun-base", + "id": "coverage:domain-date-birthdate-arg-refDate", "sourceType": "domain", - "command": "hacker.noun", - "label": "hacker.noun", + "command": "date.birthdate", + "label": "date.birthdate arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.noun", - "params": "()", + "command": "date.birthdate", + "params": "(refDate=1577836800000, min=18, max=65, mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\nhacker.noun()", - "expectedUiSchemaText": "Value\nhacker.noun()", + "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-noun-base" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-refDate" }, { - "id": "coverage:domain-hacker-phrase-base", + "id": "coverage:domain-date-birthdate-arg-max", "sourceType": "domain", - "command": "hacker.phrase", - "label": "hacker.phrase", + "command": "date.birthdate", + "label": "date.birthdate arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.phrase", - "params": "()", + "command": "date.birthdate", + "params": "(max=65, min=18, mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\nhacker.phrase()", - "expectedUiSchemaText": "Value\nhacker.phrase()", + "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-phrase-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-max" }, { - "id": "coverage:domain-hacker-verb-base", + "id": "coverage:domain-date-birthdate-arg-min", "sourceType": "domain", - "command": "hacker.verb", - "label": "hacker.verb", + "command": "date.birthdate", + "label": "date.birthdate arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.verb", - "params": "()", + "command": "date.birthdate", + "params": "(min=18, max=65, mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\nhacker.verb()", - "expectedUiSchemaText": "Value\nhacker.verb()", + "expectedSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-verb-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-min" }, { - "id": "coverage:domain-image-avatar-base", + "id": "coverage:domain-date-birthdate-arg-mode", "sourceType": "domain", - "command": "image.avatar", - "label": "image.avatar", + "command": "date.birthdate", + "label": "date.birthdate arg mode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.avatar", - "params": "()", + "command": "date.birthdate", + "params": "(mode=\"age\", min=18, max=65)", "value": "" } ], - "expectedSchemaText": "Value\nimage.avatar()", - "expectedUiSchemaText": "Value\nimage.avatar()", + "expectedSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", + "expectedUiSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-avatar-base" + "coveredArgs": ["mode"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-mode" }, { - "id": "coverage:domain-image-avatarGitHub-base", + "id": "coverage:domain-date-birthdate-pair-refDate-max", "sourceType": "domain", - "command": "image.avatarGitHub", - "label": "image.avatarGitHub", + "command": "date.birthdate", + "label": "date.birthdate pair refDate/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.avatarGitHub", - "params": "()", + "command": "date.birthdate", + "params": "(refDate=1577836800000, max=65, min=18, mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\nimage.avatarGitHub()", - "expectedUiSchemaText": "Value\nimage.avatarGitHub()", + "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-avatarGitHub-base" + "coveredArgs": ["refDate", "max"], + "origins": ["pair"], + "scenarioId": "domain-date-birthdate-pair-refDate-max" }, { - "id": "coverage:domain-image-dataUri-base", + "id": "coverage:domain-date-birthdate-pair-max-min", "sourceType": "domain", - "command": "image.dataUri", - "label": "image.dataUri", + "command": "date.birthdate", + "label": "date.birthdate pair max/min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.dataUri", - "params": "()", + "command": "date.birthdate", + "params": "(max=65, min=18, mode=\"age\")", "value": "" } ], - "expectedSchemaText": "Value\nimage.dataUri()", - "expectedUiSchemaText": "Value\nimage.dataUri()", + "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-dataUri-base" + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-date-birthdate-pair-max-min" }, { - "id": "coverage:domain-image-personPortrait-base", + "id": "coverage:domain-date-birthdate-pair-min-mode", "sourceType": "domain", - "command": "image.personPortrait", - "label": "image.personPortrait", + "command": "date.birthdate", + "label": "date.birthdate pair min/mode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.personPortrait", - "params": "()", + "command": "date.birthdate", + "params": "(min=18, mode=\"age\", max=65)", "value": "" } ], - "expectedSchemaText": "Value\nimage.personPortrait()", - "expectedUiSchemaText": "Value\nimage.personPortrait()", + "expectedSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", + "expectedUiSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-personPortrait-base" + "coveredArgs": ["min", "mode"], + "origins": ["pair"], + "scenarioId": "domain-date-birthdate-pair-min-mode" }, { - "id": "coverage:domain-image-url-base", + "id": "coverage:domain-date-future-base", "sourceType": "domain", - "command": "image.url", - "label": "image.url", + "command": "date.future", + "label": "date.future", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", + "command": "date.future", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nimage.url()", - "expectedUiSchemaText": "Value\nimage.url()", + "expectedSchemaText": "Value\ndate.future()", + "expectedUiSchemaText": "Value\ndate.future()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-image-url-base" + "scenarioId": "domain-date-future-base" }, { - "id": "coverage:domain-image-url-arg-height", + "id": "coverage:domain-date-future-example-1", "sourceType": "domain", - "command": "image.url", - "label": "image.url arg height", + "command": "date.future", + "label": "date.future example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "(height=2)", + "command": "date.future", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nimage.url(height=2)", - "expectedUiSchemaText": "Value\nimage.url(height=2)", + "expectedSchemaText": "Value\ndate.future()", + "expectedUiSchemaText": "Value\ndate.future()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["height"], - "origins": ["arg"], - "scenarioId": "domain-image-url-arg-height" + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-future-example-1" }, { - "id": "coverage:domain-image-url-arg-width", + "id": "coverage:domain-date-future-example-2", "sourceType": "domain", - "command": "image.url", - "label": "image.url arg width", + "command": "date.future", + "label": "date.future example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "(width=3)", + "command": "date.future", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\nimage.url(width=3)", - "expectedUiSchemaText": "Value\nimage.url(width=3)", + "expectedSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["width"], - "origins": ["arg"], - "scenarioId": "domain-image-url-arg-width" + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-future-example-2" }, { - "id": "coverage:domain-image-url-pair-height-width", + "id": "coverage:domain-date-future-example-3", "sourceType": "domain", - "command": "image.url", - "label": "image.url pair height/width", + "command": "date.future", + "label": "date.future example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "(height=2, width=3)", + "command": "date.future", + "params": "(years=2)", "value": "" } ], - "expectedSchemaText": "Value\nimage.url(height=2, width=3)", - "expectedUiSchemaText": "Value\nimage.url(height=2, width=3)", + "expectedSchemaText": "Value\ndate.future(years=2)", + "expectedUiSchemaText": "Value\ndate.future(years=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["height", "width"], - "origins": ["pair"], - "scenarioId": "domain-image-url-pair-height-width" + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-future-example-3" }, { - "id": "coverage:domain-image-urlLoremFlickr-base", + "id": "coverage:domain-date-future-arg-refDate", "sourceType": "domain", - "command": "image.urlLoremFlickr", - "label": "image.urlLoremFlickr", + "command": "date.future", + "label": "date.future arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.urlLoremFlickr", - "params": "()", + "command": "date.future", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\nimage.urlLoremFlickr()", - "expectedUiSchemaText": "Value\nimage.urlLoremFlickr()", + "expectedSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-urlLoremFlickr-base" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-future-arg-refDate" }, { - "id": "coverage:domain-image-urlPicsumPhotos-base", + "id": "coverage:domain-date-future-arg-years", "sourceType": "domain", - "command": "image.urlPicsumPhotos", - "label": "image.urlPicsumPhotos", + "command": "date.future", + "label": "date.future arg years", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.urlPicsumPhotos", - "params": "()", + "command": "date.future", + "params": "(years=2)", "value": "" } ], - "expectedSchemaText": "Value\nimage.urlPicsumPhotos()", - "expectedUiSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedSchemaText": "Value\ndate.future(years=2)", + "expectedUiSchemaText": "Value\ndate.future(years=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-urlPicsumPhotos-base" + "coveredArgs": ["years"], + "origins": ["arg"], + "scenarioId": "domain-date-future-arg-years" }, { - "id": "coverage:domain-internet-displayName-base", + "id": "coverage:domain-date-future-pair-refDate-years", "sourceType": "domain", - "command": "internet.displayName", - "label": "internet.displayName", + "command": "date.future", + "label": "date.future pair refDate/years", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.displayName", - "params": "()", + "command": "date.future", + "params": "(refDate=1577836800000, years=2)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.displayName()", - "expectedUiSchemaText": "Value\ninternet.displayName()", + "expectedSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", + "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-displayName-base" + "coveredArgs": ["refDate", "years"], + "origins": ["pair"], + "scenarioId": "domain-date-future-pair-refDate-years" }, { - "id": "coverage:domain-internet-domainName-base", + "id": "coverage:domain-date-month-base", "sourceType": "domain", - "command": "internet.domainName", - "label": "internet.domainName", + "command": "date.month", + "label": "date.month", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.domainName", + "command": "date.month", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.domainName()", - "expectedUiSchemaText": "Value\ninternet.domainName()", + "expectedSchemaText": "Value\ndate.month()", + "expectedUiSchemaText": "Value\ndate.month()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-domainName-base" + "scenarioId": "domain-date-month-base" }, { - "id": "coverage:domain-internet-domainSuffix-base", + "id": "coverage:domain-date-month-example-1", "sourceType": "domain", - "command": "internet.domainSuffix", - "label": "internet.domainSuffix", + "command": "date.month", + "label": "date.month example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.domainSuffix", + "command": "date.month", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.domainSuffix()", - "expectedUiSchemaText": "Value\ninternet.domainSuffix()", + "expectedSchemaText": "Value\ndate.month()", + "expectedUiSchemaText": "Value\ndate.month()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-domainSuffix-base" + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-month-example-1" }, { - "id": "coverage:domain-internet-domainWord-base", + "id": "coverage:domain-date-month-example-2", "sourceType": "domain", - "command": "internet.domainWord", - "label": "internet.domainWord", + "command": "date.month", + "label": "date.month example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.domainWord", - "params": "()", + "command": "date.month", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.domainWord()", - "expectedUiSchemaText": "Value\ninternet.domainWord()", + "expectedSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.month(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-domainWord-base" + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-month-example-2" }, { - "id": "coverage:domain-internet-email-base", + "id": "coverage:domain-date-month-example-3", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email", + "command": "date.month", + "label": "date.month example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "()", + "command": "date.month", + "params": "(context=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email()", - "expectedUiSchemaText": "Value\ninternet.email()", + "expectedSchemaText": "Value\ndate.month(context=true)", + "expectedUiSchemaText": "Value\ndate.month(context=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-email-base" + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-month-example-3" }, { - "id": "coverage:domain-internet-email-arg-allowSpecialCharacters", + "id": "coverage:domain-date-month-arg-abbreviated", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg allowSpecialCharacters", + "command": "date.month", + "label": "date.month arg abbreviated", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(allowSpecialCharacters=true)", + "command": "date.month", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", - "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.month(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowSpecialCharacters"], + "coveredArgs": ["abbreviated"], "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-allowSpecialCharacters" + "scenarioId": "domain-date-month-arg-abbreviated" }, { - "id": "coverage:domain-internet-email-arg-firstName", + "id": "coverage:domain-date-month-arg-context", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg firstName", + "command": "date.month", + "label": "date.month arg context", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(firstName=\"Ada\")", + "command": "date.month", + "params": "(context=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\")", - "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedSchemaText": "Value\ndate.month(context=true)", + "expectedUiSchemaText": "Value\ndate.month(context=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName"], + "coveredArgs": ["context"], "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-firstName" + "scenarioId": "domain-date-month-arg-context" }, { - "id": "coverage:domain-internet-email-arg-lastName", + "id": "coverage:domain-date-month-pair-abbreviated-context", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg lastName", + "command": "date.month", + "label": "date.month pair abbreviated/context", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(lastName=\"Lovelace\")", + "command": "date.month", + "params": "(abbreviated=true, context=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedSchemaText": "Value\ndate.month(abbreviated=true, context=true)", + "expectedUiSchemaText": "Value\ndate.month(abbreviated=true, context=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lastName"], - "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-lastName" + "coveredArgs": ["abbreviated", "context"], + "origins": ["pair"], + "scenarioId": "domain-date-month-pair-abbreviated-context" }, { - "id": "coverage:domain-internet-email-arg-provider", + "id": "coverage:domain-date-past-base", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg provider", + "command": "date.past", + "label": "date.past", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(provider=\"example.com\")", + "command": "date.past", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(provider=\"example.com\")", - "expectedUiSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedSchemaText": "Value\ndate.past()", + "expectedUiSchemaText": "Value\ndate.past()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["provider"], - "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-provider" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-past-base" }, { - "id": "coverage:domain-internet-email-pair-allowSpecialCharacters-firstName", + "id": "coverage:domain-date-past-example-1", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email pair allowSpecialCharacters/firstName", + "command": "date.past", + "label": "date.past example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(allowSpecialCharacters=true, firstName=\"Ada\")", + "command": "date.past", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", - "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", + "expectedSchemaText": "Value\ndate.past()", + "expectedUiSchemaText": "Value\ndate.past()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowSpecialCharacters", "firstName"], - "origins": ["pair"], - "scenarioId": "domain-internet-email-pair-allowSpecialCharacters-firstName" + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-past-example-1" }, { - "id": "coverage:domain-internet-email-pair-firstName-lastName", + "id": "coverage:domain-date-past-example-2", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email pair firstName/lastName", + "command": "date.past", + "label": "date.past example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", + "command": "date.past", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName", "lastName"], - "origins": ["pair"], - "scenarioId": "domain-internet-email-pair-firstName-lastName" + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-past-example-2" }, { - "id": "coverage:domain-internet-email-pair-lastName-provider", + "id": "coverage:domain-date-past-example-3", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email pair lastName/provider", + "command": "date.past", + "label": "date.past example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(lastName=\"Lovelace\", provider=\"example.com\")", + "command": "date.past", + "params": "(years=2)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", - "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", + "expectedSchemaText": "Value\ndate.past(years=2)", + "expectedUiSchemaText": "Value\ndate.past(years=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lastName", "provider"], - "origins": ["pair"], - "scenarioId": "domain-internet-email-pair-lastName-provider" + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-past-example-3" }, { - "id": "coverage:domain-internet-emoji-base", + "id": "coverage:domain-date-past-arg-refDate", "sourceType": "domain", - "command": "internet.emoji", - "label": "internet.emoji", + "command": "date.past", + "label": "date.past arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.emoji", - "params": "()", + "command": "date.past", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.emoji()", - "expectedUiSchemaText": "Value\ninternet.emoji()", + "expectedSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-emoji-base" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-past-arg-refDate" }, { - "id": "coverage:domain-internet-emoji-arg-types", + "id": "coverage:domain-date-past-arg-years", "sourceType": "domain", - "command": "internet.emoji", - "label": "internet.emoji arg types", + "command": "date.past", + "label": "date.past arg years", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.emoji", - "params": "(types=[\"food\"])", + "command": "date.past", + "params": "(years=2)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.emoji(types=[\"food\"])", - "expectedUiSchemaText": "Value\ninternet.emoji(types=[\"food\"])", + "expectedSchemaText": "Value\ndate.past(years=2)", + "expectedUiSchemaText": "Value\ndate.past(years=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["types"], + "coveredArgs": ["years"], "origins": ["arg"], - "scenarioId": "domain-internet-emoji-arg-types" + "scenarioId": "domain-date-past-arg-years" }, { - "id": "coverage:domain-internet-exampleEmail-base", + "id": "coverage:domain-date-past-pair-refDate-years", "sourceType": "domain", - "command": "internet.exampleEmail", - "label": "internet.exampleEmail", + "command": "date.past", + "label": "date.past pair refDate/years", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.exampleEmail", - "params": "()", + "command": "date.past", + "params": "(refDate=1577836800000, years=2)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.exampleEmail()", - "expectedUiSchemaText": "Value\ninternet.exampleEmail()", + "expectedSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", + "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-exampleEmail-base" + "coveredArgs": ["refDate", "years"], + "origins": ["pair"], + "scenarioId": "domain-date-past-pair-refDate-years" }, { - "id": "coverage:domain-internet-httpMethod-base", + "id": "coverage:domain-date-recent-base", "sourceType": "domain", - "command": "internet.httpMethod", - "label": "internet.httpMethod", + "command": "date.recent", + "label": "date.recent", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.httpMethod", + "command": "date.recent", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.httpMethod()", - "expectedUiSchemaText": "Value\ninternet.httpMethod()", + "expectedSchemaText": "Value\ndate.recent()", + "expectedUiSchemaText": "Value\ndate.recent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-httpMethod-base" + "scenarioId": "domain-date-recent-base" }, { - "id": "coverage:domain-internet-httpStatusCode-base", + "id": "coverage:domain-date-recent-example-1", "sourceType": "domain", - "command": "internet.httpStatusCode", - "label": "internet.httpStatusCode", + "command": "date.recent", + "label": "date.recent example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.httpStatusCode", + "command": "date.recent", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.httpStatusCode()", - "expectedUiSchemaText": "Value\ninternet.httpStatusCode()", + "expectedSchemaText": "Value\ndate.recent()", + "expectedUiSchemaText": "Value\ndate.recent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-httpStatusCode-base" + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-recent-example-1" }, { - "id": "coverage:domain-internet-ip-base", + "id": "coverage:domain-date-recent-example-2", "sourceType": "domain", - "command": "internet.ip", - "label": "internet.ip", + "command": "date.recent", + "label": "date.recent example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ip", - "params": "()", + "command": "date.recent", + "params": "(days=7)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ip()", - "expectedUiSchemaText": "Value\ninternet.ip()", + "expectedSchemaText": "Value\ndate.recent(days=7)", + "expectedUiSchemaText": "Value\ndate.recent(days=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-ip-base" + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-recent-example-2" }, { - "id": "coverage:domain-internet-ipv4-base", + "id": "coverage:domain-date-recent-example-3", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4", + "command": "date.recent", + "label": "date.recent example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "()", + "command": "date.recent", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4()", - "expectedUiSchemaText": "Value\ninternet.ipv4()", + "expectedSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.recent(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-ipv4-base" + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-recent-example-3" }, { - "id": "coverage:domain-internet-ipv4-arg-cidrBlock", + "id": "coverage:domain-date-recent-arg-days", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4 arg cidrBlock", + "command": "date.recent", + "label": "date.recent arg days", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "(cidrBlock=\"192.168.0.0/24\")", + "command": "date.recent", + "params": "(days=7)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", - "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", + "expectedSchemaText": "Value\ndate.recent(days=7)", + "expectedUiSchemaText": "Value\ndate.recent(days=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["cidrBlock"], + "coveredArgs": ["days"], "origins": ["arg"], - "scenarioId": "domain-internet-ipv4-arg-cidrBlock" + "scenarioId": "domain-date-recent-arg-days" }, { - "id": "coverage:domain-internet-ipv4-arg-network", + "id": "coverage:domain-date-recent-arg-refDate", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4 arg network", + "command": "date.recent", + "label": "date.recent arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "(network=\"private-a\")", + "command": "date.recent", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", - "expectedUiSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", + "expectedSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.recent(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["network"], + "coveredArgs": ["refDate"], "origins": ["arg"], - "scenarioId": "domain-internet-ipv4-arg-network" + "scenarioId": "domain-date-recent-arg-refDate" }, { - "id": "coverage:domain-internet-ipv4-pair-cidrBlock-network", + "id": "coverage:domain-date-recent-pair-days-refDate", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4 pair cidrBlock/network", + "command": "date.recent", + "label": "date.recent pair days/refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", + "command": "date.recent", + "params": "(days=7, refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", - "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", + "expectedSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["cidrBlock", "network"], + "coveredArgs": ["days", "refDate"], "origins": ["pair"], - "scenarioId": "domain-internet-ipv4-pair-cidrBlock-network" + "scenarioId": "domain-date-recent-pair-days-refDate" }, { - "id": "coverage:domain-internet-ipv6-base", + "id": "coverage:domain-date-soon-base", "sourceType": "domain", - "command": "internet.ipv6", - "label": "internet.ipv6", + "command": "date.soon", + "label": "date.soon", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv6", + "command": "date.soon", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv6()", - "expectedUiSchemaText": "Value\ninternet.ipv6()", + "expectedSchemaText": "Value\ndate.soon()", + "expectedUiSchemaText": "Value\ndate.soon()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-ipv6-base" + "scenarioId": "domain-date-soon-base" }, { - "id": "coverage:domain-internet-jwt-base", + "id": "coverage:domain-date-soon-example-1", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt", + "command": "date.soon", + "label": "date.soon example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", + "command": "date.soon", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt()", - "expectedUiSchemaText": "Value\ninternet.jwt()", + "expectedSchemaText": "Value\ndate.soon()", + "expectedUiSchemaText": "Value\ndate.soon()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-jwt-base" + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-soon-example-1" }, { - "id": "coverage:domain-internet-jwt-arg-header", + "id": "coverage:domain-date-soon-example-2", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt arg header", + "command": "date.soon", + "label": "date.soon example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(header={})", + "command": "date.soon", + "params": "(days=7)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(header={})", - "expectedUiSchemaText": "Value\ninternet.jwt(header={})", + "expectedSchemaText": "Value\ndate.soon(days=7)", + "expectedUiSchemaText": "Value\ndate.soon(days=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["header"], - "origins": ["arg"], - "scenarioId": "domain-internet-jwt-arg-header" + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-soon-example-2" }, { - "id": "coverage:domain-internet-jwt-arg-payload", + "id": "coverage:domain-date-soon-example-3", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt arg payload", + "command": "date.soon", + "label": "date.soon example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(payload={})", + "command": "date.soon", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(payload={})", - "expectedUiSchemaText": "Value\ninternet.jwt(payload={})", + "expectedSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.soon(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["payload"], - "origins": ["arg"], - "scenarioId": "domain-internet-jwt-arg-payload" + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-soon-example-3" }, { - "id": "coverage:domain-internet-jwt-arg-refDate", + "id": "coverage:domain-date-soon-arg-days", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt arg refDate", + "command": "date.soon", + "label": "date.soon arg days", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(refDate=4)", + "command": "date.soon", + "params": "(days=7)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(refDate=4)", - "expectedUiSchemaText": "Value\ninternet.jwt(refDate=4)", + "expectedSchemaText": "Value\ndate.soon(days=7)", + "expectedUiSchemaText": "Value\ndate.soon(days=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], + "coveredArgs": ["days"], "origins": ["arg"], - "scenarioId": "domain-internet-jwt-arg-refDate" + "scenarioId": "domain-date-soon-arg-days" }, { - "id": "coverage:domain-internet-jwt-pair-header-payload", + "id": "coverage:domain-date-soon-arg-refDate", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt pair header/payload", + "command": "date.soon", + "label": "date.soon arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(header={}, payload={})", + "command": "date.soon", + "params": "(refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(header={}, payload={})", - "expectedUiSchemaText": "Value\ninternet.jwt(header={}, payload={})", + "expectedSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.soon(refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["header", "payload"], - "origins": ["pair"], - "scenarioId": "domain-internet-jwt-pair-header-payload" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-soon-arg-refDate" }, { - "id": "coverage:domain-internet-jwt-pair-payload-refDate", + "id": "coverage:domain-date-soon-pair-days-refDate", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt pair payload/refDate", + "command": "date.soon", + "label": "date.soon pair days/refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(payload={}, refDate=4)", + "command": "date.soon", + "params": "(days=7, refDate=1577836800000)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(payload={}, refDate=4)", - "expectedUiSchemaText": "Value\ninternet.jwt(payload={}, refDate=4)", + "expectedSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["payload", "refDate"], + "coveredArgs": ["days", "refDate"], "origins": ["pair"], - "scenarioId": "domain-internet-jwt-pair-payload-refDate" + "scenarioId": "domain-date-soon-pair-days-refDate" }, { - "id": "coverage:domain-internet-jwtAlgorithm-base", + "id": "coverage:domain-date-timeZone-base", "sourceType": "domain", - "command": "internet.jwtAlgorithm", - "label": "internet.jwtAlgorithm", + "command": "date.timeZone", + "label": "date.timeZone", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwtAlgorithm", + "command": "date.timeZone", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwtAlgorithm()", - "expectedUiSchemaText": "Value\ninternet.jwtAlgorithm()", + "expectedSchemaText": "Value\ndate.timeZone()", + "expectedUiSchemaText": "Value\ndate.timeZone()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-jwtAlgorithm-base" + "scenarioId": "domain-date-timeZone-base" }, { - "id": "coverage:domain-internet-mac-base", + "id": "coverage:domain-date-timeZone-example-1", "sourceType": "domain", - "command": "internet.mac", - "label": "internet.mac", + "command": "date.timeZone", + "label": "date.timeZone example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.mac", + "command": "date.timeZone", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.mac()", - "expectedUiSchemaText": "Value\ninternet.mac()", + "expectedSchemaText": "Value\ndate.timeZone()", + "expectedUiSchemaText": "Value\ndate.timeZone()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-mac-base" - }, - { - "id": "coverage:domain-internet-mac-arg-separator", - "sourceType": "domain", - "command": "internet.mac", - "label": "internet.mac arg separator", - "rows": [ - { - "name": "Value", - "sourceType": "domain", - "command": "internet.mac", - "params": "(separator=\"-\")", - "value": "" - } - ], - "expectedSchemaText": "Value\ninternet.mac(separator=\"-\")", - "expectedUiSchemaText": "Value\ninternet.mac(separator=\"-\")", - "expectedFileExtension": ".csv", - "pairwiseEligible": false, - "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-internet-mac-arg-separator" + "origins": ["example"], + "scenarioId": "domain-date-timeZone-example-1" }, { - "id": "coverage:domain-internet-password-base", + "id": "coverage:domain-date-weekday-base", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password", + "command": "date.weekday", + "label": "date.weekday", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", + "command": "date.weekday", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password()", - "expectedUiSchemaText": "Value\ninternet.password()", + "expectedSchemaText": "Value\ndate.weekday()", + "expectedUiSchemaText": "Value\ndate.weekday()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-password-base" + "scenarioId": "domain-date-weekday-base" }, { - "id": "coverage:domain-internet-password-example-1", + "id": "coverage:domain-date-weekday-example-1", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password example 1", + "command": "date.weekday", + "label": "date.weekday example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", + "command": "date.weekday", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", + "expectedSchemaText": "Value\ndate.weekday()", + "expectedUiSchemaText": "Value\ndate.weekday()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "coveredArgs": ["abbreviated", "context"], "origins": ["example"], - "scenarioId": "domain-internet-password-example-1" + "scenarioId": "domain-date-weekday-example-1" }, { - "id": "coverage:domain-internet-password-arg-length", + "id": "coverage:domain-date-weekday-example-2", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg length", + "command": "date.weekday", + "label": "date.weekday example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(length=12)", + "command": "date.weekday", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=12)", - "expectedUiSchemaText": "Value\ninternet.password(length=12)", + "expectedSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-length" + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-weekday-example-2" }, { - "id": "coverage:domain-internet-password-arg-memorable", + "id": "coverage:domain-date-weekday-example-3", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg memorable", + "command": "date.weekday", + "label": "date.weekday example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(memorable=true)", + "command": "date.weekday", + "params": "(context=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(memorable=true)", - "expectedUiSchemaText": "Value\ninternet.password(memorable=true)", + "expectedSchemaText": "Value\ndate.weekday(context=true)", + "expectedUiSchemaText": "Value\ndate.weekday(context=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["memorable"], - "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-memorable" + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-weekday-example-3" }, { - "id": "coverage:domain-internet-password-arg-pattern", + "id": "coverage:domain-date-weekday-arg-abbreviated", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg pattern", + "command": "date.weekday", + "label": "date.weekday arg abbreviated", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(pattern=\"[A-Z]\")", + "command": "date.weekday", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", - "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", + "expectedSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern"], + "coveredArgs": ["abbreviated"], "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-pattern" + "scenarioId": "domain-date-weekday-arg-abbreviated" }, { - "id": "coverage:domain-internet-password-arg-prefix", + "id": "coverage:domain-date-weekday-arg-context", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg prefix", + "command": "date.weekday", + "label": "date.weekday arg context", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(prefix=\"#\")", + "command": "date.weekday", + "params": "(context=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(prefix=\"#\")", + "expectedSchemaText": "Value\ndate.weekday(context=true)", + "expectedUiSchemaText": "Value\ndate.weekday(context=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], + "coveredArgs": ["context"], "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-prefix" + "scenarioId": "domain-date-weekday-arg-context" }, { - "id": "coverage:domain-internet-password-pair-length-memorable", + "id": "coverage:domain-date-weekday-pair-abbreviated-context", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password pair length/memorable", + "command": "date.weekday", + "label": "date.weekday pair abbreviated/context", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(length=12, memorable=true)", + "command": "date.weekday", + "params": "(abbreviated=true, context=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=12, memorable=true)", - "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=true)", + "expectedSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", + "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "memorable"], + "coveredArgs": ["abbreviated", "context"], "origins": ["pair"], - "scenarioId": "domain-internet-password-pair-length-memorable" + "scenarioId": "domain-date-weekday-pair-abbreviated-context" }, { - "id": "coverage:domain-internet-password-pair-memorable-pattern", + "id": "coverage:domain-finance-accountName-base", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password pair memorable/pattern", + "command": "finance.accountName", + "label": "finance.accountName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(memorable=true, pattern=\"[A-Z]\")", + "command": "finance.accountName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", - "expectedUiSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", + "expectedSchemaText": "Value\nfinance.accountName()", + "expectedUiSchemaText": "Value\nfinance.accountName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["memorable", "pattern"], - "origins": ["pair"], - "scenarioId": "domain-internet-password-pair-memorable-pattern" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-accountName-base" }, { - "id": "coverage:domain-internet-password-pair-pattern-prefix", + "id": "coverage:domain-finance-accountName-example-1", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password pair pattern/prefix", + "command": "finance.accountName", + "label": "finance.accountName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(pattern=\"[A-Z]\", prefix=\"#\")", + "command": "finance.accountName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", + "expectedSchemaText": "Value\nfinance.accountName()", + "expectedUiSchemaText": "Value\nfinance.accountName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-internet-password-pair-pattern-prefix" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-accountName-example-1" }, { - "id": "coverage:domain-internet-port-base", + "id": "coverage:domain-finance-accountNumber-base", "sourceType": "domain", - "command": "internet.port", - "label": "internet.port", + "command": "finance.accountNumber", + "label": "finance.accountNumber", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.port", + "command": "finance.accountNumber", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.port()", - "expectedUiSchemaText": "Value\ninternet.port()", + "expectedSchemaText": "Value\nfinance.accountNumber()", + "expectedUiSchemaText": "Value\nfinance.accountNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-port-base" + "scenarioId": "domain-finance-accountNumber-base" }, { - "id": "coverage:domain-internet-protocol-base", + "id": "coverage:domain-finance-accountNumber-example-1", "sourceType": "domain", - "command": "internet.protocol", - "label": "internet.protocol", + "command": "finance.accountNumber", + "label": "finance.accountNumber example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.protocol", + "command": "finance.accountNumber", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.protocol()", - "expectedUiSchemaText": "Value\ninternet.protocol()", + "expectedSchemaText": "Value\nfinance.accountNumber()", + "expectedUiSchemaText": "Value\nfinance.accountNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-protocol-base" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-accountNumber-example-1" }, { - "id": "coverage:domain-internet-url-base", + "id": "coverage:domain-finance-accountNumber-example-2", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url", + "command": "finance.accountNumber", + "label": "finance.accountNumber example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "()", + "command": "finance.accountNumber", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url()", - "expectedUiSchemaText": "Value\ninternet.url()", + "expectedSchemaText": "Value\nfinance.accountNumber(length=5)", + "expectedUiSchemaText": "Value\nfinance.accountNumber(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-url-base" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-accountNumber-example-2" }, { - "id": "coverage:domain-internet-url-arg-appendSlash", + "id": "coverage:domain-finance-accountNumber-arg-length", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url arg appendSlash", + "command": "finance.accountNumber", + "label": "finance.accountNumber arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "(appendSlash=true)", + "command": "finance.accountNumber", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url(appendSlash=true)", - "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true)", + "expectedSchemaText": "Value\nfinance.accountNumber(length=4)", + "expectedUiSchemaText": "Value\nfinance.accountNumber(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["appendSlash"], + "coveredArgs": ["length"], "origins": ["arg"], - "scenarioId": "domain-internet-url-arg-appendSlash" + "scenarioId": "domain-finance-accountNumber-arg-length" }, { - "id": "coverage:domain-internet-url-arg-protocol", + "id": "coverage:domain-finance-amount-base", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url arg protocol", + "command": "finance.amount", + "label": "finance.amount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "(protocol=\"https\")", + "command": "finance.amount", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url(protocol=\"https\")", - "expectedUiSchemaText": "Value\ninternet.url(protocol=\"https\")", + "expectedSchemaText": "Value\nfinance.amount()", + "expectedUiSchemaText": "Value\nfinance.amount()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["protocol"], - "origins": ["arg"], - "scenarioId": "domain-internet-url-arg-protocol" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-amount-base" }, { - "id": "coverage:domain-internet-url-pair-appendSlash-protocol", + "id": "coverage:domain-finance-amount-example-1", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url pair appendSlash/protocol", + "command": "finance.amount", + "label": "finance.amount example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "(appendSlash=true, protocol=\"https\")", + "command": "finance.amount", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", - "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", + "expectedSchemaText": "Value\nfinance.amount()", + "expectedUiSchemaText": "Value\nfinance.amount()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["appendSlash", "protocol"], - "origins": ["pair"], - "scenarioId": "domain-internet-url-pair-appendSlash-protocol" + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-1" }, { - "id": "coverage:domain-internet-userAgent-base", + "id": "coverage:domain-finance-amount-example-2", "sourceType": "domain", - "command": "internet.userAgent", - "label": "internet.userAgent", + "command": "finance.amount", + "label": "finance.amount example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.userAgent", - "params": "()", + "command": "finance.amount", + "params": "(autoFormat=true)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.userAgent()", - "expectedUiSchemaText": "Value\ninternet.userAgent()", + "expectedSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-userAgent-base" + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-2" }, { - "id": "coverage:domain-internet-username-base", + "id": "coverage:domain-finance-amount-example-3", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username", + "command": "finance.amount", + "label": "finance.amount example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "()", + "command": "finance.amount", + "params": "(dec=2)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username()", - "expectedUiSchemaText": "Value\ninternet.username()", + "expectedSchemaText": "Value\nfinance.amount(dec=2)", + "expectedUiSchemaText": "Value\nfinance.amount(dec=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-username-base" + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-3" }, { - "id": "coverage:domain-internet-username-arg-firstName", + "id": "coverage:domain-finance-amount-example-4", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username arg firstName", + "command": "finance.amount", + "label": "finance.amount example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "(firstName=\"Ada\")", + "command": "finance.amount", + "params": "(max=100)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\")", - "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\")", + "expectedSchemaText": "Value\nfinance.amount(max=100)", + "expectedUiSchemaText": "Value\nfinance.amount(max=100)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName"], - "origins": ["arg"], - "scenarioId": "domain-internet-username-arg-firstName" + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-4" }, { - "id": "coverage:domain-internet-username-arg-lastName", + "id": "coverage:domain-finance-amount-example-5", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username arg lastName", + "command": "finance.amount", + "label": "finance.amount example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "(lastName=\"Lovelace\")", + "command": "finance.amount", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", + "expectedSchemaText": "Value\nfinance.amount(max=10, min=1)", + "expectedUiSchemaText": "Value\nfinance.amount(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lastName"], - "origins": ["arg"], - "scenarioId": "domain-internet-username-arg-lastName" + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-5" }, { - "id": "coverage:domain-internet-username-pair-firstName-lastName", + "id": "coverage:domain-finance-amount-example-6", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username pair firstName/lastName", + "command": "finance.amount", + "label": "finance.amount example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", + "command": "finance.amount", + "params": "(symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedUiSchemaText": "Value\nfinance.amount(symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName", "lastName"], - "origins": ["pair"], - "scenarioId": "domain-internet-username-pair-firstName-lastName" + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-6" }, { - "id": "coverage:domain-literal-value-base", + "id": "coverage:domain-finance-amount-arg-autoFormat", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value", + "command": "finance.amount", + "label": "finance.amount arg autoFormat", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "()", + "command": "finance.amount", + "params": "(autoFormat=true)", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value()", - "expectedUiSchemaText": "Value\nliteral.value()", + "expectedSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-literal-value-base" + "coveredArgs": ["autoFormat"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-autoFormat" }, { - "id": "coverage:domain-literal-value-example-1", + "id": "coverage:domain-finance-amount-arg-dec", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value example 1", + "command": "finance.amount", + "label": "finance.amount arg dec", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "(\"Pending\")", + "command": "finance.amount", + "params": "(dec=2)", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(\"Pending\")", - "expectedUiSchemaText": "Value\nliteral.value(\"Pending\")", + "expectedSchemaText": "Value\nfinance.amount(dec=2)", + "expectedUiSchemaText": "Value\nfinance.amount(dec=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], - "origins": ["example"], - "scenarioId": "domain-literal-value-example-1" + "coveredArgs": ["dec"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-dec" }, { - "id": "coverage:domain-literal-value-example-2", + "id": "coverage:domain-finance-amount-arg-max", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value example 2", + "command": "finance.amount", + "label": "finance.amount arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "(\"\")", + "command": "finance.amount", + "params": "(max=100)", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(\"\")", - "expectedUiSchemaText": "Value\nliteral.value(\"\")", + "expectedSchemaText": "Value\nfinance.amount(max=100)", + "expectedUiSchemaText": "Value\nfinance.amount(max=100)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], - "origins": ["example"], - "scenarioId": "domain-literal-value-example-2" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-max" }, { - "id": "coverage:domain-literal-value-arg-value", + "id": "coverage:domain-finance-amount-arg-min", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value arg value", + "command": "finance.amount", + "label": "finance.amount arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "(value=true)", + "command": "finance.amount", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(value=true)", - "expectedUiSchemaText": "Value\nliteral.value(value=true)", + "expectedSchemaText": "Value\nfinance.amount(min=1)", + "expectedUiSchemaText": "Value\nfinance.amount(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-literal-value-arg-value" + "scenarioId": "domain-finance-amount-arg-min" }, { - "id": "coverage:domain-location-buildingNumber-base", + "id": "coverage:domain-finance-amount-arg-symbol", "sourceType": "domain", - "command": "location.buildingNumber", - "label": "location.buildingNumber", + "command": "finance.amount", + "label": "finance.amount arg symbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.buildingNumber", - "params": "()", + "command": "finance.amount", + "params": "(symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.buildingNumber()", - "expectedUiSchemaText": "Value\nlocation.buildingNumber()", + "expectedSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedUiSchemaText": "Value\nfinance.amount(symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-buildingNumber-base" + "coveredArgs": ["symbol"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-symbol" }, { - "id": "coverage:domain-location-cardinalDirection-base", + "id": "coverage:domain-finance-amount-pair-autoFormat-dec", "sourceType": "domain", - "command": "location.cardinalDirection", - "label": "location.cardinalDirection", + "command": "finance.amount", + "label": "finance.amount pair autoFormat/dec", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.cardinalDirection", - "params": "()", + "command": "finance.amount", + "params": "(autoFormat=true, dec=2)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.cardinalDirection()", - "expectedUiSchemaText": "Value\nlocation.cardinalDirection()", + "expectedSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", + "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-cardinalDirection-base" + "coveredArgs": ["autoFormat", "dec"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-autoFormat-dec" }, { - "id": "coverage:domain-location-city-base", + "id": "coverage:domain-finance-amount-pair-dec-max", "sourceType": "domain", - "command": "location.city", - "label": "location.city", + "command": "finance.amount", + "label": "finance.amount pair dec/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.city", - "params": "()", + "command": "finance.amount", + "params": "(dec=2, max=100)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.city()", - "expectedUiSchemaText": "Value\nlocation.city()", + "expectedSchemaText": "Value\nfinance.amount(dec=2, max=100)", + "expectedUiSchemaText": "Value\nfinance.amount(dec=2, max=100)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-city-base" + "coveredArgs": ["dec", "max"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-dec-max" }, { - "id": "coverage:domain-location-continent-base", + "id": "coverage:domain-finance-amount-pair-max-min", "sourceType": "domain", - "command": "location.continent", - "label": "location.continent", + "command": "finance.amount", + "label": "finance.amount pair max/min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.continent", - "params": "()", + "command": "finance.amount", + "params": "(max=100, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.continent()", - "expectedUiSchemaText": "Value\nlocation.continent()", + "expectedSchemaText": "Value\nfinance.amount(max=100, min=1)", + "expectedUiSchemaText": "Value\nfinance.amount(max=100, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-continent-base" + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-max-min" }, { - "id": "coverage:domain-location-country-base", + "id": "coverage:domain-finance-amount-pair-min-symbol", "sourceType": "domain", - "command": "location.country", - "label": "location.country", + "command": "finance.amount", + "label": "finance.amount pair min/symbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.country", - "params": "()", + "command": "finance.amount", + "params": "(min=1, symbol=\"$\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.country()", - "expectedUiSchemaText": "Value\nlocation.country()", + "expectedSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", + "expectedUiSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-country-base" + "coveredArgs": ["min", "symbol"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-min-symbol" }, { - "id": "coverage:domain-location-countryCode-base", + "id": "coverage:domain-finance-bic-base", "sourceType": "domain", - "command": "location.countryCode", - "label": "location.countryCode", + "command": "finance.bic", + "label": "finance.bic", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.countryCode", + "command": "finance.bic", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.countryCode()", - "expectedUiSchemaText": "Value\nlocation.countryCode()", + "expectedSchemaText": "Value\nfinance.bic()", + "expectedUiSchemaText": "Value\nfinance.bic()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-countryCode-base" + "scenarioId": "domain-finance-bic-base" }, { - "id": "coverage:domain-location-county-base", + "id": "coverage:domain-finance-bic-example-1", "sourceType": "domain", - "command": "location.county", - "label": "location.county", + "command": "finance.bic", + "label": "finance.bic example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.county", + "command": "finance.bic", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.county()", - "expectedUiSchemaText": "Value\nlocation.county()", + "expectedSchemaText": "Value\nfinance.bic()", + "expectedUiSchemaText": "Value\nfinance.bic()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-county-base" + "coveredArgs": ["includeBranchCode"], + "origins": ["example"], + "scenarioId": "domain-finance-bic-example-1" }, { - "id": "coverage:domain-location-direction-base", + "id": "coverage:domain-finance-bic-example-2", "sourceType": "domain", - "command": "location.direction", - "label": "location.direction", + "command": "finance.bic", + "label": "finance.bic example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.direction", - "params": "()", + "command": "finance.bic", + "params": "(includeBranchCode=true)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.direction()", - "expectedUiSchemaText": "Value\nlocation.direction()", + "expectedSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedUiSchemaText": "Value\nfinance.bic(includeBranchCode=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-direction-base" + "coveredArgs": ["includeBranchCode"], + "origins": ["example"], + "scenarioId": "domain-finance-bic-example-2" }, { - "id": "coverage:domain-location-direction-arg-abbreviated", + "id": "coverage:domain-finance-bic-arg-includeBranchCode", "sourceType": "domain", - "command": "location.direction", - "label": "location.direction arg abbreviated", + "command": "finance.bic", + "label": "finance.bic arg includeBranchCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.direction", - "params": "(abbreviated=true)", + "command": "finance.bic", + "params": "(includeBranchCode=true)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.direction(abbreviated=true)", - "expectedUiSchemaText": "Value\nlocation.direction(abbreviated=true)", + "expectedSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedUiSchemaText": "Value\nfinance.bic(includeBranchCode=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], + "coveredArgs": ["includeBranchCode"], "origins": ["arg"], - "scenarioId": "domain-location-direction-arg-abbreviated" + "scenarioId": "domain-finance-bic-arg-includeBranchCode" }, { - "id": "coverage:domain-location-latitude-base", + "id": "coverage:domain-finance-bitcoinAddress-base", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", + "command": "finance.bitcoinAddress", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude()", - "expectedUiSchemaText": "Value\nlocation.latitude()", + "expectedSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-latitude-base" + "scenarioId": "domain-finance-bitcoinAddress-base" }, { - "id": "coverage:domain-location-latitude-arg-min", + "id": "coverage:domain-finance-bitcoinAddress-example-1", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude arg min", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(min=1)", + "command": "finance.bitcoinAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(min=1)", - "expectedUiSchemaText": "Value\nlocation.latitude(min=1)", + "expectedSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-location-latitude-arg-min" + "coveredArgs": ["type", "network"], + "origins": ["example"], + "scenarioId": "domain-finance-bitcoinAddress-example-1" }, { - "id": "coverage:domain-location-latitude-arg-max", + "id": "coverage:domain-finance-bitcoinAddress-example-2", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude arg max", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(max=3)", + "command": "finance.bitcoinAddress", + "params": "(type=\"bech32\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(max=3)", - "expectedUiSchemaText": "Value\nlocation.latitude(max=3)", + "expectedSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-location-latitude-arg-max" + "coveredArgs": ["type", "network"], + "origins": ["example"], + "scenarioId": "domain-finance-bitcoinAddress-example-2" }, { - "id": "coverage:domain-location-latitude-arg-precision", + "id": "coverage:domain-finance-bitcoinAddress-example-3", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude arg precision", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(precision=4)", + "command": "finance.bitcoinAddress", + "params": "(network=\"testnet\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(precision=4)", - "expectedUiSchemaText": "Value\nlocation.latitude(precision=4)", + "expectedSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["precision"], + "coveredArgs": ["type", "network"], + "origins": ["example"], + "scenarioId": "domain-finance-bitcoinAddress-example-3" + }, + { + "id": "coverage:domain-finance-bitcoinAddress-arg-type", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress arg type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "(type=\"bech32\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type"], "origins": ["arg"], - "scenarioId": "domain-location-latitude-arg-precision" + "scenarioId": "domain-finance-bitcoinAddress-arg-type" }, { - "id": "coverage:domain-location-latitude-pair-min-max", + "id": "coverage:domain-finance-bitcoinAddress-arg-network", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude pair min/max", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress arg network", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(min=1, max=3)", + "command": "finance.bitcoinAddress", + "params": "(network=\"testnet\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(min=1, max=3)", - "expectedUiSchemaText": "Value\nlocation.latitude(min=1, max=3)", + "expectedSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-location-latitude-pair-min-max" + "coveredArgs": ["network"], + "origins": ["arg"], + "scenarioId": "domain-finance-bitcoinAddress-arg-network" }, { - "id": "coverage:domain-location-latitude-pair-max-precision", + "id": "coverage:domain-finance-bitcoinAddress-pair-type-network", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude pair max/precision", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress pair type/network", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(max=3, precision=4)", + "command": "finance.bitcoinAddress", + "params": "(type=\"bech32\", network=\"testnet\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(max=3, precision=4)", - "expectedUiSchemaText": "Value\nlocation.latitude(max=3, precision=4)", + "expectedSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\", network=\"testnet\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\", network=\"testnet\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "precision"], + "coveredArgs": ["type", "network"], "origins": ["pair"], - "scenarioId": "domain-location-latitude-pair-max-precision" + "scenarioId": "domain-finance-bitcoinAddress-pair-type-network" }, { - "id": "coverage:domain-location-longitude-base", + "id": "coverage:domain-finance-creditCardCVV-base", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude", + "command": "finance.creditCardCVV", + "label": "finance.creditCardCVV", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", + "command": "finance.creditCardCVV", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude()", - "expectedUiSchemaText": "Value\nlocation.longitude()", + "expectedSchemaText": "Value\nfinance.creditCardCVV()", + "expectedUiSchemaText": "Value\nfinance.creditCardCVV()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-longitude-base" + "scenarioId": "domain-finance-creditCardCVV-base" }, { - "id": "coverage:domain-location-longitude-arg-min", + "id": "coverage:domain-finance-creditCardCVV-example-1", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude arg min", + "command": "finance.creditCardCVV", + "label": "finance.creditCardCVV example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(min=1)", + "command": "finance.creditCardCVV", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(min=1)", - "expectedUiSchemaText": "Value\nlocation.longitude(min=1)", + "expectedSchemaText": "Value\nfinance.creditCardCVV()", + "expectedUiSchemaText": "Value\nfinance.creditCardCVV()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-location-longitude-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardCVV-example-1" }, { - "id": "coverage:domain-location-longitude-arg-max", + "id": "coverage:domain-finance-creditCardIssuer-base", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude arg max", + "command": "finance.creditCardIssuer", + "label": "finance.creditCardIssuer", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(max=3)", + "command": "finance.creditCardIssuer", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(max=3)", - "expectedUiSchemaText": "Value\nlocation.longitude(max=3)", + "expectedSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedUiSchemaText": "Value\nfinance.creditCardIssuer()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-location-longitude-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-creditCardIssuer-base" }, { - "id": "coverage:domain-location-longitude-arg-precision", + "id": "coverage:domain-finance-creditCardIssuer-example-1", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude arg precision", + "command": "finance.creditCardIssuer", + "label": "finance.creditCardIssuer example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(precision=4)", + "command": "finance.creditCardIssuer", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(precision=4)", - "expectedUiSchemaText": "Value\nlocation.longitude(precision=4)", + "expectedSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedUiSchemaText": "Value\nfinance.creditCardIssuer()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["precision"], - "origins": ["arg"], - "scenarioId": "domain-location-longitude-arg-precision" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardIssuer-example-1" }, { - "id": "coverage:domain-location-longitude-pair-min-max", + "id": "coverage:domain-finance-creditCardNumber-base", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude pair min/max", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(min=1, max=3)", + "command": "finance.creditCardNumber", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(min=1, max=3)", - "expectedUiSchemaText": "Value\nlocation.longitude(min=1, max=3)", + "expectedSchemaText": "Value\nfinance.creditCardNumber()", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-location-longitude-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-creditCardNumber-base" }, { - "id": "coverage:domain-location-longitude-pair-max-precision", + "id": "coverage:domain-finance-creditCardNumber-example-1", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude pair max/precision", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(max=3, precision=4)", + "command": "finance.creditCardNumber", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(max=3, precision=4)", - "expectedUiSchemaText": "Value\nlocation.longitude(max=3, precision=4)", + "expectedSchemaText": "Value\nfinance.creditCardNumber()", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "precision"], - "origins": ["pair"], - "scenarioId": "domain-location-longitude-pair-max-precision" + "coveredArgs": ["issuer"], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardNumber-example-1" }, { - "id": "coverage:domain-location-ordinalDirection-base", + "id": "coverage:domain-finance-creditCardNumber-example-2", "sourceType": "domain", - "command": "location.ordinalDirection", - "label": "location.ordinalDirection", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.ordinalDirection", - "params": "()", + "command": "finance.creditCardNumber", + "params": "(issuer=\"Visa\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.ordinalDirection()", - "expectedUiSchemaText": "Value\nlocation.ordinalDirection()", + "expectedSchemaText": "Value\nfinance.creditCardNumber(issuer=\"Visa\")", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber(issuer=\"Visa\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-ordinalDirection-base" + "coveredArgs": ["issuer"], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardNumber-example-2" }, { - "id": "coverage:domain-location-secondaryAddress-base", + "id": "coverage:domain-finance-creditCardNumber-arg-issuer", "sourceType": "domain", - "command": "location.secondaryAddress", - "label": "location.secondaryAddress", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber arg issuer", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.secondaryAddress", - "params": "()", + "command": "finance.creditCardNumber", + "params": "(issuer=\"finance-creditCardNumber-issuer\")", "value": "" } ], - "expectedSchemaText": "Value\nlocation.secondaryAddress()", - "expectedUiSchemaText": "Value\nlocation.secondaryAddress()", + "expectedSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-secondaryAddress-base" + "coveredArgs": ["issuer"], + "origins": ["arg"], + "scenarioId": "domain-finance-creditCardNumber-arg-issuer" }, { - "id": "coverage:domain-location-state-base", + "id": "coverage:domain-finance-currencyCode-base", "sourceType": "domain", - "command": "location.state", - "label": "location.state", + "command": "finance.currencyCode", + "label": "finance.currencyCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.state", + "command": "finance.currencyCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.state()", - "expectedUiSchemaText": "Value\nlocation.state()", + "expectedSchemaText": "Value\nfinance.currencyCode()", + "expectedUiSchemaText": "Value\nfinance.currencyCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-state-base" + "scenarioId": "domain-finance-currencyCode-base" }, { - "id": "coverage:domain-location-state-arg-abbreviated", + "id": "coverage:domain-finance-currencyCode-example-1", "sourceType": "domain", - "command": "location.state", - "label": "location.state arg abbreviated", + "command": "finance.currencyCode", + "label": "finance.currencyCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.state", - "params": "(abbreviated=true)", + "command": "finance.currencyCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.state(abbreviated=true)", - "expectedUiSchemaText": "Value\nlocation.state(abbreviated=true)", + "expectedSchemaText": "Value\nfinance.currencyCode()", + "expectedUiSchemaText": "Value\nfinance.currencyCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], - "origins": ["arg"], - "scenarioId": "domain-location-state-arg-abbreviated" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-currencyCode-example-1" }, { - "id": "coverage:domain-location-street-base", + "id": "coverage:domain-finance-currencyName-base", "sourceType": "domain", - "command": "location.street", - "label": "location.street", + "command": "finance.currencyName", + "label": "finance.currencyName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.street", + "command": "finance.currencyName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.street()", - "expectedUiSchemaText": "Value\nlocation.street()", + "expectedSchemaText": "Value\nfinance.currencyName()", + "expectedUiSchemaText": "Value\nfinance.currencyName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-street-base" + "scenarioId": "domain-finance-currencyName-base" }, { - "id": "coverage:domain-location-streetAddress-base", + "id": "coverage:domain-finance-currencyName-example-1", "sourceType": "domain", - "command": "location.streetAddress", - "label": "location.streetAddress", + "command": "finance.currencyName", + "label": "finance.currencyName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.streetAddress", + "command": "finance.currencyName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.streetAddress()", - "expectedUiSchemaText": "Value\nlocation.streetAddress()", + "expectedSchemaText": "Value\nfinance.currencyName()", + "expectedUiSchemaText": "Value\nfinance.currencyName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-streetAddress-base" + "origins": ["example"], + "scenarioId": "domain-finance-currencyName-example-1" }, { - "id": "coverage:domain-location-streetAddress-arg-useFullAddress", + "id": "coverage:domain-finance-currencyNumericCode-base", "sourceType": "domain", - "command": "location.streetAddress", - "label": "location.streetAddress arg useFullAddress", + "command": "finance.currencyNumericCode", + "label": "finance.currencyNumericCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.streetAddress", - "params": "(useFullAddress=true)", + "command": "finance.currencyNumericCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", - "expectedUiSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", + "expectedSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedUiSchemaText": "Value\nfinance.currencyNumericCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["useFullAddress"], - "origins": ["arg"], - "scenarioId": "domain-location-streetAddress-arg-useFullAddress" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-currencyNumericCode-base" }, { - "id": "coverage:domain-location-timeZone-base", + "id": "coverage:domain-finance-currencyNumericCode-example-1", "sourceType": "domain", - "command": "location.timeZone", - "label": "location.timeZone", + "command": "finance.currencyNumericCode", + "label": "finance.currencyNumericCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.timeZone", + "command": "finance.currencyNumericCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.timeZone()", - "expectedUiSchemaText": "Value\nlocation.timeZone()", + "expectedSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedUiSchemaText": "Value\nfinance.currencyNumericCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-timeZone-base" + "origins": ["example"], + "scenarioId": "domain-finance-currencyNumericCode-example-1" }, { - "id": "coverage:domain-location-zipCode-base", + "id": "coverage:domain-finance-currencySymbol-base", "sourceType": "domain", - "command": "location.zipCode", - "label": "location.zipCode", + "command": "finance.currencySymbol", + "label": "finance.currencySymbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.zipCode", + "command": "finance.currencySymbol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.zipCode()", - "expectedUiSchemaText": "Value\nlocation.zipCode()", + "expectedSchemaText": "Value\nfinance.currencySymbol()", + "expectedUiSchemaText": "Value\nfinance.currencySymbol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-zipCode-base" + "scenarioId": "domain-finance-currencySymbol-base" }, { - "id": "coverage:domain-lorem-lines-base", + "id": "coverage:domain-finance-currencySymbol-example-1", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines", + "command": "finance.currencySymbol", + "label": "finance.currencySymbol example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", + "command": "finance.currencySymbol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines()", - "expectedUiSchemaText": "Value\nlorem.lines()", + "expectedSchemaText": "Value\nfinance.currencySymbol()", + "expectedUiSchemaText": "Value\nfinance.currencySymbol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-lines-base" + "origins": ["example"], + "scenarioId": "domain-finance-currencySymbol-example-1" }, { - "id": "coverage:domain-lorem-lines-arg-min", + "id": "coverage:domain-finance-ethereumAddress-base", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg min", + "command": "finance.ethereumAddress", + "label": "finance.ethereumAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(min=1)", + "command": "finance.ethereumAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(min=1)", - "expectedUiSchemaText": "Value\nlorem.lines(min=1)", + "expectedSchemaText": "Value\nfinance.ethereumAddress()", + "expectedUiSchemaText": "Value\nfinance.ethereumAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-ethereumAddress-base" }, { - "id": "coverage:domain-lorem-lines-arg-max", + "id": "coverage:domain-finance-ethereumAddress-example-1", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg max", + "command": "finance.ethereumAddress", + "label": "finance.ethereumAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(max=3)", + "command": "finance.ethereumAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(max=3)", - "expectedUiSchemaText": "Value\nlorem.lines(max=3)", + "expectedSchemaText": "Value\nfinance.ethereumAddress()", + "expectedUiSchemaText": "Value\nfinance.ethereumAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-ethereumAddress-example-1" }, { - "id": "coverage:domain-lorem-lines-arg-lineCount", + "id": "coverage:domain-finance-iban-base", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg lineCount", + "command": "finance.iban", + "label": "finance.iban", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCount=2)", + "command": "finance.iban", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCount=2)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2)", + "expectedSchemaText": "Value\nfinance.iban()", + "expectedUiSchemaText": "Value\nfinance.iban()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-lineCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-iban-base" }, { - "id": "coverage:domain-lorem-lines-arg-lineCountMax", + "id": "coverage:domain-finance-iban-example-1", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg lineCountMax", + "command": "finance.iban", + "label": "finance.iban example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCountMax=2)", + "command": "finance.iban", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2)", + "expectedSchemaText": "Value\nfinance.iban()", + "expectedUiSchemaText": "Value\nfinance.iban()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-lineCountMax" + "coveredArgs": ["countryCode", "formatted"], + "origins": ["example"], + "scenarioId": "domain-finance-iban-example-1" }, { - "id": "coverage:domain-lorem-lines-arg-lineCountMin", + "id": "coverage:domain-finance-iban-example-2", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg lineCountMin", + "command": "finance.iban", + "label": "finance.iban example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCountMin=1)", + "command": "finance.iban", + "params": "(countryCode=\"GB\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCountMin=1)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCountMin=1)", + "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-lineCountMin" + "coveredArgs": ["countryCode", "formatted"], + "origins": ["example"], + "scenarioId": "domain-finance-iban-example-2" }, { - "id": "coverage:domain-lorem-lines-pair-min-max", + "id": "coverage:domain-finance-iban-example-3", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair min/max", + "command": "finance.iban", + "label": "finance.iban example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(min=1, max=3)", + "command": "finance.iban", + "params": "(formatted=true)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.lines(min=1, max=3)", + "expectedSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedUiSchemaText": "Value\nfinance.iban(formatted=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-min-max" + "coveredArgs": ["countryCode", "formatted"], + "origins": ["example"], + "scenarioId": "domain-finance-iban-example-3" }, { - "id": "coverage:domain-lorem-lines-pair-max-lineCount", + "id": "coverage:domain-finance-iban-arg-countryCode", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair max/lineCount", + "command": "finance.iban", + "label": "finance.iban arg countryCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(max=3, lineCount=2)", + "command": "finance.iban", + "params": "(countryCode=\"GB\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", - "expectedUiSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", + "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "lineCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-max-lineCount" + "coveredArgs": ["countryCode"], + "origins": ["arg"], + "scenarioId": "domain-finance-iban-arg-countryCode" }, { - "id": "coverage:domain-lorem-lines-pair-lineCount-lineCountMax", + "id": "coverage:domain-finance-iban-arg-formatted", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair lineCount/lineCountMax", + "command": "finance.iban", + "label": "finance.iban arg formatted", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCount=2, lineCountMax=2)", + "command": "finance.iban", + "params": "(formatted=true)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", + "expectedSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedUiSchemaText": "Value\nfinance.iban(formatted=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCount", "lineCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-lineCount-lineCountMax" + "coveredArgs": ["formatted"], + "origins": ["arg"], + "scenarioId": "domain-finance-iban-arg-formatted" }, { - "id": "coverage:domain-lorem-lines-pair-lineCountMax-lineCountMin", + "id": "coverage:domain-finance-iban-pair-countryCode-formatted", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair lineCountMax/lineCountMin", + "command": "finance.iban", + "label": "finance.iban pair countryCode/formatted", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCountMax=2, lineCountMin=1)", + "command": "finance.iban", + "params": "(countryCode=\"GB\", formatted=true)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", + "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", + "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCountMax", "lineCountMin"], + "coveredArgs": ["countryCode", "formatted"], "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-lineCountMax-lineCountMin" + "scenarioId": "domain-finance-iban-pair-countryCode-formatted" }, { - "id": "coverage:domain-lorem-paragraph-base", + "id": "coverage:domain-finance-litecoinAddress-base", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph", + "command": "finance.litecoinAddress", + "label": "finance.litecoinAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", + "command": "finance.litecoinAddress", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph()", - "expectedUiSchemaText": "Value\nlorem.paragraph()", + "expectedSchemaText": "Value\nfinance.litecoinAddress()", + "expectedUiSchemaText": "Value\nfinance.litecoinAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-paragraph-base" + "scenarioId": "domain-finance-litecoinAddress-base" }, { - "id": "coverage:domain-lorem-paragraph-arg-min", + "id": "coverage:domain-finance-litecoinAddress-example-1", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg min", + "command": "finance.litecoinAddress", + "label": "finance.litecoinAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(min=1)", + "command": "finance.litecoinAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(min=1)", - "expectedUiSchemaText": "Value\nlorem.paragraph(min=1)", + "expectedSchemaText": "Value\nfinance.litecoinAddress()", + "expectedUiSchemaText": "Value\nfinance.litecoinAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-litecoinAddress-example-1" }, { - "id": "coverage:domain-lorem-paragraph-arg-max", + "id": "coverage:domain-finance-pin-base", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg max", + "command": "finance.pin", + "label": "finance.pin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(max=3)", + "command": "finance.pin", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraph(max=3)", + "expectedSchemaText": "Value\nfinance.pin()", + "expectedUiSchemaText": "Value\nfinance.pin()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-pin-base" }, { - "id": "coverage:domain-lorem-paragraph-arg-sentenceCount", + "id": "coverage:domain-finance-pin-example-1", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg sentenceCount", + "command": "finance.pin", + "label": "finance.pin example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCount=4)", + "command": "finance.pin", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", + "expectedSchemaText": "Value\nfinance.pin()", + "expectedUiSchemaText": "Value\nfinance.pin()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-sentenceCount" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-pin-example-1" }, { - "id": "coverage:domain-lorem-paragraph-arg-sentenceCountMax", + "id": "coverage:domain-finance-pin-example-2", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg sentenceCountMax", + "command": "finance.pin", + "label": "finance.pin example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCountMax=5)", + "command": "finance.pin", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", + "expectedSchemaText": "Value\nfinance.pin(length=5)", + "expectedUiSchemaText": "Value\nfinance.pin(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMax" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-pin-example-2" }, { - "id": "coverage:domain-lorem-paragraph-arg-sentenceCountMin", + "id": "coverage:domain-finance-pin-arg-length", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg sentenceCountMin", + "command": "finance.pin", + "label": "finance.pin arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCountMin=6)", + "command": "finance.pin", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", + "expectedSchemaText": "Value\nfinance.pin(length=4)", + "expectedUiSchemaText": "Value\nfinance.pin(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMin"], + "coveredArgs": ["length"], "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMin" + "scenarioId": "domain-finance-pin-arg-length" }, { - "id": "coverage:domain-lorem-paragraph-pair-min-max", + "id": "coverage:domain-finance-routingNumber-base", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair min/max", + "command": "finance.routingNumber", + "label": "finance.routingNumber", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(min=1, max=3)", + "command": "finance.routingNumber", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraph(min=1, max=3)", + "expectedSchemaText": "Value\nfinance.routingNumber()", + "expectedUiSchemaText": "Value\nfinance.routingNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-routingNumber-base" }, { - "id": "coverage:domain-lorem-paragraph-pair-max-sentenceCount", + "id": "coverage:domain-finance-routingNumber-example-1", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair max/sentenceCount", + "command": "finance.routingNumber", + "label": "finance.routingNumber example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(max=3, sentenceCount=4)", + "command": "finance.routingNumber", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", + "expectedSchemaText": "Value\nfinance.routingNumber()", + "expectedUiSchemaText": "Value\nfinance.routingNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "sentenceCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-max-sentenceCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-routingNumber-example-1" }, { - "id": "coverage:domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax", + "id": "coverage:domain-finance-transactionDescription-base", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair sentenceCount/sentenceCountMax", + "command": "finance.transactionDescription", + "label": "finance.transactionDescription", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCount=4, sentenceCountMax=5)", + "command": "finance.transactionDescription", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", + "expectedSchemaText": "Value\nfinance.transactionDescription()", + "expectedUiSchemaText": "Value\nfinance.transactionDescription()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount", "sentenceCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-transactionDescription-base" }, { - "id": "coverage:domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin", + "id": "coverage:domain-finance-transactionDescription-example-1", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair sentenceCountMax/sentenceCountMin", + "command": "finance.transactionDescription", + "label": "finance.transactionDescription example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCountMax=5, sentenceCountMin=6)", + "command": "finance.transactionDescription", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", + "expectedSchemaText": "Value\nfinance.transactionDescription()", + "expectedUiSchemaText": "Value\nfinance.transactionDescription()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-transactionDescription-example-1" }, { - "id": "coverage:domain-lorem-paragraphs-base", + "id": "coverage:domain-finance-transactionType-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs", + "command": "finance.transactionType", + "label": "finance.transactionType", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", + "command": "finance.transactionType", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs()", - "expectedUiSchemaText": "Value\nlorem.paragraphs()", + "expectedSchemaText": "Value\nfinance.transactionType()", + "expectedUiSchemaText": "Value\nfinance.transactionType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-paragraphs-base" + "scenarioId": "domain-finance-transactionType-base" }, { - "id": "coverage:domain-lorem-paragraphs-arg-min", + "id": "coverage:domain-finance-transactionType-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg min", + "command": "finance.transactionType", + "label": "finance.transactionType example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(min=1)", + "command": "finance.transactionType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(min=1)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1)", + "expectedSchemaText": "Value\nfinance.transactionType()", + "expectedUiSchemaText": "Value\nfinance.transactionType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-transactionType-example-1" }, { - "id": "coverage:domain-lorem-paragraphs-arg-max", + "id": "coverage:domain-food-adjective-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg max", + "command": "food.adjective", + "label": "food.adjective", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(max=3)", + "command": "food.adjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3)", + "expectedSchemaText": "Value\nfood.adjective()", + "expectedUiSchemaText": "Value\nfood.adjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-adjective-base" }, { - "id": "coverage:domain-lorem-paragraphs-arg-paragraphCount", + "id": "coverage:domain-food-adjective-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg paragraphCount", + "command": "food.adjective", + "label": "food.adjective example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCount=4)", + "command": "food.adjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", + "expectedSchemaText": "Value\nfood.adjective()", + "expectedUiSchemaText": "Value\nfood.adjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-paragraphCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-adjective-example-1" }, { - "id": "coverage:domain-lorem-paragraphs-arg-separator", + "id": "coverage:domain-food-description-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg separator", + "command": "food.description", + "label": "food.description", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(separator=\"-\")", + "command": "food.description", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", + "expectedSchemaText": "Value\nfood.description()", + "expectedUiSchemaText": "Value\nfood.description()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-separator" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-description-base" }, { - "id": "coverage:domain-lorem-paragraphs-arg-paragraphCountMax", + "id": "coverage:domain-food-description-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg paragraphCountMax", + "command": "food.description", + "label": "food.description example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCountMax=6)", + "command": "food.description", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", + "expectedSchemaText": "Value\nfood.description()", + "expectedUiSchemaText": "Value\nfood.description()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMax" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-description-example-1" }, { - "id": "coverage:domain-lorem-paragraphs-arg-paragraphCountMin", + "id": "coverage:domain-food-dish-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg paragraphCountMin", + "command": "food.dish", + "label": "food.dish", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCountMin=7)", + "command": "food.dish", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", + "expectedSchemaText": "Value\nfood.dish()", + "expectedUiSchemaText": "Value\nfood.dish()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-dish-base" }, { - "id": "coverage:domain-lorem-paragraphs-pair-min-max", + "id": "coverage:domain-food-dish-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair min/max", + "command": "food.dish", + "label": "food.dish example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(min=1, max=3)", + "command": "food.dish", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", + "expectedSchemaText": "Value\nfood.dish()", + "expectedUiSchemaText": "Value\nfood.dish()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-min-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-dish-example-1" }, { - "id": "coverage:domain-lorem-paragraphs-pair-max-paragraphCount", + "id": "coverage:domain-food-ethnicCategory-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair max/paragraphCount", + "command": "food.ethnicCategory", + "label": "food.ethnicCategory", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(max=3, paragraphCount=4)", + "command": "food.ethnicCategory", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", + "expectedSchemaText": "Value\nfood.ethnicCategory()", + "expectedUiSchemaText": "Value\nfood.ethnicCategory()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "paragraphCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-max-paragraphCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-ethnicCategory-base" }, { - "id": "coverage:domain-lorem-paragraphs-pair-paragraphCount-separator", + "id": "coverage:domain-food-ethnicCategory-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair paragraphCount/separator", + "command": "food.ethnicCategory", + "label": "food.ethnicCategory example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCount=4, separator=\"-\")", + "command": "food.ethnicCategory", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", + "expectedSchemaText": "Value\nfood.ethnicCategory()", + "expectedUiSchemaText": "Value\nfood.ethnicCategory()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCount", "separator"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-paragraphCount-separator" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-ethnicCategory-example-1" }, { - "id": "coverage:domain-lorem-paragraphs-pair-separator-paragraphCountMax", + "id": "coverage:domain-food-fruit-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair separator/paragraphCountMax", + "command": "food.fruit", + "label": "food.fruit", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(separator=\"-\", paragraphCountMax=6)", + "command": "food.fruit", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", + "expectedSchemaText": "Value\nfood.fruit()", + "expectedUiSchemaText": "Value\nfood.fruit()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator", "paragraphCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-separator-paragraphCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-fruit-base" }, { - "id": "coverage:domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin", + "id": "coverage:domain-food-fruit-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair paragraphCountMax/paragraphCountMin", + "command": "food.fruit", + "label": "food.fruit example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCountMax=6, paragraphCountMin=7)", + "command": "food.fruit", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", + "expectedSchemaText": "Value\nfood.fruit()", + "expectedUiSchemaText": "Value\nfood.fruit()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCountMax", "paragraphCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-fruit-example-1" }, { - "id": "coverage:domain-lorem-sentence-base", + "id": "coverage:domain-food-ingredient-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence", + "command": "food.ingredient", + "label": "food.ingredient", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", + "command": "food.ingredient", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence()", - "expectedUiSchemaText": "Value\nlorem.sentence()", + "expectedSchemaText": "Value\nfood.ingredient()", + "expectedUiSchemaText": "Value\nfood.ingredient()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-sentence-base" + "scenarioId": "domain-food-ingredient-base" }, { - "id": "coverage:domain-lorem-sentence-arg-min", + "id": "coverage:domain-food-ingredient-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg min", + "command": "food.ingredient", + "label": "food.ingredient example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(min=1)", + "command": "food.ingredient", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(min=1)", - "expectedUiSchemaText": "Value\nlorem.sentence(min=1)", + "expectedSchemaText": "Value\nfood.ingredient()", + "expectedUiSchemaText": "Value\nfood.ingredient()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-ingredient-example-1" }, { - "id": "coverage:domain-lorem-sentence-arg-max", + "id": "coverage:domain-food-meat-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg max", + "command": "food.meat", + "label": "food.meat", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(max=3)", + "command": "food.meat", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(max=3)", - "expectedUiSchemaText": "Value\nlorem.sentence(max=3)", + "expectedSchemaText": "Value\nfood.meat()", + "expectedUiSchemaText": "Value\nfood.meat()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-meat-base" }, { - "id": "coverage:domain-lorem-sentence-arg-wordCount", + "id": "coverage:domain-food-meat-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg wordCount", + "command": "food.meat", + "label": "food.meat example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCount=4)", + "command": "food.meat", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4)", + "expectedSchemaText": "Value\nfood.meat()", + "expectedUiSchemaText": "Value\nfood.meat()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-wordCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-meat-example-1" }, { - "id": "coverage:domain-lorem-sentence-arg-wordCountMax", + "id": "coverage:domain-food-spice-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg wordCountMax", + "command": "food.spice", + "label": "food.spice", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCountMax=5)", + "command": "food.spice", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5)", + "expectedSchemaText": "Value\nfood.spice()", + "expectedUiSchemaText": "Value\nfood.spice()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-wordCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-spice-base" }, { - "id": "coverage:domain-lorem-sentence-arg-wordCountMin", + "id": "coverage:domain-food-spice-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg wordCountMin", + "command": "food.spice", + "label": "food.spice example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCountMin=6)", + "command": "food.spice", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMin=6)", + "expectedSchemaText": "Value\nfood.spice()", + "expectedUiSchemaText": "Value\nfood.spice()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-wordCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-spice-example-1" }, { - "id": "coverage:domain-lorem-sentence-pair-min-max", + "id": "coverage:domain-food-vegetable-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair min/max", + "command": "food.vegetable", + "label": "food.vegetable", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(min=1, max=3)", + "command": "food.vegetable", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.sentence(min=1, max=3)", + "expectedSchemaText": "Value\nfood.vegetable()", + "expectedUiSchemaText": "Value\nfood.vegetable()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-vegetable-base" }, { - "id": "coverage:domain-lorem-sentence-pair-max-wordCount", + "id": "coverage:domain-food-vegetable-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair max/wordCount", + "command": "food.vegetable", + "label": "food.vegetable example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(max=3, wordCount=4)", + "command": "food.vegetable", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", + "expectedSchemaText": "Value\nfood.vegetable()", + "expectedUiSchemaText": "Value\nfood.vegetable()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "wordCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-max-wordCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-vegetable-example-1" }, { - "id": "coverage:domain-lorem-sentence-pair-wordCount-wordCountMax", + "id": "coverage:domain-git-branch-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair wordCount/wordCountMax", + "command": "git.branch", + "label": "git.branch", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCount=4, wordCountMax=5)", + "command": "git.branch", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", + "expectedSchemaText": "Value\ngit.branch()", + "expectedUiSchemaText": "Value\ngit.branch()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount", "wordCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-wordCount-wordCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-branch-base" }, { - "id": "coverage:domain-lorem-sentence-pair-wordCountMax-wordCountMin", + "id": "coverage:domain-git-branch-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair wordCountMax/wordCountMin", + "command": "git.branch", + "label": "git.branch example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCountMax=5, wordCountMin=6)", + "command": "git.branch", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", + "expectedSchemaText": "Value\ngit.branch()", + "expectedUiSchemaText": "Value\ngit.branch()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax", "wordCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-wordCountMax-wordCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-branch-example-1" }, { - "id": "coverage:domain-lorem-sentences-base", + "id": "coverage:domain-git-commitDate-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences", + "command": "git.commitDate", + "label": "git.commitDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", + "command": "git.commitDate", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences()", - "expectedUiSchemaText": "Value\nlorem.sentences()", + "expectedSchemaText": "Value\ngit.commitDate()", + "expectedUiSchemaText": "Value\ngit.commitDate()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-sentences-base" + "scenarioId": "domain-git-commitDate-base" }, { - "id": "coverage:domain-lorem-sentences-arg-min", + "id": "coverage:domain-git-commitDate-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg min", + "command": "git.commitDate", + "label": "git.commitDate example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(min=1)", + "command": "git.commitDate", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(min=1)", - "expectedUiSchemaText": "Value\nlorem.sentences(min=1)", + "expectedSchemaText": "Value\ngit.commitDate()", + "expectedUiSchemaText": "Value\ngit.commitDate()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitDate-example-1" }, { - "id": "coverage:domain-lorem-sentences-arg-max", + "id": "coverage:domain-git-commitEntry-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg max", + "command": "git.commitEntry", + "label": "git.commitEntry", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(max=3)", + "command": "git.commitEntry", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(max=3)", - "expectedUiSchemaText": "Value\nlorem.sentences(max=3)", + "expectedSchemaText": "Value\ngit.commitEntry()", + "expectedUiSchemaText": "Value\ngit.commitEntry()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitEntry-base" }, { - "id": "coverage:domain-lorem-sentences-arg-sentenceCount", + "id": "coverage:domain-git-commitEntry-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg sentenceCount", + "command": "git.commitEntry", + "label": "git.commitEntry example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCount=4)", + "command": "git.commitEntry", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4)", + "expectedSchemaText": "Value\ngit.commitEntry()", + "expectedUiSchemaText": "Value\ngit.commitEntry()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-sentenceCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitEntry-example-1" }, { - "id": "coverage:domain-lorem-sentences-arg-separator", + "id": "coverage:domain-git-commitMessage-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg separator", + "command": "git.commitMessage", + "label": "git.commitMessage", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(separator=\"-\")", + "command": "git.commitMessage", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\")", + "expectedSchemaText": "Value\ngit.commitMessage()", + "expectedUiSchemaText": "Value\ngit.commitMessage()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-separator" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitMessage-base" }, { - "id": "coverage:domain-lorem-sentences-arg-sentenceCountMax", + "id": "coverage:domain-git-commitMessage-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg sentenceCountMax", + "command": "git.commitMessage", + "label": "git.commitMessage example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCountMax=6)", + "command": "git.commitMessage", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", + "expectedSchemaText": "Value\ngit.commitMessage()", + "expectedUiSchemaText": "Value\ngit.commitMessage()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-sentenceCountMax" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitMessage-example-1" }, { - "id": "coverage:domain-lorem-sentences-arg-sentenceCountMin", + "id": "coverage:domain-git-commitSha-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg sentenceCountMin", + "command": "git.commitSha", + "label": "git.commitSha", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCountMin=7)", + "command": "git.commitSha", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", + "expectedSchemaText": "Value\ngit.commitSha()", + "expectedUiSchemaText": "Value\ngit.commitSha()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-sentenceCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitSha-base" }, { - "id": "coverage:domain-lorem-sentences-pair-min-max", + "id": "coverage:domain-git-commitSha-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair min/max", + "command": "git.commitSha", + "label": "git.commitSha example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(min=1, max=3)", + "command": "git.commitSha", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.sentences(min=1, max=3)", + "expectedSchemaText": "Value\ngit.commitSha()", + "expectedUiSchemaText": "Value\ngit.commitSha()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-min-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitSha-example-1" }, { - "id": "coverage:domain-lorem-sentences-pair-max-sentenceCount", + "id": "coverage:domain-hacker-abbreviation-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair max/sentenceCount", + "command": "hacker.abbreviation", + "label": "hacker.abbreviation", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(max=3, sentenceCount=4)", + "command": "hacker.abbreviation", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", + "expectedSchemaText": "Value\nhacker.abbreviation()", + "expectedUiSchemaText": "Value\nhacker.abbreviation()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "sentenceCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-max-sentenceCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-abbreviation-base" }, { - "id": "coverage:domain-lorem-sentences-pair-sentenceCount-separator", + "id": "coverage:domain-hacker-abbreviation-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair sentenceCount/separator", + "command": "hacker.abbreviation", + "label": "hacker.abbreviation example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCount=4, separator=\"-\")", + "command": "hacker.abbreviation", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", + "expectedSchemaText": "Value\nhacker.abbreviation()", + "expectedUiSchemaText": "Value\nhacker.abbreviation()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount", "separator"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-sentenceCount-separator" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-abbreviation-example-1" }, { - "id": "coverage:domain-lorem-sentences-pair-separator-sentenceCountMax", + "id": "coverage:domain-hacker-adjective-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair separator/sentenceCountMax", + "command": "hacker.adjective", + "label": "hacker.adjective", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(separator=\"-\", sentenceCountMax=6)", + "command": "hacker.adjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", + "expectedSchemaText": "Value\nhacker.adjective()", + "expectedUiSchemaText": "Value\nhacker.adjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator", "sentenceCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-separator-sentenceCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-adjective-base" }, { - "id": "coverage:domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin", + "id": "coverage:domain-hacker-adjective-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair sentenceCountMax/sentenceCountMin", + "command": "hacker.adjective", + "label": "hacker.adjective example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCountMax=6, sentenceCountMin=7)", + "command": "hacker.adjective", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", + "expectedSchemaText": "Value\nhacker.adjective()", + "expectedUiSchemaText": "Value\nhacker.adjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-adjective-example-1" }, { - "id": "coverage:domain-lorem-slug-base", + "id": "coverage:domain-hacker-ingverb-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug", + "command": "hacker.ingverb", + "label": "hacker.ingverb", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", + "command": "hacker.ingverb", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug()", - "expectedUiSchemaText": "Value\nlorem.slug()", + "expectedSchemaText": "Value\nhacker.ingverb()", + "expectedUiSchemaText": "Value\nhacker.ingverb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-slug-base" + "scenarioId": "domain-hacker-ingverb-base" }, { - "id": "coverage:domain-lorem-slug-arg-min", + "id": "coverage:domain-hacker-ingverb-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg min", + "command": "hacker.ingverb", + "label": "hacker.ingverb example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(min=1)", + "command": "hacker.ingverb", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(min=1)", - "expectedUiSchemaText": "Value\nlorem.slug(min=1)", + "expectedSchemaText": "Value\nhacker.ingverb()", + "expectedUiSchemaText": "Value\nhacker.ingverb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-ingverb-example-1" }, { - "id": "coverage:domain-lorem-slug-arg-max", + "id": "coverage:domain-hacker-noun-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg max", + "command": "hacker.noun", + "label": "hacker.noun", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(max=3)", + "command": "hacker.noun", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(max=3)", - "expectedUiSchemaText": "Value\nlorem.slug(max=3)", + "expectedSchemaText": "Value\nhacker.noun()", + "expectedUiSchemaText": "Value\nhacker.noun()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-noun-base" }, { - "id": "coverage:domain-lorem-slug-arg-wordCount", + "id": "coverage:domain-hacker-noun-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg wordCount", + "command": "hacker.noun", + "label": "hacker.noun example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCount=4)", + "command": "hacker.noun", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4)", + "expectedSchemaText": "Value\nhacker.noun()", + "expectedUiSchemaText": "Value\nhacker.noun()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-wordCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-noun-example-1" }, { - "id": "coverage:domain-lorem-slug-arg-wordCountMax", + "id": "coverage:domain-hacker-phrase-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg wordCountMax", + "command": "hacker.phrase", + "label": "hacker.phrase", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCountMax=5)", + "command": "hacker.phrase", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedSchemaText": "Value\nhacker.phrase()", + "expectedUiSchemaText": "Value\nhacker.phrase()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-wordCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-phrase-base" }, { - "id": "coverage:domain-lorem-slug-arg-wordCountMin", + "id": "coverage:domain-hacker-phrase-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg wordCountMin", + "command": "hacker.phrase", + "label": "hacker.phrase example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCountMin=6)", + "command": "hacker.phrase", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCountMin=6)", + "expectedSchemaText": "Value\nhacker.phrase()", + "expectedUiSchemaText": "Value\nhacker.phrase()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-wordCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-phrase-example-1" }, { - "id": "coverage:domain-lorem-slug-pair-min-max", + "id": "coverage:domain-hacker-verb-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair min/max", + "command": "hacker.verb", + "label": "hacker.verb", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(min=1, max=3)", + "command": "hacker.verb", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.slug(min=1, max=3)", + "expectedSchemaText": "Value\nhacker.verb()", + "expectedUiSchemaText": "Value\nhacker.verb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-verb-base" }, { - "id": "coverage:domain-lorem-slug-pair-max-wordCount", + "id": "coverage:domain-hacker-verb-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair max/wordCount", + "command": "hacker.verb", + "label": "hacker.verb example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(max=3, wordCount=4)", + "command": "hacker.verb", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", + "expectedSchemaText": "Value\nhacker.verb()", + "expectedUiSchemaText": "Value\nhacker.verb()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "wordCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-max-wordCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-verb-example-1" }, { - "id": "coverage:domain-lorem-slug-pair-wordCount-wordCountMax", + "id": "coverage:domain-image-avatar-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair wordCount/wordCountMax", + "command": "image.avatar", + "label": "image.avatar", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCount=4, wordCountMax=5)", + "command": "image.avatar", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", + "expectedSchemaText": "Value\nimage.avatar()", + "expectedUiSchemaText": "Value\nimage.avatar()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount", "wordCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-wordCount-wordCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-avatar-base" }, { - "id": "coverage:domain-lorem-slug-pair-wordCountMax-wordCountMin", + "id": "coverage:domain-image-avatar-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair wordCountMax/wordCountMin", + "command": "image.avatar", + "label": "image.avatar example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCountMax=5, wordCountMin=6)", + "command": "image.avatar", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", + "expectedSchemaText": "Value\nimage.avatar()", + "expectedUiSchemaText": "Value\nimage.avatar()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax", "wordCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-wordCountMax-wordCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-avatar-example-1" }, { - "id": "coverage:domain-lorem-text-base", + "id": "coverage:domain-image-avatarGitHub-base", "sourceType": "domain", - "command": "lorem.text", - "label": "lorem.text", + "command": "image.avatarGitHub", + "label": "image.avatarGitHub", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.text", + "command": "image.avatarGitHub", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.text()", - "expectedUiSchemaText": "Value\nlorem.text()", + "expectedSchemaText": "Value\nimage.avatarGitHub()", + "expectedUiSchemaText": "Value\nimage.avatarGitHub()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-text-base" + "scenarioId": "domain-image-avatarGitHub-base" }, { - "id": "coverage:domain-lorem-word-base", + "id": "coverage:domain-image-avatarGitHub-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word", + "command": "image.avatarGitHub", + "label": "image.avatarGitHub example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", + "command": "image.avatarGitHub", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word()", - "expectedUiSchemaText": "Value\nlorem.word()", + "expectedSchemaText": "Value\nimage.avatarGitHub()", + "expectedUiSchemaText": "Value\nimage.avatarGitHub()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-word-base" + "origins": ["example"], + "scenarioId": "domain-image-avatarGitHub-example-1" }, { - "id": "coverage:domain-lorem-word-arg-min", + "id": "coverage:domain-image-dataUri-base", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg min", + "command": "image.dataUri", + "label": "image.dataUri", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(min=1)", + "command": "image.dataUri", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(min=1)", - "expectedUiSchemaText": "Value\nlorem.word(min=1)", + "expectedSchemaText": "Value\nimage.dataUri()", + "expectedUiSchemaText": "Value\nimage.dataUri()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-dataUri-base" }, { - "id": "coverage:domain-lorem-word-arg-max", + "id": "coverage:domain-image-dataUri-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg max", + "command": "image.dataUri", + "label": "image.dataUri example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(max=3)", + "command": "image.dataUri", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(max=3)", - "expectedUiSchemaText": "Value\nlorem.word(max=3)", + "expectedSchemaText": "Value\nimage.dataUri()", + "expectedUiSchemaText": "Value\nimage.dataUri()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-dataUri-example-1" }, { - "id": "coverage:domain-lorem-word-arg-length", + "id": "coverage:domain-image-personPortrait-base", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg length", + "command": "image.personPortrait", + "label": "image.personPortrait", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(length=4)", + "command": "image.personPortrait", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(length=4)", - "expectedUiSchemaText": "Value\nlorem.word(length=4)", + "expectedSchemaText": "Value\nimage.personPortrait()", + "expectedUiSchemaText": "Value\nimage.personPortrait()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-length" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-personPortrait-base" }, { - "id": "coverage:domain-lorem-word-arg-strategy", + "id": "coverage:domain-image-personPortrait-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg strategy", + "command": "image.personPortrait", + "label": "image.personPortrait example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(strategy=\"lorem-word-strategy\")", + "command": "image.personPortrait", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(strategy=\"lorem-word-strategy\")", - "expectedUiSchemaText": "Value\nlorem.word(strategy=\"lorem-word-strategy\")", + "expectedSchemaText": "Value\nimage.personPortrait()", + "expectedUiSchemaText": "Value\nimage.personPortrait()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-strategy" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-personPortrait-example-1" }, { - "id": "coverage:domain-lorem-word-pair-min-max", + "id": "coverage:domain-image-url-base", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word pair min/max", + "command": "image.url", + "label": "image.url", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(min=1, max=3)", + "command": "image.url", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.word(min=1, max=3)", + "expectedSchemaText": "Value\nimage.url()", + "expectedUiSchemaText": "Value\nimage.url()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-word-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-url-base" }, { - "id": "coverage:domain-lorem-word-pair-max-length", + "id": "coverage:domain-image-url-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word pair max/length", + "command": "image.url", + "label": "image.url example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(max=3, length=4)", + "command": "image.url", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(max=3, length=4)", - "expectedUiSchemaText": "Value\nlorem.word(max=3, length=4)", + "expectedSchemaText": "Value\nimage.url()", + "expectedUiSchemaText": "Value\nimage.url()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "length"], - "origins": ["pair"], - "scenarioId": "domain-lorem-word-pair-max-length" + "coveredArgs": ["height", "width"], + "origins": ["example"], + "scenarioId": "domain-image-url-example-1" }, { - "id": "coverage:domain-lorem-word-pair-length-strategy", + "id": "coverage:domain-image-url-example-2", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word pair length/strategy", + "command": "image.url", + "label": "image.url example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(length=4, strategy=\"lorem-word-strategy\")", + "command": "image.url", + "params": "(height=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(length=4, strategy=\"lorem-word-strategy\")", - "expectedUiSchemaText": "Value\nlorem.word(length=4, strategy=\"lorem-word-strategy\")", + "expectedSchemaText": "Value\nimage.url(height=1)", + "expectedUiSchemaText": "Value\nimage.url(height=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-lorem-word-pair-length-strategy" + "coveredArgs": ["height", "width"], + "origins": ["example"], + "scenarioId": "domain-image-url-example-2" }, { - "id": "coverage:domain-lorem-words-base", + "id": "coverage:domain-image-url-example-3", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words", + "command": "image.url", + "label": "image.url example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "()", + "command": "image.url", + "params": "(width=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words()", - "expectedUiSchemaText": "Value\nlorem.words()", + "expectedSchemaText": "Value\nimage.url(width=1)", + "expectedUiSchemaText": "Value\nimage.url(width=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-words-base" + "coveredArgs": ["height", "width"], + "origins": ["example"], + "scenarioId": "domain-image-url-example-3" }, { - "id": "coverage:domain-lorem-words-arg-min", + "id": "coverage:domain-image-url-arg-height", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg min", + "command": "image.url", + "label": "image.url arg height", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(min=1)", + "command": "image.url", + "params": "(height=2)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(min=1)", - "expectedUiSchemaText": "Value\nlorem.words(min=1)", + "expectedSchemaText": "Value\nimage.url(height=2)", + "expectedUiSchemaText": "Value\nimage.url(height=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["height"], "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-min" + "scenarioId": "domain-image-url-arg-height" }, { - "id": "coverage:domain-lorem-words-arg-max", + "id": "coverage:domain-image-url-arg-width", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg max", + "command": "image.url", + "label": "image.url arg width", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(max=3)", + "command": "image.url", + "params": "(width=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(max=3)", - "expectedUiSchemaText": "Value\nlorem.words(max=3)", + "expectedSchemaText": "Value\nimage.url(width=3)", + "expectedUiSchemaText": "Value\nimage.url(width=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["width"], "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-max" + "scenarioId": "domain-image-url-arg-width" }, { - "id": "coverage:domain-lorem-words-arg-wordCount", + "id": "coverage:domain-image-url-pair-height-width", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg wordCount", + "command": "image.url", + "label": "image.url pair height/width", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCount=4)", + "command": "image.url", + "params": "(height=2, width=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.words(wordCount=4)", + "expectedSchemaText": "Value\nimage.url(height=2, width=3)", + "expectedUiSchemaText": "Value\nimage.url(height=2, width=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-wordCount" + "coveredArgs": ["height", "width"], + "origins": ["pair"], + "scenarioId": "domain-image-url-pair-height-width" }, { - "id": "coverage:domain-lorem-words-arg-wordCountMax", + "id": "coverage:domain-image-urlPicsumPhotos-base", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg wordCountMax", + "command": "image.urlPicsumPhotos", + "label": "image.urlPicsumPhotos", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCountMax=5)", + "command": "image.urlPicsumPhotos", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedUiSchemaText": "Value\nimage.urlPicsumPhotos()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-wordCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-urlPicsumPhotos-base" }, { - "id": "coverage:domain-lorem-words-arg-wordCountMin", + "id": "coverage:domain-image-urlPicsumPhotos-example-1", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg wordCountMin", + "command": "image.urlPicsumPhotos", + "label": "image.urlPicsumPhotos example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCountMin=6)", + "command": "image.urlPicsumPhotos", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.words(wordCountMin=6)", + "expectedSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedUiSchemaText": "Value\nimage.urlPicsumPhotos()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-wordCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-urlPicsumPhotos-example-1" }, { - "id": "coverage:domain-lorem-words-pair-min-max", + "id": "coverage:domain-internet-displayName-base", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair min/max", + "command": "internet.displayName", + "label": "internet.displayName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(min=1, max=3)", + "command": "internet.displayName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.words(min=1, max=3)", + "expectedSchemaText": "Value\ninternet.displayName()", + "expectedUiSchemaText": "Value\ninternet.displayName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-displayName-base" }, { - "id": "coverage:domain-lorem-words-pair-max-wordCount", + "id": "coverage:domain-internet-displayName-example-1", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair max/wordCount", + "command": "internet.displayName", + "label": "internet.displayName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(max=3, wordCount=4)", + "command": "internet.displayName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(max=3, wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.words(max=3, wordCount=4)", + "expectedSchemaText": "Value\ninternet.displayName()", + "expectedUiSchemaText": "Value\ninternet.displayName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "wordCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-max-wordCount" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-displayName-example-1" }, { - "id": "coverage:domain-lorem-words-pair-wordCount-wordCountMax", + "id": "coverage:domain-internet-domainName-base", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair wordCount/wordCountMax", + "command": "internet.domainName", + "label": "internet.domainName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCount=4, wordCountMax=5)", + "command": "internet.domainName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", + "expectedSchemaText": "Value\ninternet.domainName()", + "expectedUiSchemaText": "Value\ninternet.domainName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount", "wordCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-wordCount-wordCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-domainName-base" }, { - "id": "coverage:domain-lorem-words-pair-wordCountMax-wordCountMin", + "id": "coverage:domain-internet-domainName-example-1", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair wordCountMax/wordCountMin", + "command": "internet.domainName", + "label": "internet.domainName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCountMax=5, wordCountMin=6)", + "command": "internet.domainName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", + "expectedSchemaText": "Value\ninternet.domainName()", + "expectedUiSchemaText": "Value\ninternet.domainName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax", "wordCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-wordCountMax-wordCountMin" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-domainName-example-1" }, { - "id": "coverage:domain-music-album-base", + "id": "coverage:domain-internet-domainSuffix-base", "sourceType": "domain", - "command": "music.album", - "label": "music.album", + "command": "internet.domainSuffix", + "label": "internet.domainSuffix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.album", + "command": "internet.domainSuffix", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nmusic.album()", - "expectedUiSchemaText": "Value\nmusic.album()", + "expectedSchemaText": "Value\ninternet.domainSuffix()", + "expectedUiSchemaText": "Value\ninternet.domainSuffix()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-music-album-base" + "scenarioId": "domain-internet-domainSuffix-base" }, { - "id": "coverage:domain-music-artist-base", + "id": "coverage:domain-internet-domainSuffix-example-1", "sourceType": "domain", - "command": "music.artist", - "label": "music.artist", + "command": "internet.domainSuffix", + "label": "internet.domainSuffix example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.artist", + "command": "internet.domainSuffix", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nmusic.artist()", - "expectedUiSchemaText": "Value\nmusic.artist()", + "expectedSchemaText": "Value\ninternet.domainSuffix()", + "expectedUiSchemaText": "Value\ninternet.domainSuffix()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-music-artist-base" + "origins": ["example"], + "scenarioId": "domain-internet-domainSuffix-example-1" }, { - "id": "coverage:domain-music-genre-base", + "id": "coverage:domain-internet-domainWord-base", "sourceType": "domain", - "command": "music.genre", - "label": "music.genre", + "command": "internet.domainWord", + "label": "internet.domainWord", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.genre", + "command": "internet.domainWord", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nmusic.genre()", - "expectedUiSchemaText": "Value\nmusic.genre()", + "expectedSchemaText": "Value\ninternet.domainWord()", + "expectedUiSchemaText": "Value\ninternet.domainWord()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-music-genre-base" + "scenarioId": "domain-internet-domainWord-base" }, { - "id": "coverage:domain-music-songName-base", + "id": "coverage:domain-internet-domainWord-example-1", "sourceType": "domain", - "command": "music.songName", - "label": "music.songName", + "command": "internet.domainWord", + "label": "internet.domainWord example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.songName", + "command": "internet.domainWord", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nmusic.songName()", - "expectedUiSchemaText": "Value\nmusic.songName()", + "expectedSchemaText": "Value\ninternet.domainWord()", + "expectedUiSchemaText": "Value\ninternet.domainWord()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-music-songName-base" + "origins": ["example"], + "scenarioId": "domain-internet-domainWord-example-1" }, { - "id": "coverage:domain-number-bigInt-base", + "id": "coverage:domain-internet-email-base", "sourceType": "domain", - "command": "number.bigInt", - "label": "number.bigInt", + "command": "internet.email", + "label": "internet.email", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.bigInt", + "command": "internet.email", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.bigInt()", - "expectedUiSchemaText": "Value\nnumber.bigInt()", + "expectedSchemaText": "Value\ninternet.email()", + "expectedUiSchemaText": "Value\ninternet.email()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-number-bigInt-base" + "scenarioId": "domain-internet-email-base" }, { - "id": "coverage:domain-number-bigInt-arg-value", + "id": "coverage:domain-internet-email-example-1", "sourceType": "domain", - "command": "number.bigInt", - "label": "number.bigInt arg value", + "command": "internet.email", + "label": "internet.email example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.bigInt", - "params": "(value=true)", + "command": "internet.email", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.bigInt(value=true)", - "expectedUiSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedSchemaText": "Value\ninternet.email()", + "expectedUiSchemaText": "Value\ninternet.email()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], - "origins": ["arg"], - "scenarioId": "domain-number-bigInt-arg-value" + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-1" }, { - "id": "coverage:domain-number-binary-base", + "id": "coverage:domain-internet-email-example-2", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary", + "command": "internet.email", + "label": "internet.email example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "()", + "command": "internet.email", + "params": "(allowSpecialCharacters=true)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary()", - "expectedUiSchemaText": "Value\nnumber.binary()", + "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-binary-base" + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-2" }, { - "id": "coverage:domain-number-binary-arg-max", + "id": "coverage:domain-internet-email-example-3", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary arg max", + "command": "internet.email", + "label": "internet.email example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "(max=3)", + "command": "internet.email", + "params": "(firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary(max=3)", - "expectedUiSchemaText": "Value\nnumber.binary(max=3)", + "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-binary-arg-max" + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-3" }, { - "id": "coverage:domain-number-binary-arg-min", + "id": "coverage:domain-internet-email-example-4", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary arg min", + "command": "internet.email", + "label": "internet.email example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "(min=1)", + "command": "internet.email", + "params": "(lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary(min=1)", - "expectedUiSchemaText": "Value\nnumber.binary(min=1)", + "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-binary-arg-min" + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-4" }, { - "id": "coverage:domain-number-binary-pair-max-min", + "id": "coverage:domain-internet-email-example-5", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary pair max/min", + "command": "internet.email", + "label": "internet.email example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "(max=3, min=1)", + "command": "internet.email", + "params": "(provider=\"example.com\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary(max=3, min=1)", - "expectedUiSchemaText": "Value\nnumber.binary(max=3, min=1)", + "expectedSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedUiSchemaText": "Value\ninternet.email(provider=\"example.com\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-number-binary-pair-max-min" + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-5" }, { - "id": "coverage:domain-number-float-base", + "id": "coverage:domain-internet-email-arg-allowSpecialCharacters", "sourceType": "domain", - "command": "number.float", - "label": "number.float", + "command": "internet.email", + "label": "internet.email arg allowSpecialCharacters", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "()", + "command": "internet.email", + "params": "(allowSpecialCharacters=true)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float()", - "expectedUiSchemaText": "Value\nnumber.float()", + "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-float-base" + "coveredArgs": ["allowSpecialCharacters"], + "origins": ["arg"], + "scenarioId": "domain-internet-email-arg-allowSpecialCharacters" }, { - "id": "coverage:domain-number-float-arg-fractionDigits", + "id": "coverage:domain-internet-email-arg-firstName", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg fractionDigits", + "command": "internet.email", + "label": "internet.email arg firstName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(fractionDigits=2)", + "command": "internet.email", + "params": "(firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(fractionDigits=2)", - "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["fractionDigits"], + "coveredArgs": ["firstName"], "origins": ["arg"], - "scenarioId": "domain-number-float-arg-fractionDigits" + "scenarioId": "domain-internet-email-arg-firstName" }, { - "id": "coverage:domain-number-float-arg-max", + "id": "coverage:domain-internet-email-arg-lastName", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg max", + "command": "internet.email", + "label": "internet.email arg lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(max=3)", + "command": "internet.email", + "params": "(lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(max=3)", - "expectedUiSchemaText": "Value\nnumber.float(max=3)", + "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["lastName"], "origins": ["arg"], - "scenarioId": "domain-number-float-arg-max" + "scenarioId": "domain-internet-email-arg-lastName" }, { - "id": "coverage:domain-number-float-arg-min", + "id": "coverage:domain-internet-email-arg-provider", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg min", + "command": "internet.email", + "label": "internet.email arg provider", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(min=1)", + "command": "internet.email", + "params": "(provider=\"example.com\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(min=1)", - "expectedUiSchemaText": "Value\nnumber.float(min=1)", + "expectedSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedUiSchemaText": "Value\ninternet.email(provider=\"example.com\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["provider"], "origins": ["arg"], - "scenarioId": "domain-number-float-arg-min" + "scenarioId": "domain-internet-email-arg-provider" }, { - "id": "coverage:domain-number-float-arg-multipleOf", + "id": "coverage:domain-internet-email-pair-allowSpecialCharacters-firstName", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg multipleOf", + "command": "internet.email", + "label": "internet.email pair allowSpecialCharacters/firstName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(multipleOf=0.5)", + "command": "internet.email", + "params": "(allowSpecialCharacters=true, firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(multipleOf=0.5)", - "expectedUiSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["multipleOf"], - "origins": ["arg"], - "scenarioId": "domain-number-float-arg-multipleOf" + "coveredArgs": ["allowSpecialCharacters", "firstName"], + "origins": ["pair"], + "scenarioId": "domain-internet-email-pair-allowSpecialCharacters-firstName" }, { - "id": "coverage:domain-number-float-pair-fractionDigits-max", + "id": "coverage:domain-internet-email-pair-firstName-lastName", "sourceType": "domain", - "command": "number.float", - "label": "number.float pair fractionDigits/max", + "command": "internet.email", + "label": "internet.email pair firstName/lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(fractionDigits=2, max=3)", + "command": "internet.email", + "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", - "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", + "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["fractionDigits", "max"], + "coveredArgs": ["firstName", "lastName"], "origins": ["pair"], - "scenarioId": "domain-number-float-pair-fractionDigits-max" + "scenarioId": "domain-internet-email-pair-firstName-lastName" }, { - "id": "coverage:domain-number-float-pair-max-min", + "id": "coverage:domain-internet-email-pair-lastName-provider", "sourceType": "domain", - "command": "number.float", - "label": "number.float pair max/min", + "command": "internet.email", + "label": "internet.email pair lastName/provider", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(max=3, min=1)", + "command": "internet.email", + "params": "(lastName=\"Lovelace\", provider=\"example.com\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(max=3, min=1)", - "expectedUiSchemaText": "Value\nnumber.float(max=3, min=1)", + "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", + "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], + "coveredArgs": ["lastName", "provider"], "origins": ["pair"], - "scenarioId": "domain-number-float-pair-max-min" + "scenarioId": "domain-internet-email-pair-lastName-provider" }, { - "id": "coverage:domain-number-float-pair-min-multipleOf", + "id": "coverage:domain-internet-emoji-base", "sourceType": "domain", - "command": "number.float", - "label": "number.float pair min/multipleOf", + "command": "internet.emoji", + "label": "internet.emoji", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(min=1, multipleOf=0.5)", + "command": "internet.emoji", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", - "expectedUiSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", + "expectedSchemaText": "Value\ninternet.emoji()", + "expectedUiSchemaText": "Value\ninternet.emoji()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "multipleOf"], - "origins": ["pair"], - "scenarioId": "domain-number-float-pair-min-multipleOf" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-emoji-base" }, { - "id": "coverage:domain-number-hex-base", + "id": "coverage:domain-internet-emoji-example-1", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex", + "command": "internet.emoji", + "label": "internet.emoji example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", + "command": "internet.emoji", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex()", - "expectedUiSchemaText": "Value\nnumber.hex()", + "expectedSchemaText": "Value\ninternet.emoji()", + "expectedUiSchemaText": "Value\ninternet.emoji()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-hex-base" + "coveredArgs": ["types"], + "origins": ["example"], + "scenarioId": "domain-internet-emoji-example-1" }, { - "id": "coverage:domain-number-hex-arg-min", + "id": "coverage:domain-internet-emoji-example-2", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex arg min", + "command": "internet.emoji", + "label": "internet.emoji example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "(min=1)", + "command": "internet.emoji", + "params": "(types=[\"food\"])", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex(min=1)", - "expectedUiSchemaText": "Value\nnumber.hex(min=1)", + "expectedSchemaText": "Value\ninternet.emoji(types=[\"food\"])", + "expectedUiSchemaText": "Value\ninternet.emoji(types=[\"food\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-hex-arg-min" + "coveredArgs": ["types"], + "origins": ["example"], + "scenarioId": "domain-internet-emoji-example-2" }, { - "id": "coverage:domain-number-hex-arg-max", + "id": "coverage:domain-internet-emoji-arg-types", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex arg max", + "command": "internet.emoji", + "label": "internet.emoji arg types", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "(max=3)", + "command": "internet.emoji", + "params": "(types=[\"food\"])", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex(max=3)", - "expectedUiSchemaText": "Value\nnumber.hex(max=3)", + "expectedSchemaText": "Value\ninternet.emoji(types=[\"food\"])", + "expectedUiSchemaText": "Value\ninternet.emoji(types=[\"food\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["types"], "origins": ["arg"], - "scenarioId": "domain-number-hex-arg-max" + "scenarioId": "domain-internet-emoji-arg-types" }, { - "id": "coverage:domain-number-hex-pair-min-max", + "id": "coverage:domain-internet-exampleEmail-base", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex pair min/max", + "command": "internet.exampleEmail", + "label": "internet.exampleEmail", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "(min=1, max=3)", + "command": "internet.exampleEmail", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex(min=1, max=3)", - "expectedUiSchemaText": "Value\nnumber.hex(min=1, max=3)", + "expectedSchemaText": "Value\ninternet.exampleEmail()", + "expectedUiSchemaText": "Value\ninternet.exampleEmail()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-number-hex-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-exampleEmail-base" }, { - "id": "coverage:domain-number-int-base", + "id": "coverage:domain-internet-exampleEmail-example-1", "sourceType": "domain", - "command": "number.int", - "label": "number.int", + "command": "internet.exampleEmail", + "label": "internet.exampleEmail example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", + "command": "internet.exampleEmail", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int()", - "expectedUiSchemaText": "Value\nnumber.int()", + "expectedSchemaText": "Value\ninternet.exampleEmail()", + "expectedUiSchemaText": "Value\ninternet.exampleEmail()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-int-base" + "origins": ["example"], + "scenarioId": "domain-internet-exampleEmail-example-1" }, { - "id": "coverage:domain-number-int-arg-min", + "id": "coverage:domain-internet-httpMethod-base", "sourceType": "domain", - "command": "number.int", - "label": "number.int arg min", + "command": "internet.httpMethod", + "label": "internet.httpMethod", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(min=1)", + "command": "internet.httpMethod", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(min=1)", - "expectedUiSchemaText": "Value\nnumber.int(min=1)", + "expectedSchemaText": "Value\ninternet.httpMethod()", + "expectedUiSchemaText": "Value\ninternet.httpMethod()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-int-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-httpMethod-base" }, { - "id": "coverage:domain-number-int-arg-max", + "id": "coverage:domain-internet-httpMethod-example-1", "sourceType": "domain", - "command": "number.int", - "label": "number.int arg max", + "command": "internet.httpMethod", + "label": "internet.httpMethod example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(max=3)", + "command": "internet.httpMethod", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(max=3)", - "expectedUiSchemaText": "Value\nnumber.int(max=3)", + "expectedSchemaText": "Value\ninternet.httpMethod()", + "expectedUiSchemaText": "Value\ninternet.httpMethod()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-int-arg-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-httpMethod-example-1" }, { - "id": "coverage:domain-number-int-arg-multipleOf", + "id": "coverage:domain-internet-httpStatusCode-base", "sourceType": "domain", - "command": "number.int", - "label": "number.int arg multipleOf", + "command": "internet.httpStatusCode", + "label": "internet.httpStatusCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(multipleOf=4)", + "command": "internet.httpStatusCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(multipleOf=4)", - "expectedUiSchemaText": "Value\nnumber.int(multipleOf=4)", + "expectedSchemaText": "Value\ninternet.httpStatusCode()", + "expectedUiSchemaText": "Value\ninternet.httpStatusCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["multipleOf"], - "origins": ["arg"], - "scenarioId": "domain-number-int-arg-multipleOf" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-httpStatusCode-base" }, { - "id": "coverage:domain-number-int-pair-min-max", + "id": "coverage:domain-internet-httpStatusCode-example-1", "sourceType": "domain", - "command": "number.int", - "label": "number.int pair min/max", + "command": "internet.httpStatusCode", + "label": "internet.httpStatusCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(min=1, max=3)", + "command": "internet.httpStatusCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(min=1, max=3)", - "expectedUiSchemaText": "Value\nnumber.int(min=1, max=3)", + "expectedSchemaText": "Value\ninternet.httpStatusCode()", + "expectedUiSchemaText": "Value\ninternet.httpStatusCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-number-int-pair-min-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-httpStatusCode-example-1" }, { - "id": "coverage:domain-number-int-pair-max-multipleOf", + "id": "coverage:domain-internet-ip-base", "sourceType": "domain", - "command": "number.int", - "label": "number.int pair max/multipleOf", + "command": "internet.ip", + "label": "internet.ip", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(max=3, multipleOf=4)", + "command": "internet.ip", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", - "expectedUiSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", + "expectedSchemaText": "Value\ninternet.ip()", + "expectedUiSchemaText": "Value\ninternet.ip()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "multipleOf"], - "origins": ["pair"], - "scenarioId": "domain-number-int-pair-max-multipleOf" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-ip-base" }, { - "id": "coverage:domain-number-octal-base", + "id": "coverage:domain-internet-ip-example-1", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal", + "command": "internet.ip", + "label": "internet.ip example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", + "command": "internet.ip", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal()", - "expectedUiSchemaText": "Value\nnumber.octal()", + "expectedSchemaText": "Value\ninternet.ip()", + "expectedUiSchemaText": "Value\ninternet.ip()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-octal-base" + "origins": ["example"], + "scenarioId": "domain-internet-ip-example-1" }, { - "id": "coverage:domain-number-octal-arg-max", + "id": "coverage:domain-internet-ipv4-base", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal arg max", + "command": "internet.ipv4", + "label": "internet.ipv4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "(max=3)", + "command": "internet.ipv4", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal(max=3)", - "expectedUiSchemaText": "Value\nnumber.octal(max=3)", + "expectedSchemaText": "Value\ninternet.ipv4()", + "expectedUiSchemaText": "Value\ninternet.ipv4()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-octal-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-ipv4-base" }, { - "id": "coverage:domain-number-octal-arg-min", + "id": "coverage:domain-internet-ipv4-example-1", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal arg min", + "command": "internet.ipv4", + "label": "internet.ipv4 example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "(min=1)", + "command": "internet.ipv4", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal(min=1)", - "expectedUiSchemaText": "Value\nnumber.octal(min=1)", + "expectedSchemaText": "Value\ninternet.ipv4()", + "expectedUiSchemaText": "Value\ninternet.ipv4()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-octal-arg-min" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["example"], + "scenarioId": "domain-internet-ipv4-example-1" }, { - "id": "coverage:domain-number-octal-pair-max-min", + "id": "coverage:domain-internet-ipv4-example-2", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal pair max/min", + "command": "internet.ipv4", + "label": "internet.ipv4 example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "(max=3, min=1)", + "command": "internet.ipv4", + "params": "(cidrBlock=\"192.168.0.0/24\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal(max=3, min=1)", - "expectedUiSchemaText": "Value\nnumber.octal(max=3, min=1)", + "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-number-octal-pair-max-min" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["example"], + "scenarioId": "domain-internet-ipv4-example-2" }, { - "id": "coverage:domain-number-romanNumeral-base", + "id": "coverage:domain-internet-ipv4-example-3", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral", + "command": "internet.ipv4", + "label": "internet.ipv4 example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "()", + "command": "internet.ipv4", + "params": "(network=\"private-a\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral()", - "expectedUiSchemaText": "Value\nnumber.romanNumeral()", + "expectedSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-romanNumeral-base" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["example"], + "scenarioId": "domain-internet-ipv4-example-3" }, { - "id": "coverage:domain-number-romanNumeral-arg-min", + "id": "coverage:domain-internet-ipv4-arg-cidrBlock", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral arg min", + "command": "internet.ipv4", + "label": "internet.ipv4 arg cidrBlock", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "(min=1)", + "command": "internet.ipv4", + "params": "(cidrBlock=\"192.168.0.0/24\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral(min=1)", - "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1)", + "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["cidrBlock"], "origins": ["arg"], - "scenarioId": "domain-number-romanNumeral-arg-min" + "scenarioId": "domain-internet-ipv4-arg-cidrBlock" }, { - "id": "coverage:domain-number-romanNumeral-arg-max", + "id": "coverage:domain-internet-ipv4-arg-network", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral arg max", + "command": "internet.ipv4", + "label": "internet.ipv4 arg network", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "(max=3)", + "command": "internet.ipv4", + "params": "(network=\"private-a\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral(max=3)", - "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=3)", + "expectedSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["network"], "origins": ["arg"], - "scenarioId": "domain-number-romanNumeral-arg-max" + "scenarioId": "domain-internet-ipv4-arg-network" }, { - "id": "coverage:domain-number-romanNumeral-pair-min-max", + "id": "coverage:domain-internet-ipv4-pair-cidrBlock-network", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral pair min/max", + "command": "internet.ipv4", + "label": "internet.ipv4 pair cidrBlock/network", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "(min=1, max=3)", + "command": "internet.ipv4", + "params": "(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", - "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", + "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], + "coveredArgs": ["cidrBlock", "network"], "origins": ["pair"], - "scenarioId": "domain-number-romanNumeral-pair-min-max" + "scenarioId": "domain-internet-ipv4-pair-cidrBlock-network" }, { - "id": "coverage:domain-person-bio-base", + "id": "coverage:domain-internet-ipv6-base", "sourceType": "domain", - "command": "person.bio", - "label": "person.bio", + "command": "internet.ipv6", + "label": "internet.ipv6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.bio", + "command": "internet.ipv6", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.bio()", - "expectedUiSchemaText": "Value\nperson.bio()", + "expectedSchemaText": "Value\ninternet.ipv6()", + "expectedUiSchemaText": "Value\ninternet.ipv6()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-person-bio-base" + "scenarioId": "domain-internet-ipv6-base" }, { - "id": "coverage:domain-person-firstName-base", + "id": "coverage:domain-internet-ipv6-example-1", "sourceType": "domain", - "command": "person.firstName", - "label": "person.firstName", + "command": "internet.ipv6", + "label": "internet.ipv6 example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.firstName", + "command": "internet.ipv6", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.firstName()", - "expectedUiSchemaText": "Value\nperson.firstName()", + "expectedSchemaText": "Value\ninternet.ipv6()", + "expectedUiSchemaText": "Value\ninternet.ipv6()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-firstName-base" + "origins": ["example"], + "scenarioId": "domain-internet-ipv6-example-1" }, { - "id": "coverage:domain-person-firstName-arg-sex", + "id": "coverage:domain-internet-jwt-base", "sourceType": "domain", - "command": "person.firstName", - "label": "person.firstName arg sex", + "command": "internet.jwt", + "label": "internet.jwt", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.firstName", - "params": "(sex=\"male\")", + "command": "internet.jwt", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.firstName(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.firstName(sex=\"male\")", + "expectedSchemaText": "Value\ninternet.jwt()", + "expectedUiSchemaText": "Value\ninternet.jwt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-firstName-arg-sex" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-jwt-base" }, { - "id": "coverage:domain-person-fullName-base", + "id": "coverage:domain-internet-jwt-example-1", "sourceType": "domain", - "command": "person.fullName", - "label": "person.fullName", + "command": "internet.jwt", + "label": "internet.jwt example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.fullName", + "command": "internet.jwt", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.fullName()", - "expectedUiSchemaText": "Value\nperson.fullName()", + "expectedSchemaText": "Value\ninternet.jwt()", + "expectedUiSchemaText": "Value\ninternet.jwt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-fullName-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-1" }, { - "id": "coverage:domain-person-gender-base", + "id": "coverage:domain-internet-jwt-example-2", "sourceType": "domain", - "command": "person.gender", - "label": "person.gender", + "command": "internet.jwt", + "label": "internet.jwt example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.gender", - "params": "()", + "command": "internet.jwt", + "params": "(header={\"value\":\"sample\"})", "value": "" } ], - "expectedSchemaText": "Value\nperson.gender()", - "expectedUiSchemaText": "Value\nperson.gender()", + "expectedSchemaText": "Value\ninternet.jwt(header={\"value\":\"sample\"})", + "expectedUiSchemaText": "Value\ninternet.jwt(header={\"value\":\"sample\"})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-gender-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-2" }, { - "id": "coverage:domain-person-jobArea-base", + "id": "coverage:domain-internet-jwt-example-3", "sourceType": "domain", - "command": "person.jobArea", - "label": "person.jobArea", + "command": "internet.jwt", + "label": "internet.jwt example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobArea", - "params": "()", + "command": "internet.jwt", + "params": "(payload={\"value\":\"sample\"})", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobArea()", - "expectedUiSchemaText": "Value\nperson.jobArea()", + "expectedSchemaText": "Value\ninternet.jwt(payload={\"value\":\"sample\"})", + "expectedUiSchemaText": "Value\ninternet.jwt(payload={\"value\":\"sample\"})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobArea-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-3" }, { - "id": "coverage:domain-person-jobDescriptor-base", + "id": "coverage:domain-internet-jwt-example-4", "sourceType": "domain", - "command": "person.jobDescriptor", - "label": "person.jobDescriptor", + "command": "internet.jwt", + "label": "internet.jwt example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobDescriptor", - "params": "()", + "command": "internet.jwt", + "params": "(refDate=1718755200000)", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobDescriptor()", - "expectedUiSchemaText": "Value\nperson.jobDescriptor()", + "expectedSchemaText": "Value\ninternet.jwt(refDate=1718755200000)", + "expectedUiSchemaText": "Value\ninternet.jwt(refDate=1718755200000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobDescriptor-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-4" }, { - "id": "coverage:domain-person-jobTitle-base", + "id": "coverage:domain-internet-jwt-arg-header", "sourceType": "domain", - "command": "person.jobTitle", - "label": "person.jobTitle", + "command": "internet.jwt", + "label": "internet.jwt arg header", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobTitle", - "params": "()", + "command": "internet.jwt", + "params": "(header={})", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobTitle()", - "expectedUiSchemaText": "Value\nperson.jobTitle()", + "expectedSchemaText": "Value\ninternet.jwt(header={})", + "expectedUiSchemaText": "Value\ninternet.jwt(header={})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobTitle-base" + "coveredArgs": ["header"], + "origins": ["arg"], + "scenarioId": "domain-internet-jwt-arg-header" }, { - "id": "coverage:domain-person-jobType-base", + "id": "coverage:domain-internet-jwt-arg-payload", "sourceType": "domain", - "command": "person.jobType", - "label": "person.jobType", + "command": "internet.jwt", + "label": "internet.jwt arg payload", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobType", - "params": "()", + "command": "internet.jwt", + "params": "(payload={})", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobType()", - "expectedUiSchemaText": "Value\nperson.jobType()", + "expectedSchemaText": "Value\ninternet.jwt(payload={})", + "expectedUiSchemaText": "Value\ninternet.jwt(payload={})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobType-base" + "coveredArgs": ["payload"], + "origins": ["arg"], + "scenarioId": "domain-internet-jwt-arg-payload" }, { - "id": "coverage:domain-person-lastName-base", + "id": "coverage:domain-internet-jwt-arg-refDate", "sourceType": "domain", - "command": "person.lastName", - "label": "person.lastName", + "command": "internet.jwt", + "label": "internet.jwt arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.lastName", - "params": "()", + "command": "internet.jwt", + "params": "(refDate=1)", "value": "" } ], - "expectedSchemaText": "Value\nperson.lastName()", - "expectedUiSchemaText": "Value\nperson.lastName()", + "expectedSchemaText": "Value\ninternet.jwt(refDate=1)", + "expectedUiSchemaText": "Value\ninternet.jwt(refDate=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-lastName-base" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-internet-jwt-arg-refDate" }, { - "id": "coverage:domain-person-lastName-arg-sex", + "id": "coverage:domain-internet-jwt-pair-header-payload", "sourceType": "domain", - "command": "person.lastName", - "label": "person.lastName arg sex", + "command": "internet.jwt", + "label": "internet.jwt pair header/payload", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.lastName", - "params": "(sex=\"male\")", + "command": "internet.jwt", + "params": "(header={}, payload={})", "value": "" } ], - "expectedSchemaText": "Value\nperson.lastName(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.lastName(sex=\"male\")", + "expectedSchemaText": "Value\ninternet.jwt(header={}, payload={})", + "expectedUiSchemaText": "Value\ninternet.jwt(header={}, payload={})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-lastName-arg-sex" + "coveredArgs": ["header", "payload"], + "origins": ["pair"], + "scenarioId": "domain-internet-jwt-pair-header-payload" }, { - "id": "coverage:domain-person-middleName-base", + "id": "coverage:domain-internet-jwt-pair-payload-refDate", "sourceType": "domain", - "command": "person.middleName", - "label": "person.middleName", + "command": "internet.jwt", + "label": "internet.jwt pair payload/refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.middleName", - "params": "()", + "command": "internet.jwt", + "params": "(payload={}, refDate=1)", "value": "" } ], - "expectedSchemaText": "Value\nperson.middleName()", - "expectedUiSchemaText": "Value\nperson.middleName()", + "expectedSchemaText": "Value\ninternet.jwt(payload={}, refDate=1)", + "expectedUiSchemaText": "Value\ninternet.jwt(payload={}, refDate=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-middleName-base" + "coveredArgs": ["payload", "refDate"], + "origins": ["pair"], + "scenarioId": "domain-internet-jwt-pair-payload-refDate" }, { - "id": "coverage:domain-person-middleName-arg-sex", + "id": "coverage:domain-internet-jwtAlgorithm-base", "sourceType": "domain", - "command": "person.middleName", - "label": "person.middleName arg sex", + "command": "internet.jwtAlgorithm", + "label": "internet.jwtAlgorithm", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.middleName", - "params": "(sex=\"male\")", + "command": "internet.jwtAlgorithm", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.middleName(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.middleName(sex=\"male\")", + "expectedSchemaText": "Value\ninternet.jwtAlgorithm()", + "expectedUiSchemaText": "Value\ninternet.jwtAlgorithm()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-middleName-arg-sex" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-jwtAlgorithm-base" }, { - "id": "coverage:domain-person-prefix-base", + "id": "coverage:domain-internet-jwtAlgorithm-example-1", "sourceType": "domain", - "command": "person.prefix", - "label": "person.prefix", + "command": "internet.jwtAlgorithm", + "label": "internet.jwtAlgorithm example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.prefix", + "command": "internet.jwtAlgorithm", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.prefix()", - "expectedUiSchemaText": "Value\nperson.prefix()", + "expectedSchemaText": "Value\ninternet.jwtAlgorithm()", + "expectedUiSchemaText": "Value\ninternet.jwtAlgorithm()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-prefix-base" + "origins": ["example"], + "scenarioId": "domain-internet-jwtAlgorithm-example-1" }, { - "id": "coverage:domain-person-prefix-arg-sex", + "id": "coverage:domain-internet-mac-base", "sourceType": "domain", - "command": "person.prefix", - "label": "person.prefix arg sex", + "command": "internet.mac", + "label": "internet.mac", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.prefix", - "params": "(sex=\"male\")", + "command": "internet.mac", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.prefix(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.prefix(sex=\"male\")", + "expectedSchemaText": "Value\ninternet.mac()", + "expectedUiSchemaText": "Value\ninternet.mac()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-prefix-arg-sex" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-mac-base" }, { - "id": "coverage:domain-person-sex-base", + "id": "coverage:domain-internet-mac-example-1", "sourceType": "domain", - "command": "person.sex", - "label": "person.sex", + "command": "internet.mac", + "label": "internet.mac example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.sex", + "command": "internet.mac", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.sex()", - "expectedUiSchemaText": "Value\nperson.sex()", + "expectedSchemaText": "Value\ninternet.mac()", + "expectedUiSchemaText": "Value\ninternet.mac()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-sex-base" + "coveredArgs": ["separator"], + "origins": ["example"], + "scenarioId": "domain-internet-mac-example-1" }, { - "id": "coverage:domain-person-sexType-base", + "id": "coverage:domain-internet-mac-example-2", "sourceType": "domain", - "command": "person.sexType", - "label": "person.sexType", + "command": "internet.mac", + "label": "internet.mac example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.sexType", - "params": "()", + "command": "internet.mac", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.sexType()", - "expectedUiSchemaText": "Value\nperson.sexType()", + "expectedSchemaText": "Value\ninternet.mac(separator=\"-\")", + "expectedUiSchemaText": "Value\ninternet.mac(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-sexType-base" + "coveredArgs": ["separator"], + "origins": ["example"], + "scenarioId": "domain-internet-mac-example-2" }, { - "id": "coverage:domain-person-suffix-base", + "id": "coverage:domain-internet-mac-arg-separator", "sourceType": "domain", - "command": "person.suffix", - "label": "person.suffix", + "command": "internet.mac", + "label": "internet.mac arg separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.suffix", - "params": "()", + "command": "internet.mac", + "params": "(separator=\":\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.suffix()", - "expectedUiSchemaText": "Value\nperson.suffix()", + "expectedSchemaText": "Value\ninternet.mac(separator=\":\")", + "expectedUiSchemaText": "Value\ninternet.mac(separator=\":\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-suffix-base" + "coveredArgs": ["separator"], + "origins": ["arg"], + "scenarioId": "domain-internet-mac-arg-separator" }, { - "id": "coverage:domain-person-zodiacSign-base", + "id": "coverage:domain-internet-password-base", "sourceType": "domain", - "command": "person.zodiacSign", - "label": "person.zodiacSign", + "command": "internet.password", + "label": "internet.password", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.zodiacSign", + "command": "internet.password", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.zodiacSign()", - "expectedUiSchemaText": "Value\nperson.zodiacSign()", + "expectedSchemaText": "Value\ninternet.password()", + "expectedUiSchemaText": "Value\ninternet.password()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-person-zodiacSign-base" + "scenarioId": "domain-internet-password-base" }, { - "id": "coverage:domain-phone-imei-base", + "id": "coverage:domain-internet-password-example-1", "sourceType": "domain", - "command": "phone.imei", - "label": "phone.imei", + "command": "internet.password", + "label": "internet.password example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "phone.imei", + "command": "internet.password", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nphone.imei()", - "expectedUiSchemaText": "Value\nphone.imei()", + "expectedSchemaText": "Value\ninternet.password()", + "expectedUiSchemaText": "Value\ninternet.password()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-phone-imei-base" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-1" }, { - "id": "coverage:domain-phone-number-base", + "id": "coverage:domain-internet-password-example-2", "sourceType": "domain", - "command": "phone.number", - "label": "phone.number", + "command": "internet.password", + "label": "internet.password example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "phone.number", - "params": "()", + "command": "internet.password", + "params": "(length=12)", "value": "" } ], - "expectedSchemaText": "Value\nphone.number()", - "expectedUiSchemaText": "Value\nphone.number()", + "expectedSchemaText": "Value\ninternet.password(length=12)", + "expectedUiSchemaText": "Value\ninternet.password(length=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-phone-number-base" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-2" }, { - "id": "coverage:domain-phone-number-arg-style", + "id": "coverage:domain-internet-password-example-3", "sourceType": "domain", - "command": "phone.number", - "label": "phone.number arg style", + "command": "internet.password", + "label": "internet.password example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "phone.number", - "params": "(style=\"international\")", + "command": "internet.password", + "params": "(memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nphone.number(style=\"international\")", - "expectedUiSchemaText": "Value\nphone.number(style=\"international\")", + "expectedSchemaText": "Value\ninternet.password(memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["style"], - "origins": ["arg"], - "scenarioId": "domain-phone-number-arg-style" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-3" }, { - "id": "coverage:domain-string-alpha-base", + "id": "coverage:domain-internet-password-example-4", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha", + "command": "internet.password", + "label": "internet.password example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "()", + "command": "internet.password", + "params": "(length=12, memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha()", - "expectedUiSchemaText": "Value\nstring.alpha()", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-alpha-base" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-4" }, { - "id": "coverage:domain-string-alpha-arg-length", + "id": "coverage:domain-internet-password-example-5", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha arg length", + "command": "internet.password", + "label": "internet.password example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(length=4)", + "command": "internet.password", + "params": "(pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(length=4)", - "expectedUiSchemaText": "Value\nstring.alpha(length=4)", + "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-alpha-arg-length" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-5" }, { - "id": "coverage:domain-string-alpha-arg-casing", + "id": "coverage:domain-internet-password-example-6", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha arg casing", + "command": "internet.password", + "label": "internet.password example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(casing=\"upper\")", + "command": "internet.password", + "params": "(length=12, memorable=false, pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], - "origins": ["arg"], - "scenarioId": "domain-string-alpha-arg-casing" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-6" }, { - "id": "coverage:domain-string-alpha-arg-exclude", + "id": "coverage:domain-internet-password-example-7", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha arg exclude", + "command": "internet.password", + "label": "internet.password example 7", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(exclude=[\"A\", \"B\"])", + "command": "internet.password", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\ninternet.password(prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["exclude"], - "origins": ["arg"], - "scenarioId": "domain-string-alpha-arg-exclude" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-7" }, { - "id": "coverage:domain-string-alpha-pair-length-casing", + "id": "coverage:domain-internet-password-example-8", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha pair length/casing", + "command": "internet.password", + "label": "internet.password example 8", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(length=4, casing=\"upper\")", + "command": "internet.password", + "params": "(length=12, memorable=false, pattern=\"[A-Z]\", prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\", prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\", prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "casing"], - "origins": ["pair"], - "scenarioId": "domain-string-alpha-pair-length-casing" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-8" }, { - "id": "coverage:domain-string-alpha-pair-casing-exclude", + "id": "coverage:domain-internet-password-arg-length", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha pair casing/exclude", + "command": "internet.password", + "label": "internet.password arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", + "command": "internet.password", + "params": "(length=12)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\ninternet.password(length=12)", + "expectedUiSchemaText": "Value\ninternet.password(length=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "exclude"], - "origins": ["pair"], - "scenarioId": "domain-string-alpha-pair-casing-exclude" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-internet-password-arg-length" }, { - "id": "coverage:domain-string-alphanumeric-base", + "id": "coverage:domain-internet-password-arg-memorable", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric", + "command": "internet.password", + "label": "internet.password arg memorable", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "()", + "command": "internet.password", + "params": "(memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric()", - "expectedUiSchemaText": "Value\nstring.alphanumeric()", + "expectedSchemaText": "Value\ninternet.password(memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-alphanumeric-base" + "coveredArgs": ["memorable"], + "origins": ["arg"], + "scenarioId": "domain-internet-password-arg-memorable" }, { - "id": "coverage:domain-string-alphanumeric-arg-length", + "id": "coverage:domain-internet-password-arg-pattern", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric arg length", + "command": "internet.password", + "label": "internet.password arg pattern", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(length=4)", + "command": "internet.password", + "params": "(pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(length=4)", - "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4)", + "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["pattern"], "origins": ["arg"], - "scenarioId": "domain-string-alphanumeric-arg-length" + "scenarioId": "domain-internet-password-arg-pattern" }, { - "id": "coverage:domain-string-alphanumeric-arg-casing", + "id": "coverage:domain-internet-password-arg-prefix", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric arg casing", + "command": "internet.password", + "label": "internet.password arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(casing=\"upper\")", + "command": "internet.password", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedSchemaText": "Value\ninternet.password(prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], + "coveredArgs": ["prefix"], "origins": ["arg"], - "scenarioId": "domain-string-alphanumeric-arg-casing" + "scenarioId": "domain-internet-password-arg-prefix" }, { - "id": "coverage:domain-string-alphanumeric-arg-exclude", + "id": "coverage:domain-internet-password-pair-length-memorable", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric arg exclude", + "command": "internet.password", + "label": "internet.password pair length/memorable", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(exclude=[\"A\", \"B\"])", + "command": "internet.password", + "params": "(length=12, memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["exclude"], - "origins": ["arg"], - "scenarioId": "domain-string-alphanumeric-arg-exclude" + "coveredArgs": ["length", "memorable"], + "origins": ["pair"], + "scenarioId": "domain-internet-password-pair-length-memorable" }, { - "id": "coverage:domain-string-alphanumeric-pair-length-casing", + "id": "coverage:domain-internet-password-pair-memorable-pattern", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric pair length/casing", + "command": "internet.password", + "label": "internet.password pair memorable/pattern", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(length=4, casing=\"upper\")", + "command": "internet.password", + "params": "(memorable=true, pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", + "expectedSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "casing"], + "coveredArgs": ["memorable", "pattern"], "origins": ["pair"], - "scenarioId": "domain-string-alphanumeric-pair-length-casing" + "scenarioId": "domain-internet-password-pair-memorable-pattern" }, { - "id": "coverage:domain-string-alphanumeric-pair-casing-exclude", + "id": "coverage:domain-internet-password-pair-pattern-prefix", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric pair casing/exclude", + "command": "internet.password", + "label": "internet.password pair pattern/prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", + "command": "internet.password", + "params": "(pattern=\"[A-Z]\", prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "exclude"], + "coveredArgs": ["pattern", "prefix"], "origins": ["pair"], - "scenarioId": "domain-string-alphanumeric-pair-casing-exclude" + "scenarioId": "domain-internet-password-pair-pattern-prefix" }, { - "id": "coverage:domain-string-binary-base", + "id": "coverage:domain-internet-port-base", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary", + "command": "internet.port", + "label": "internet.port", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", + "command": "internet.port", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary()", - "expectedUiSchemaText": "Value\nstring.binary()", + "expectedSchemaText": "Value\ninternet.port()", + "expectedUiSchemaText": "Value\ninternet.port()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-binary-base" + "scenarioId": "domain-internet-port-base" }, { - "id": "coverage:domain-string-binary-arg-length", + "id": "coverage:domain-internet-port-example-1", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary arg length", + "command": "internet.port", + "label": "internet.port example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", - "params": "(length=4)", + "command": "internet.port", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary(length=4)", - "expectedUiSchemaText": "Value\nstring.binary(length=4)", + "expectedSchemaText": "Value\ninternet.port()", + "expectedUiSchemaText": "Value\ninternet.port()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-binary-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-port-example-1" }, { - "id": "coverage:domain-string-binary-arg-prefix", + "id": "coverage:domain-internet-protocol-base", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary arg prefix", + "command": "internet.protocol", + "label": "internet.protocol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", - "params": "(prefix=\"#\")", + "command": "internet.protocol", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary(prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.binary(prefix=\"#\")", + "expectedSchemaText": "Value\ninternet.protocol()", + "expectedUiSchemaText": "Value\ninternet.protocol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-string-binary-arg-prefix" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-protocol-base" }, { - "id": "coverage:domain-string-binary-pair-length-prefix", + "id": "coverage:domain-internet-protocol-example-1", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary pair length/prefix", + "command": "internet.protocol", + "label": "internet.protocol example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", - "params": "(length=4, prefix=\"#\")", + "command": "internet.protocol", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", + "expectedSchemaText": "Value\ninternet.protocol()", + "expectedUiSchemaText": "Value\ninternet.protocol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-string-binary-pair-length-prefix" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-protocol-example-1" }, { - "id": "coverage:domain-string-counterString-base", + "id": "coverage:domain-internet-url-base", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString", + "command": "internet.url", + "label": "internet.url", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(1, 25, \"*\")", + "command": "internet.url", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(1, 25, \"*\")", - "expectedUiSchemaText": "Value\nstring.counterString(1, 25, \"*\")", + "expectedSchemaText": "Value\ninternet.url()", + "expectedUiSchemaText": "Value\ninternet.url()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-counterString-base" + "scenarioId": "domain-internet-url-base" }, { - "id": "coverage:domain-string-counterString-example-1", + "id": "coverage:domain-internet-url-example-1", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 1", + "command": "internet.url", + "label": "internet.url example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", + "command": "internet.url", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString()", - "expectedUiSchemaText": "Value\nstring.counterString()", + "expectedSchemaText": "Value\ninternet.url()", + "expectedUiSchemaText": "Value\ninternet.url()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], + "coveredArgs": ["appendSlash", "protocol"], "origins": ["example"], - "scenarioId": "domain-string-counterString-example-1" + "scenarioId": "domain-internet-url-example-1" }, { - "id": "coverage:domain-string-counterString-example-2", + "id": "coverage:domain-internet-url-example-2", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 2", + "command": "internet.url", + "label": "internet.url example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(15)", + "command": "internet.url", + "params": "(appendSlash=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(15)", - "expectedUiSchemaText": "Value\nstring.counterString(15)", + "expectedSchemaText": "Value\ninternet.url(appendSlash=true)", + "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], + "coveredArgs": ["appendSlash", "protocol"], "origins": ["example"], - "scenarioId": "domain-string-counterString-example-2" + "scenarioId": "domain-internet-url-example-2" }, { - "id": "coverage:domain-string-counterString-example-3", + "id": "coverage:domain-internet-url-example-3", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 3", + "command": "internet.url", + "label": "internet.url example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=5, max=12)", + "command": "internet.url", + "params": "(protocol=\"https\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", - "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedSchemaText": "Value\ninternet.url(protocol=\"https\")", + "expectedUiSchemaText": "Value\ninternet.url(protocol=\"https\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], + "coveredArgs": ["appendSlash", "protocol"], "origins": ["example"], - "scenarioId": "domain-string-counterString-example-3" + "scenarioId": "domain-internet-url-example-3" }, { - "id": "coverage:domain-string-counterString-example-4", + "id": "coverage:domain-internet-url-arg-appendSlash", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 4", + "command": "internet.url", + "label": "internet.url arg appendSlash", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=12, max=12, delimiter=\"#\")", + "command": "internet.url", + "params": "(appendSlash=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", - "expectedUiSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", + "expectedSchemaText": "Value\ninternet.url(appendSlash=true)", + "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], - "origins": ["example"], - "scenarioId": "domain-string-counterString-example-4" + "coveredArgs": ["appendSlash"], + "origins": ["arg"], + "scenarioId": "domain-internet-url-arg-appendSlash" }, { - "id": "coverage:domain-string-counterString-arg-min", + "id": "coverage:domain-internet-url-arg-protocol", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString arg min", + "command": "internet.url", + "label": "internet.url arg protocol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=5)", + "command": "internet.url", + "params": "(protocol=\"https\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=5)", - "expectedUiSchemaText": "Value\nstring.counterString(min=5)", + "expectedSchemaText": "Value\ninternet.url(protocol=\"https\")", + "expectedUiSchemaText": "Value\ninternet.url(protocol=\"https\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["protocol"], "origins": ["arg"], - "scenarioId": "domain-string-counterString-arg-min" + "scenarioId": "domain-internet-url-arg-protocol" }, { - "id": "coverage:domain-string-counterString-arg-max", + "id": "coverage:domain-internet-url-pair-appendSlash-protocol", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString arg max", + "command": "internet.url", + "label": "internet.url pair appendSlash/protocol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(max=12)", + "command": "internet.url", + "params": "(appendSlash=true, protocol=\"https\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(max=12)", - "expectedUiSchemaText": "Value\nstring.counterString(max=12)", + "expectedSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", + "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-string-counterString-arg-max" + "coveredArgs": ["appendSlash", "protocol"], + "origins": ["pair"], + "scenarioId": "domain-internet-url-pair-appendSlash-protocol" }, { - "id": "coverage:domain-string-counterString-arg-delimiter", + "id": "coverage:domain-internet-userAgent-base", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString arg delimiter", + "command": "internet.userAgent", + "label": "internet.userAgent", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(delimiter=\"#\")", + "command": "internet.userAgent", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(delimiter=\"#\")", - "expectedUiSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedSchemaText": "Value\ninternet.userAgent()", + "expectedUiSchemaText": "Value\ninternet.userAgent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["delimiter"], - "origins": ["arg"], - "scenarioId": "domain-string-counterString-arg-delimiter" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-userAgent-base" }, { - "id": "coverage:domain-string-counterString-pair-min-max", + "id": "coverage:domain-internet-userAgent-example-1", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString pair min/max", + "command": "internet.userAgent", + "label": "internet.userAgent example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=5, max=12)", + "command": "internet.userAgent", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", - "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedSchemaText": "Value\ninternet.userAgent()", + "expectedUiSchemaText": "Value\ninternet.userAgent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-string-counterString-pair-min-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-userAgent-example-1" }, { - "id": "coverage:domain-string-counterString-pair-max-delimiter", + "id": "coverage:domain-internet-username-base", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString pair max/delimiter", + "command": "internet.username", + "label": "internet.username", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(max=12, delimiter=\"#\")", + "command": "internet.username", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", - "expectedUiSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", + "expectedSchemaText": "Value\ninternet.username()", + "expectedUiSchemaText": "Value\ninternet.username()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "delimiter"], - "origins": ["pair"], - "scenarioId": "domain-string-counterString-pair-max-delimiter" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-username-base" }, { - "id": "coverage:domain-string-fromCharacters-base", + "id": "coverage:domain-internet-username-example-1", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters", + "command": "internet.username", + "label": "internet.username example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(\"ABC123\", 4)", + "command": "internet.username", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", + "expectedSchemaText": "Value\ninternet.username()", + "expectedUiSchemaText": "Value\ninternet.username()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-fromCharacters-base" + "coveredArgs": ["firstName", "lastName"], + "origins": ["example"], + "scenarioId": "domain-internet-username-example-1" }, { - "id": "coverage:domain-string-fromCharacters-example-1", + "id": "coverage:domain-internet-username-example-2", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters example 1", + "command": "internet.username", + "label": "internet.username example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(\"ABC123\", 6)", + "command": "internet.username", + "params": "(firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 6)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 6)", + "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters", "length"], + "coveredArgs": ["firstName", "lastName"], "origins": ["example"], - "scenarioId": "domain-string-fromCharacters-example-1" + "scenarioId": "domain-internet-username-example-2" }, { - "id": "coverage:domain-string-fromCharacters-example-2", + "id": "coverage:domain-internet-username-example-3", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters example 2", + "command": "internet.username", + "label": "internet.username example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=[\"A\", \"B\", \"C\"], length=4)", + "command": "internet.username", + "params": "(lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", + "expectedSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters", "length"], + "coveredArgs": ["firstName", "lastName"], "origins": ["example"], - "scenarioId": "domain-string-fromCharacters-example-2" + "scenarioId": "domain-internet-username-example-3" }, { - "id": "coverage:domain-string-fromCharacters-arg-characters", + "id": "coverage:domain-internet-username-arg-firstName", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters arg characters", + "command": "internet.username", + "label": "internet.username arg firstName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=\"ABC123\")", + "command": "internet.username", + "params": "(firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", + "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters"], + "coveredArgs": ["firstName"], "origins": ["arg"], - "scenarioId": "domain-string-fromCharacters-arg-characters" + "scenarioId": "domain-internet-username-arg-firstName" }, { - "id": "coverage:domain-string-fromCharacters-arg-length", + "id": "coverage:domain-internet-username-arg-lastName", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters arg length", + "command": "internet.username", + "label": "internet.username arg lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=\"ABC123\", length=4)", + "command": "internet.username", + "params": "(lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["lastName"], "origins": ["arg"], - "scenarioId": "domain-string-fromCharacters-arg-length" + "scenarioId": "domain-internet-username-arg-lastName" }, { - "id": "coverage:domain-string-fromCharacters-pair-characters-length", + "id": "coverage:domain-internet-username-pair-firstName-lastName", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters pair characters/length", + "command": "internet.username", + "label": "internet.username pair firstName/lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=\"ABC123\", length=4)", + "command": "internet.username", + "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters", "length"], + "coveredArgs": ["firstName", "lastName"], "origins": ["pair"], - "scenarioId": "domain-string-fromCharacters-pair-characters-length" + "scenarioId": "domain-internet-username-pair-firstName-lastName" }, { - "id": "coverage:domain-string-hexadecimal-base", + "id": "coverage:domain-literal-value-base", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal", + "command": "literal.value", + "label": "literal.value", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", + "command": "literal.value", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal()", - "expectedUiSchemaText": "Value\nstring.hexadecimal()", + "expectedSchemaText": "Value\nliteral.value()", + "expectedUiSchemaText": "Value\nliteral.value()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-hexadecimal-base" + "scenarioId": "domain-literal-value-base" }, { - "id": "coverage:domain-string-hexadecimal-arg-casing", + "id": "coverage:domain-literal-value-example-1", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal arg casing", + "command": "literal.value", + "label": "literal.value example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(casing=\"upper\")", + "command": "literal.value", + "params": "(value=\"Pending\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedSchemaText": "Value\nliteral.value(value=\"Pending\")", + "expectedUiSchemaText": "Value\nliteral.value(value=\"Pending\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], - "origins": ["arg"], - "scenarioId": "domain-string-hexadecimal-arg-casing" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-1" }, { - "id": "coverage:domain-string-hexadecimal-arg-length", + "id": "coverage:domain-literal-value-example-2", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal arg length", + "command": "literal.value", + "label": "literal.value example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(length=4)", + "command": "literal.value", + "params": "(value=\"\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(length=4)", - "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4)", + "expectedSchemaText": "Value\nliteral.value(value=\"\")", + "expectedUiSchemaText": "Value\nliteral.value(value=\"\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-hexadecimal-arg-length" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-2" }, { - "id": "coverage:domain-string-hexadecimal-arg-prefix", + "id": "coverage:domain-literal-value-example-3", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal arg prefix", + "command": "literal.value", + "label": "literal.value example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(prefix=\"#\")", + "command": "literal.value", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", + "expectedSchemaText": "Value\nliteral.value()", + "expectedUiSchemaText": "Value\nliteral.value()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-string-hexadecimal-arg-prefix" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-3" }, { - "id": "coverage:domain-string-hexadecimal-pair-casing-length", + "id": "coverage:domain-literal-value-example-4", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal pair casing/length", + "command": "literal.value", + "label": "literal.value example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(casing=\"upper\", length=4)", + "command": "literal.value", + "params": "(value=1)", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", - "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", + "expectedSchemaText": "Value\nliteral.value(value=1)", + "expectedUiSchemaText": "Value\nliteral.value(value=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "length"], - "origins": ["pair"], - "scenarioId": "domain-string-hexadecimal-pair-casing-length" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-4" }, { - "id": "coverage:domain-string-hexadecimal-pair-length-prefix", + "id": "coverage:domain-literal-value-arg-value", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal pair length/prefix", + "command": "literal.value", + "label": "literal.value arg value", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(length=4, prefix=\"#\")", + "command": "literal.value", + "params": "(value=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", + "expectedSchemaText": "Value\nliteral.value(value=true)", + "expectedUiSchemaText": "Value\nliteral.value(value=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-string-hexadecimal-pair-length-prefix" + "coveredArgs": ["value"], + "origins": ["arg"], + "scenarioId": "domain-literal-value-arg-value" }, { - "id": "coverage:domain-string-nanoid-base", + "id": "coverage:domain-location-buildingNumber-base", "sourceType": "domain", - "command": "string.nanoid", - "label": "string.nanoid", + "command": "location.buildingNumber", + "label": "location.buildingNumber", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.nanoid", + "command": "location.buildingNumber", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.nanoid()", - "expectedUiSchemaText": "Value\nstring.nanoid()", + "expectedSchemaText": "Value\nlocation.buildingNumber()", + "expectedUiSchemaText": "Value\nlocation.buildingNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-nanoid-base" + "scenarioId": "domain-location-buildingNumber-base" }, { - "id": "coverage:domain-string-nanoid-arg-length", + "id": "coverage:domain-location-buildingNumber-example-1", "sourceType": "domain", - "command": "string.nanoid", - "label": "string.nanoid arg length", + "command": "location.buildingNumber", + "label": "location.buildingNumber example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.nanoid", - "params": "(length=4)", + "command": "location.buildingNumber", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.nanoid(length=4)", - "expectedUiSchemaText": "Value\nstring.nanoid(length=4)", + "expectedSchemaText": "Value\nlocation.buildingNumber()", + "expectedUiSchemaText": "Value\nlocation.buildingNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-nanoid-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-buildingNumber-example-1" }, { - "id": "coverage:domain-string-numeric-base", + "id": "coverage:domain-location-cardinalDirection-base", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric", + "command": "location.cardinalDirection", + "label": "location.cardinalDirection", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", + "command": "location.cardinalDirection", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric()", - "expectedUiSchemaText": "Value\nstring.numeric()", + "expectedSchemaText": "Value\nlocation.cardinalDirection()", + "expectedUiSchemaText": "Value\nlocation.cardinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-numeric-base" + "scenarioId": "domain-location-cardinalDirection-base" }, { - "id": "coverage:domain-string-numeric-arg-length", + "id": "coverage:domain-location-cardinalDirection-example-1", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric arg length", + "command": "location.cardinalDirection", + "label": "location.cardinalDirection example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(length=4)", + "command": "location.cardinalDirection", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(length=4)", - "expectedUiSchemaText": "Value\nstring.numeric(length=4)", + "expectedSchemaText": "Value\nlocation.cardinalDirection()", + "expectedUiSchemaText": "Value\nlocation.cardinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-numeric-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-cardinalDirection-example-1" }, { - "id": "coverage:domain-string-numeric-arg-allowLeadingZeros", + "id": "coverage:domain-location-city-base", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric arg allowLeadingZeros", + "command": "location.city", + "label": "location.city", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(allowLeadingZeros=true)", + "command": "location.city", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", - "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedSchemaText": "Value\nlocation.city()", + "expectedUiSchemaText": "Value\nlocation.city()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowLeadingZeros"], - "origins": ["arg"], - "scenarioId": "domain-string-numeric-arg-allowLeadingZeros" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-city-base" }, { - "id": "coverage:domain-string-numeric-arg-exclude", + "id": "coverage:domain-location-city-example-1", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric arg exclude", + "command": "location.city", + "label": "location.city example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(exclude=[\"A\", \"B\"])", + "command": "location.city", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nlocation.city()", + "expectedUiSchemaText": "Value\nlocation.city()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["exclude"], - "origins": ["arg"], - "scenarioId": "domain-string-numeric-arg-exclude" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-city-example-1" }, { - "id": "coverage:domain-string-numeric-pair-length-allowLeadingZeros", + "id": "coverage:domain-location-continent-base", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric pair length/allowLeadingZeros", + "command": "location.continent", + "label": "location.continent", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(length=4, allowLeadingZeros=true)", + "command": "location.continent", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", - "expectedUiSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", + "expectedSchemaText": "Value\nlocation.continent()", + "expectedUiSchemaText": "Value\nlocation.continent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "allowLeadingZeros"], - "origins": ["pair"], - "scenarioId": "domain-string-numeric-pair-length-allowLeadingZeros" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-continent-base" }, { - "id": "coverage:domain-string-numeric-pair-allowLeadingZeros-exclude", + "id": "coverage:domain-location-continent-example-1", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric pair allowLeadingZeros/exclude", + "command": "location.continent", + "label": "location.continent example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "command": "location.continent", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nlocation.continent()", + "expectedUiSchemaText": "Value\nlocation.continent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowLeadingZeros", "exclude"], - "origins": ["pair"], - "scenarioId": "domain-string-numeric-pair-allowLeadingZeros-exclude" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-continent-example-1" }, { - "id": "coverage:domain-string-octal-base", + "id": "coverage:domain-location-country-base", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal", + "command": "location.country", + "label": "location.country", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", + "command": "location.country", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal()", - "expectedUiSchemaText": "Value\nstring.octal()", + "expectedSchemaText": "Value\nlocation.country()", + "expectedUiSchemaText": "Value\nlocation.country()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-octal-base" + "scenarioId": "domain-location-country-base" }, { - "id": "coverage:domain-string-octal-arg-length", + "id": "coverage:domain-location-country-example-1", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal arg length", + "command": "location.country", + "label": "location.country example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", - "params": "(length=4)", + "command": "location.country", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal(length=4)", - "expectedUiSchemaText": "Value\nstring.octal(length=4)", + "expectedSchemaText": "Value\nlocation.country()", + "expectedUiSchemaText": "Value\nlocation.country()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-octal-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-country-example-1" }, { - "id": "coverage:domain-string-octal-arg-prefix", + "id": "coverage:domain-location-countryCode-base", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal arg prefix", + "command": "location.countryCode", + "label": "location.countryCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", - "params": "(prefix=\"#\")", + "command": "location.countryCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal(prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.octal(prefix=\"#\")", + "expectedSchemaText": "Value\nlocation.countryCode()", + "expectedUiSchemaText": "Value\nlocation.countryCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-string-octal-arg-prefix" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-countryCode-base" }, { - "id": "coverage:domain-string-octal-pair-length-prefix", + "id": "coverage:domain-location-countryCode-example-1", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal pair length/prefix", + "command": "location.countryCode", + "label": "location.countryCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", - "params": "(length=4, prefix=\"#\")", + "command": "location.countryCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", + "expectedSchemaText": "Value\nlocation.countryCode()", + "expectedUiSchemaText": "Value\nlocation.countryCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-string-octal-pair-length-prefix" + "coveredArgs": ["variant"], + "origins": ["example"], + "scenarioId": "domain-location-countryCode-example-1" }, { - "id": "coverage:domain-string-sample-base", + "id": "coverage:domain-location-countryCode-example-2", "sourceType": "domain", - "command": "string.sample", - "label": "string.sample", + "command": "location.countryCode", + "label": "location.countryCode example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.sample", - "params": "()", + "command": "location.countryCode", + "params": "(variant=\"alpha-3\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.sample()", - "expectedUiSchemaText": "Value\nstring.sample()", + "expectedSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", + "expectedUiSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-sample-base" + "coveredArgs": ["variant"], + "origins": ["example"], + "scenarioId": "domain-location-countryCode-example-2" }, { - "id": "coverage:domain-string-sample-arg-length", + "id": "coverage:domain-location-countryCode-arg-variant", "sourceType": "domain", - "command": "string.sample", - "label": "string.sample arg length", + "command": "location.countryCode", + "label": "location.countryCode arg variant", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.sample", - "params": "(length=4)", + "command": "location.countryCode", + "params": "(variant=\"alpha-3\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.sample(length=4)", - "expectedUiSchemaText": "Value\nstring.sample(length=4)", + "expectedSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", + "expectedUiSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["variant"], "origins": ["arg"], - "scenarioId": "domain-string-sample-arg-length" + "scenarioId": "domain-location-countryCode-arg-variant" }, { - "id": "coverage:domain-string-symbol-base", + "id": "coverage:domain-location-county-base", "sourceType": "domain", - "command": "string.symbol", - "label": "string.symbol", + "command": "location.county", + "label": "location.county", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.symbol", + "command": "location.county", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.symbol()", - "expectedUiSchemaText": "Value\nstring.symbol()", + "expectedSchemaText": "Value\nlocation.county()", + "expectedUiSchemaText": "Value\nlocation.county()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-symbol-base" + "scenarioId": "domain-location-county-base" }, { - "id": "coverage:domain-string-symbol-arg-length", + "id": "coverage:domain-location-county-example-1", "sourceType": "domain", - "command": "string.symbol", - "label": "string.symbol arg length", + "command": "location.county", + "label": "location.county example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.symbol", - "params": "(length=4)", + "command": "location.county", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.symbol(length=4)", - "expectedUiSchemaText": "Value\nstring.symbol(length=4)", + "expectedSchemaText": "Value\nlocation.county()", + "expectedUiSchemaText": "Value\nlocation.county()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-symbol-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-county-example-1" }, { - "id": "coverage:domain-string-ulid-base", + "id": "coverage:domain-location-direction-base", "sourceType": "domain", - "command": "string.ulid", - "label": "string.ulid", + "command": "location.direction", + "label": "location.direction", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.ulid", + "command": "location.direction", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.ulid()", - "expectedUiSchemaText": "Value\nstring.ulid()", + "expectedSchemaText": "Value\nlocation.direction()", + "expectedUiSchemaText": "Value\nlocation.direction()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-ulid-base" + "scenarioId": "domain-location-direction-base" }, { - "id": "coverage:domain-string-ulid-arg-refDate", + "id": "coverage:domain-location-direction-example-1", "sourceType": "domain", - "command": "string.ulid", - "label": "string.ulid arg refDate", + "command": "location.direction", + "label": "location.direction example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.ulid", - "params": "(refDate=2)", + "command": "location.direction", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.ulid(refDate=2)", - "expectedUiSchemaText": "Value\nstring.ulid(refDate=2)", + "expectedSchemaText": "Value\nlocation.direction()", + "expectedUiSchemaText": "Value\nlocation.direction()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-string-ulid-arg-refDate" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-direction-example-1" }, { - "id": "coverage:domain-string-uuid-base", + "id": "coverage:domain-location-direction-example-2", "sourceType": "domain", - "command": "string.uuid", - "label": "string.uuid", + "command": "location.direction", + "label": "location.direction example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.uuid", - "params": "()", + "command": "location.direction", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.uuid()", - "expectedUiSchemaText": "Value\nstring.uuid()", + "expectedSchemaText": "Value\nlocation.direction(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.direction(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-uuid-base" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-direction-example-2" }, { - "id": "coverage:domain-system-commonFileExt-base", + "id": "coverage:domain-location-direction-arg-abbreviated", "sourceType": "domain", - "command": "system.commonFileExt", - "label": "system.commonFileExt", + "command": "location.direction", + "label": "location.direction arg abbreviated", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileExt", - "params": "()", + "command": "location.direction", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileExt()", - "expectedUiSchemaText": "Value\nsystem.commonFileExt()", + "expectedSchemaText": "Value\nlocation.direction(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.direction(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-commonFileExt-base" + "coveredArgs": ["abbreviated"], + "origins": ["arg"], + "scenarioId": "domain-location-direction-arg-abbreviated" }, { - "id": "coverage:domain-system-commonFileName-base", + "id": "coverage:domain-location-latitude-base", "sourceType": "domain", - "command": "system.commonFileName", - "label": "system.commonFileName", + "command": "location.latitude", + "label": "location.latitude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileName", + "command": "location.latitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileName()", - "expectedUiSchemaText": "Value\nsystem.commonFileName()", + "expectedSchemaText": "Value\nlocation.latitude()", + "expectedUiSchemaText": "Value\nlocation.latitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-commonFileName-base" + "scenarioId": "domain-location-latitude-base" }, { - "id": "coverage:domain-system-commonFileName-arg-extension", + "id": "coverage:domain-location-latitude-example-1", "sourceType": "domain", - "command": "system.commonFileName", - "label": "system.commonFileName arg extension", + "command": "location.latitude", + "label": "location.latitude example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileName", - "params": "(extension=\"system-commonFileName-extension\")", + "command": "location.latitude", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", - "expectedUiSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", + "expectedSchemaText": "Value\nlocation.latitude()", + "expectedUiSchemaText": "Value\nlocation.latitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["extension"], - "origins": ["arg"], - "scenarioId": "domain-system-commonFileName-arg-extension" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-1" }, { - "id": "coverage:domain-system-commonFileType-base", + "id": "coverage:domain-location-latitude-example-2", "sourceType": "domain", - "command": "system.commonFileType", - "label": "system.commonFileType", + "command": "location.latitude", + "label": "location.latitude example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileType", - "params": "()", + "command": "location.latitude", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileType()", - "expectedUiSchemaText": "Value\nsystem.commonFileType()", + "expectedSchemaText": "Value\nlocation.latitude(max=10, min=1)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-commonFileType-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-2" }, { - "id": "coverage:domain-system-cron-base", + "id": "coverage:domain-location-latitude-example-3", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron", + "command": "location.latitude", + "label": "location.latitude example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "()", + "command": "location.latitude", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron()", - "expectedUiSchemaText": "Value\nsystem.cron()", + "expectedSchemaText": "Value\nlocation.latitude(max=5)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-cron-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-3" }, { - "id": "coverage:domain-system-cron-arg-includeNonStandard", + "id": "coverage:domain-location-latitude-example-4", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron arg includeNonStandard", + "command": "location.latitude", + "label": "location.latitude example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "(includeNonStandard=true)", + "command": "location.latitude", + "params": "(precision=1)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true)", - "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedSchemaText": "Value\nlocation.latitude(precision=1)", + "expectedUiSchemaText": "Value\nlocation.latitude(precision=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeNonStandard"], - "origins": ["arg"], - "scenarioId": "domain-system-cron-arg-includeNonStandard" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-4" }, { - "id": "coverage:domain-system-cron-arg-includeYear", + "id": "coverage:domain-location-latitude-arg-min", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron arg includeYear", + "command": "location.latitude", + "label": "location.latitude arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "(includeYear=true)", + "command": "location.latitude", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron(includeYear=true)", - "expectedUiSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedSchemaText": "Value\nlocation.latitude(min=1)", + "expectedUiSchemaText": "Value\nlocation.latitude(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeYear"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-system-cron-arg-includeYear" + "scenarioId": "domain-location-latitude-arg-min" }, { - "id": "coverage:domain-system-cron-pair-includeNonStandard-includeYear", + "id": "coverage:domain-location-latitude-arg-max", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron pair includeNonStandard/includeYear", + "command": "location.latitude", + "label": "location.latitude arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "(includeNonStandard=true, includeYear=true)", + "command": "location.latitude", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", - "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", + "expectedSchemaText": "Value\nlocation.latitude(max=3)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeNonStandard", "includeYear"], - "origins": ["pair"], - "scenarioId": "domain-system-cron-pair-includeNonStandard-includeYear" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-location-latitude-arg-max" }, { - "id": "coverage:domain-system-directoryPath-base", + "id": "coverage:domain-location-latitude-arg-precision", "sourceType": "domain", - "command": "system.directoryPath", - "label": "system.directoryPath", + "command": "location.latitude", + "label": "location.latitude arg precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.directoryPath", - "params": "()", + "command": "location.latitude", + "params": "(precision=4)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.directoryPath()", - "expectedUiSchemaText": "Value\nsystem.directoryPath()", + "expectedSchemaText": "Value\nlocation.latitude(precision=4)", + "expectedUiSchemaText": "Value\nlocation.latitude(precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-directoryPath-base" + "coveredArgs": ["precision"], + "origins": ["arg"], + "scenarioId": "domain-location-latitude-arg-precision" }, { - "id": "coverage:domain-system-fileExt-base", + "id": "coverage:domain-location-latitude-pair-min-max", "sourceType": "domain", - "command": "system.fileExt", - "label": "system.fileExt", + "command": "location.latitude", + "label": "location.latitude pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileExt", - "params": "()", + "command": "location.latitude", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileExt()", - "expectedUiSchemaText": "Value\nsystem.fileExt()", + "expectedSchemaText": "Value\nlocation.latitude(min=1, max=3)", + "expectedUiSchemaText": "Value\nlocation.latitude(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-fileExt-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-location-latitude-pair-min-max" }, { - "id": "coverage:domain-system-fileExt-arg-mimeType", + "id": "coverage:domain-location-latitude-pair-max-precision", "sourceType": "domain", - "command": "system.fileExt", - "label": "system.fileExt arg mimeType", + "command": "location.latitude", + "label": "location.latitude pair max/precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileExt", - "params": "(mimeType=\"system-fileExt-mimeType\")", + "command": "location.latitude", + "params": "(max=3, precision=4)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", - "expectedUiSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", + "expectedSchemaText": "Value\nlocation.latitude(max=3, precision=4)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=3, precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["mimeType"], - "origins": ["arg"], - "scenarioId": "domain-system-fileExt-arg-mimeType" + "coveredArgs": ["max", "precision"], + "origins": ["pair"], + "scenarioId": "domain-location-latitude-pair-max-precision" }, { - "id": "coverage:domain-system-fileName-base", + "id": "coverage:domain-location-longitude-base", "sourceType": "domain", - "command": "system.fileName", - "label": "system.fileName", + "command": "location.longitude", + "label": "location.longitude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileName", + "command": "location.longitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileName()", - "expectedUiSchemaText": "Value\nsystem.fileName()", + "expectedSchemaText": "Value\nlocation.longitude()", + "expectedUiSchemaText": "Value\nlocation.longitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-fileName-base" + "scenarioId": "domain-location-longitude-base" }, { - "id": "coverage:domain-system-filePath-base", + "id": "coverage:domain-location-longitude-example-1", "sourceType": "domain", - "command": "system.filePath", - "label": "system.filePath", + "command": "location.longitude", + "label": "location.longitude example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.filePath", + "command": "location.longitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.filePath()", - "expectedUiSchemaText": "Value\nsystem.filePath()", + "expectedSchemaText": "Value\nlocation.longitude()", + "expectedUiSchemaText": "Value\nlocation.longitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-filePath-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-1" }, { - "id": "coverage:domain-system-fileType-base", + "id": "coverage:domain-location-longitude-example-2", "sourceType": "domain", - "command": "system.fileType", - "label": "system.fileType", + "command": "location.longitude", + "label": "location.longitude example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileType", - "params": "()", + "command": "location.longitude", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileType()", - "expectedUiSchemaText": "Value\nsystem.fileType()", + "expectedSchemaText": "Value\nlocation.longitude(max=10, min=1)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-fileType-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-2" }, { - "id": "coverage:domain-system-mimeType-base", + "id": "coverage:domain-location-longitude-example-3", "sourceType": "domain", - "command": "system.mimeType", - "label": "system.mimeType", + "command": "location.longitude", + "label": "location.longitude example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.mimeType", - "params": "()", + "command": "location.longitude", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.mimeType()", - "expectedUiSchemaText": "Value\nsystem.mimeType()", + "expectedSchemaText": "Value\nlocation.longitude(max=5)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-mimeType-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-3" }, { - "id": "coverage:domain-system-networkInterface-base", + "id": "coverage:domain-location-longitude-example-4", "sourceType": "domain", - "command": "system.networkInterface", - "label": "system.networkInterface", + "command": "location.longitude", + "label": "location.longitude example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.networkInterface", - "params": "()", + "command": "location.longitude", + "params": "(precision=1)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.networkInterface()", - "expectedUiSchemaText": "Value\nsystem.networkInterface()", + "expectedSchemaText": "Value\nlocation.longitude(precision=1)", + "expectedUiSchemaText": "Value\nlocation.longitude(precision=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-networkInterface-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-4" }, { - "id": "coverage:domain-system-semver-base", + "id": "coverage:domain-location-longitude-arg-min", "sourceType": "domain", - "command": "system.semver", - "label": "system.semver", + "command": "location.longitude", + "label": "location.longitude arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.semver", - "params": "()", + "command": "location.longitude", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nsystem.semver()", - "expectedUiSchemaText": "Value\nsystem.semver()", + "expectedSchemaText": "Value\nlocation.longitude(min=1)", + "expectedUiSchemaText": "Value\nlocation.longitude(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-semver-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-location-longitude-arg-min" }, { - "id": "coverage:domain-vehicle-bicycle-base", + "id": "coverage:domain-location-longitude-arg-max", "sourceType": "domain", - "command": "vehicle.bicycle", - "label": "vehicle.bicycle", + "command": "location.longitude", + "label": "location.longitude arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.bicycle", - "params": "()", + "command": "location.longitude", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.bicycle()", - "expectedUiSchemaText": "Value\nvehicle.bicycle()", + "expectedSchemaText": "Value\nlocation.longitude(max=3)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-bicycle-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-location-longitude-arg-max" }, { - "id": "coverage:domain-vehicle-color-base", + "id": "coverage:domain-location-longitude-arg-precision", "sourceType": "domain", - "command": "vehicle.color", - "label": "vehicle.color", + "command": "location.longitude", + "label": "location.longitude arg precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.color", - "params": "()", + "command": "location.longitude", + "params": "(precision=4)", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.color()", - "expectedUiSchemaText": "Value\nvehicle.color()", + "expectedSchemaText": "Value\nlocation.longitude(precision=4)", + "expectedUiSchemaText": "Value\nlocation.longitude(precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-color-base" + "coveredArgs": ["precision"], + "origins": ["arg"], + "scenarioId": "domain-location-longitude-arg-precision" }, { - "id": "coverage:domain-vehicle-fuel-base", + "id": "coverage:domain-location-longitude-pair-min-max", "sourceType": "domain", - "command": "vehicle.fuel", - "label": "vehicle.fuel", + "command": "location.longitude", + "label": "location.longitude pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.fuel", - "params": "()", + "command": "location.longitude", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.fuel()", - "expectedUiSchemaText": "Value\nvehicle.fuel()", + "expectedSchemaText": "Value\nlocation.longitude(min=1, max=3)", + "expectedUiSchemaText": "Value\nlocation.longitude(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-fuel-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-location-longitude-pair-min-max" }, { - "id": "coverage:domain-vehicle-manufacturer-base", + "id": "coverage:domain-location-longitude-pair-max-precision", "sourceType": "domain", - "command": "vehicle.manufacturer", - "label": "vehicle.manufacturer", + "command": "location.longitude", + "label": "location.longitude pair max/precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.manufacturer", - "params": "()", + "command": "location.longitude", + "params": "(max=3, precision=4)", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.manufacturer()", - "expectedUiSchemaText": "Value\nvehicle.manufacturer()", + "expectedSchemaText": "Value\nlocation.longitude(max=3, precision=4)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=3, precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-manufacturer-base" + "coveredArgs": ["max", "precision"], + "origins": ["pair"], + "scenarioId": "domain-location-longitude-pair-max-precision" }, { - "id": "coverage:domain-vehicle-model-base", + "id": "coverage:domain-location-ordinalDirection-base", "sourceType": "domain", - "command": "vehicle.model", - "label": "vehicle.model", + "command": "location.ordinalDirection", + "label": "location.ordinalDirection", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.model", + "command": "location.ordinalDirection", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.model()", - "expectedUiSchemaText": "Value\nvehicle.model()", + "expectedSchemaText": "Value\nlocation.ordinalDirection()", + "expectedUiSchemaText": "Value\nlocation.ordinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-vehicle-model-base" + "scenarioId": "domain-location-ordinalDirection-base" }, { - "id": "coverage:domain-vehicle-type-base", + "id": "coverage:domain-location-ordinalDirection-example-1", "sourceType": "domain", - "command": "vehicle.type", - "label": "vehicle.type", + "command": "location.ordinalDirection", + "label": "location.ordinalDirection example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.type", + "command": "location.ordinalDirection", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.type()", - "expectedUiSchemaText": "Value\nvehicle.type()", + "expectedSchemaText": "Value\nlocation.ordinalDirection()", + "expectedUiSchemaText": "Value\nlocation.ordinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-type-base" + "origins": ["example"], + "scenarioId": "domain-location-ordinalDirection-example-1" }, { - "id": "coverage:domain-vehicle-vehicle-base", + "id": "coverage:domain-location-secondaryAddress-base", "sourceType": "domain", - "command": "vehicle.vehicle", - "label": "vehicle.vehicle", + "command": "location.secondaryAddress", + "label": "location.secondaryAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.vehicle", + "command": "location.secondaryAddress", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.vehicle()", - "expectedUiSchemaText": "Value\nvehicle.vehicle()", + "expectedSchemaText": "Value\nlocation.secondaryAddress()", + "expectedUiSchemaText": "Value\nlocation.secondaryAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-vehicle-vehicle-base" + "scenarioId": "domain-location-secondaryAddress-base" }, { - "id": "coverage:domain-vehicle-vin-base", + "id": "coverage:domain-location-secondaryAddress-example-1", "sourceType": "domain", - "command": "vehicle.vin", - "label": "vehicle.vin", + "command": "location.secondaryAddress", + "label": "location.secondaryAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.vin", + "command": "location.secondaryAddress", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.vin()", - "expectedUiSchemaText": "Value\nvehicle.vin()", + "expectedSchemaText": "Value\nlocation.secondaryAddress()", + "expectedUiSchemaText": "Value\nlocation.secondaryAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-vin-base" + "origins": ["example"], + "scenarioId": "domain-location-secondaryAddress-example-1" }, { - "id": "coverage:domain-vehicle-vrm-base", + "id": "coverage:domain-location-state-base", "sourceType": "domain", - "command": "vehicle.vrm", - "label": "vehicle.vrm", + "command": "location.state", + "label": "location.state", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.vrm", + "command": "location.state", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.vrm()", - "expectedUiSchemaText": "Value\nvehicle.vrm()", + "expectedSchemaText": "Value\nlocation.state()", + "expectedUiSchemaText": "Value\nlocation.state()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-vehicle-vrm-base" + "scenarioId": "domain-location-state-base" }, { - "id": "coverage:domain-word-adjective-base", + "id": "coverage:domain-location-state-example-1", "sourceType": "domain", - "command": "word.adjective", - "label": "word.adjective", + "command": "location.state", + "label": "location.state example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adjective", + "command": "location.state", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective()", - "expectedUiSchemaText": "Value\nword.adjective()", + "expectedSchemaText": "Value\nlocation.state()", + "expectedUiSchemaText": "Value\nlocation.state()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-adjective-base" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-state-example-1" }, { - "id": "coverage:domain-word-adjective-arg-length", + "id": "coverage:domain-location-state-example-2", "sourceType": "domain", - "command": "word.adjective", - "label": "word.adjective arg length", + "command": "location.state", + "label": "location.state example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adjective", - "params": "(length=4)", + "command": "location.state", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(length=4)", - "expectedUiSchemaText": "Value\nword.adjective(length=4)", + "expectedSchemaText": "Value\nlocation.state(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.state(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-adjective-arg-length" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-state-example-2" }, { - "id": "coverage:domain-word-adjective-arg-max", + "id": "coverage:domain-location-state-arg-abbreviated", "sourceType": "domain", - "command": "word.adjective", - "label": "word.adjective arg max", + "command": "location.state", + "label": "location.state arg abbreviated", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adjective", - "params": "(max=3)", + "command": "location.state", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(max=3)", - "expectedUiSchemaText": "Value\nword.adjective(max=3)", + "expectedSchemaText": "Value\nlocation.state(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.state(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["abbreviated"], "origins": ["arg"], - "scenarioId": "domain-word-adjective-arg-max" + "scenarioId": "domain-location-state-arg-abbreviated" }, { - "id": "coverage:domain-word-adjective-arg-strategy", + "id": "coverage:domain-location-street-base", "sourceType": "domain", - "command": "word.adjective", - "label": "word.adjective arg strategy", + "command": "location.street", + "label": "location.street", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adjective", - "params": "(strategy=\"word-adjective-strategy\")", + "command": "location.street", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(strategy=\"word-adjective-strategy\")", - "expectedUiSchemaText": "Value\nword.adjective(strategy=\"word-adjective-strategy\")", + "expectedSchemaText": "Value\nlocation.street()", + "expectedUiSchemaText": "Value\nlocation.street()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-word-adjective-arg-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-street-base" }, { - "id": "coverage:domain-word-adjective-pair-length-max", + "id": "coverage:domain-location-street-example-1", "sourceType": "domain", - "command": "word.adjective", - "label": "word.adjective pair length/max", + "command": "location.street", + "label": "location.street example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adjective", - "params": "(length=4, max=3)", + "command": "location.street", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.adjective(length=4, max=3)", + "expectedSchemaText": "Value\nlocation.street()", + "expectedUiSchemaText": "Value\nlocation.street()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-adjective-pair-length-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-street-example-1" }, { - "id": "coverage:domain-word-adjective-pair-max-strategy", + "id": "coverage:domain-location-streetAddress-base", "sourceType": "domain", - "command": "word.adjective", - "label": "word.adjective pair max/strategy", + "command": "location.streetAddress", + "label": "location.streetAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adjective", - "params": "(max=3, strategy=\"word-adjective-strategy\")", + "command": "location.streetAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(max=3, strategy=\"word-adjective-strategy\")", - "expectedUiSchemaText": "Value\nword.adjective(max=3, strategy=\"word-adjective-strategy\")", + "expectedSchemaText": "Value\nlocation.streetAddress()", + "expectedUiSchemaText": "Value\nlocation.streetAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-adjective-pair-max-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-streetAddress-base" }, { - "id": "coverage:domain-word-adverb-base", + "id": "coverage:domain-location-streetAddress-example-1", "sourceType": "domain", - "command": "word.adverb", - "label": "word.adverb", + "command": "location.streetAddress", + "label": "location.streetAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adverb", + "command": "location.streetAddress", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb()", - "expectedUiSchemaText": "Value\nword.adverb()", + "expectedSchemaText": "Value\nlocation.streetAddress()", + "expectedUiSchemaText": "Value\nlocation.streetAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-adverb-base" + "coveredArgs": ["useFullAddress"], + "origins": ["example"], + "scenarioId": "domain-location-streetAddress-example-1" }, { - "id": "coverage:domain-word-adverb-arg-length", + "id": "coverage:domain-location-streetAddress-example-2", "sourceType": "domain", - "command": "word.adverb", - "label": "word.adverb arg length", + "command": "location.streetAddress", + "label": "location.streetAddress example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adverb", - "params": "(length=4)", + "command": "location.streetAddress", + "params": "(useFullAddress=true)", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(length=4)", - "expectedUiSchemaText": "Value\nword.adverb(length=4)", + "expectedSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", + "expectedUiSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-adverb-arg-length" + "coveredArgs": ["useFullAddress"], + "origins": ["example"], + "scenarioId": "domain-location-streetAddress-example-2" }, { - "id": "coverage:domain-word-adverb-arg-max", + "id": "coverage:domain-location-streetAddress-arg-useFullAddress", "sourceType": "domain", - "command": "word.adverb", - "label": "word.adverb arg max", + "command": "location.streetAddress", + "label": "location.streetAddress arg useFullAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adverb", - "params": "(max=3)", + "command": "location.streetAddress", + "params": "(useFullAddress=true)", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(max=3)", - "expectedUiSchemaText": "Value\nword.adverb(max=3)", + "expectedSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", + "expectedUiSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["useFullAddress"], "origins": ["arg"], - "scenarioId": "domain-word-adverb-arg-max" + "scenarioId": "domain-location-streetAddress-arg-useFullAddress" }, { - "id": "coverage:domain-word-adverb-arg-strategy", + "id": "coverage:domain-location-timeZone-base", "sourceType": "domain", - "command": "word.adverb", - "label": "word.adverb arg strategy", + "command": "location.timeZone", + "label": "location.timeZone", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adverb", - "params": "(strategy=\"word-adverb-strategy\")", + "command": "location.timeZone", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(strategy=\"word-adverb-strategy\")", - "expectedUiSchemaText": "Value\nword.adverb(strategy=\"word-adverb-strategy\")", + "expectedSchemaText": "Value\nlocation.timeZone()", + "expectedUiSchemaText": "Value\nlocation.timeZone()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-word-adverb-arg-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-timeZone-base" }, { - "id": "coverage:domain-word-adverb-pair-length-max", + "id": "coverage:domain-location-timeZone-example-1", "sourceType": "domain", - "command": "word.adverb", - "label": "word.adverb pair length/max", + "command": "location.timeZone", + "label": "location.timeZone example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adverb", - "params": "(length=4, max=3)", + "command": "location.timeZone", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.adverb(length=4, max=3)", + "expectedSchemaText": "Value\nlocation.timeZone()", + "expectedUiSchemaText": "Value\nlocation.timeZone()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-adverb-pair-length-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-timeZone-example-1" }, { - "id": "coverage:domain-word-adverb-pair-max-strategy", + "id": "coverage:domain-location-zipCode-base", "sourceType": "domain", - "command": "word.adverb", - "label": "word.adverb pair max/strategy", + "command": "location.zipCode", + "label": "location.zipCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.adverb", - "params": "(max=3, strategy=\"word-adverb-strategy\")", + "command": "location.zipCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(max=3, strategy=\"word-adverb-strategy\")", - "expectedUiSchemaText": "Value\nword.adverb(max=3, strategy=\"word-adverb-strategy\")", + "expectedSchemaText": "Value\nlocation.zipCode()", + "expectedUiSchemaText": "Value\nlocation.zipCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-adverb-pair-max-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-zipCode-base" }, { - "id": "coverage:domain-word-conjunction-base", + "id": "coverage:domain-location-zipCode-example-1", "sourceType": "domain", - "command": "word.conjunction", - "label": "word.conjunction", + "command": "location.zipCode", + "label": "location.zipCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.conjunction", + "command": "location.zipCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction()", - "expectedUiSchemaText": "Value\nword.conjunction()", + "expectedSchemaText": "Value\nlocation.zipCode()", + "expectedUiSchemaText": "Value\nlocation.zipCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-conjunction-base" + "origins": ["example"], + "scenarioId": "domain-location-zipCode-example-1" }, { - "id": "coverage:domain-word-conjunction-arg-length", + "id": "coverage:domain-lorem-lines-base", "sourceType": "domain", - "command": "word.conjunction", - "label": "word.conjunction arg length", + "command": "lorem.lines", + "label": "lorem.lines", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.conjunction", - "params": "(length=4)", + "command": "lorem.lines", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(length=4)", - "expectedUiSchemaText": "Value\nword.conjunction(length=4)", + "expectedSchemaText": "Value\nlorem.lines()", + "expectedUiSchemaText": "Value\nlorem.lines()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-conjunction-arg-length" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-lines-base" }, { - "id": "coverage:domain-word-conjunction-arg-max", + "id": "coverage:domain-lorem-lines-example-1", "sourceType": "domain", - "command": "word.conjunction", - "label": "word.conjunction arg max", + "command": "lorem.lines", + "label": "lorem.lines example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.conjunction", - "params": "(max=3)", + "command": "lorem.lines", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(max=3)", - "expectedUiSchemaText": "Value\nword.conjunction(max=3)", + "expectedSchemaText": "Value\nlorem.lines()", + "expectedUiSchemaText": "Value\nlorem.lines()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-word-conjunction-arg-max" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-1" }, { - "id": "coverage:domain-word-conjunction-arg-strategy", + "id": "coverage:domain-lorem-lines-example-2", "sourceType": "domain", - "command": "word.conjunction", - "label": "word.conjunction arg strategy", + "command": "lorem.lines", + "label": "lorem.lines example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.conjunction", - "params": "(strategy=\"word-conjunction-strategy\")", + "command": "lorem.lines", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(strategy=\"word-conjunction-strategy\")", - "expectedUiSchemaText": "Value\nword.conjunction(strategy=\"word-conjunction-strategy\")", + "expectedSchemaText": "Value\nlorem.lines(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.lines(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-word-conjunction-arg-strategy" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-2" }, { - "id": "coverage:domain-word-conjunction-pair-length-max", + "id": "coverage:domain-lorem-lines-example-3", "sourceType": "domain", - "command": "word.conjunction", - "label": "word.conjunction pair length/max", + "command": "lorem.lines", + "label": "lorem.lines example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.conjunction", - "params": "(length=4, max=3)", + "command": "lorem.lines", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.conjunction(length=4, max=3)", + "expectedSchemaText": "Value\nlorem.lines(max=5)", + "expectedUiSchemaText": "Value\nlorem.lines(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-conjunction-pair-length-max" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-3" }, { - "id": "coverage:domain-word-conjunction-pair-max-strategy", + "id": "coverage:domain-lorem-lines-example-4", "sourceType": "domain", - "command": "word.conjunction", - "label": "word.conjunction pair max/strategy", + "command": "lorem.lines", + "label": "lorem.lines example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.conjunction", - "params": "(max=3, strategy=\"word-conjunction-strategy\")", + "command": "lorem.lines", + "params": "(lineCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(max=3, strategy=\"word-conjunction-strategy\")", - "expectedUiSchemaText": "Value\nword.conjunction(max=3, strategy=\"word-conjunction-strategy\")", + "expectedSchemaText": "Value\nlorem.lines(lineCount=5)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-conjunction-pair-max-strategy" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-4" }, { - "id": "coverage:domain-word-interjection-base", + "id": "coverage:domain-lorem-lines-example-5", "sourceType": "domain", - "command": "word.interjection", - "label": "word.interjection", + "command": "lorem.lines", + "label": "lorem.lines example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.interjection", - "params": "()", + "command": "lorem.lines", + "params": "(lineCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection()", - "expectedUiSchemaText": "Value\nword.interjection()", + "expectedSchemaText": "Value\nlorem.lines(lineCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-interjection-base" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-5" }, { - "id": "coverage:domain-word-interjection-arg-length", + "id": "coverage:domain-lorem-lines-example-6", "sourceType": "domain", - "command": "word.interjection", - "label": "word.interjection arg length", + "command": "lorem.lines", + "label": "lorem.lines example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.interjection", - "params": "(length=4)", + "command": "lorem.lines", + "params": "(lineCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(length=4)", - "expectedUiSchemaText": "Value\nword.interjection(length=4)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-interjection-arg-length" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-6" }, { - "id": "coverage:domain-word-interjection-arg-max", + "id": "coverage:domain-lorem-lines-arg-min", "sourceType": "domain", - "command": "word.interjection", - "label": "word.interjection arg max", + "command": "lorem.lines", + "label": "lorem.lines arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.interjection", - "params": "(max=3)", + "command": "lorem.lines", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(max=3)", - "expectedUiSchemaText": "Value\nword.interjection(max=3)", + "expectedSchemaText": "Value\nlorem.lines(min=1)", + "expectedUiSchemaText": "Value\nlorem.lines(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-word-interjection-arg-max" + "scenarioId": "domain-lorem-lines-arg-min" }, { - "id": "coverage:domain-word-interjection-arg-strategy", + "id": "coverage:domain-lorem-lines-arg-max", "sourceType": "domain", - "command": "word.interjection", - "label": "word.interjection arg strategy", + "command": "lorem.lines", + "label": "lorem.lines arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.interjection", - "params": "(strategy=\"word-interjection-strategy\")", + "command": "lorem.lines", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(strategy=\"word-interjection-strategy\")", - "expectedUiSchemaText": "Value\nword.interjection(strategy=\"word-interjection-strategy\")", + "expectedSchemaText": "Value\nlorem.lines(max=3)", + "expectedUiSchemaText": "Value\nlorem.lines(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-word-interjection-arg-strategy" + "scenarioId": "domain-lorem-lines-arg-max" }, { - "id": "coverage:domain-word-interjection-pair-length-max", + "id": "coverage:domain-lorem-lines-arg-lineCount", "sourceType": "domain", - "command": "word.interjection", - "label": "word.interjection pair length/max", + "command": "lorem.lines", + "label": "lorem.lines arg lineCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.interjection", - "params": "(length=4, max=3)", + "command": "lorem.lines", + "params": "(lineCount=2)", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.interjection(length=4, max=3)", + "expectedSchemaText": "Value\nlorem.lines(lineCount=2)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-interjection-pair-length-max" + "coveredArgs": ["lineCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-lines-arg-lineCount" }, { - "id": "coverage:domain-word-interjection-pair-max-strategy", + "id": "coverage:domain-lorem-lines-arg-lineCountMax", "sourceType": "domain", - "command": "word.interjection", - "label": "word.interjection pair max/strategy", + "command": "lorem.lines", + "label": "lorem.lines arg lineCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.interjection", - "params": "(max=3, strategy=\"word-interjection-strategy\")", + "command": "lorem.lines", + "params": "(lineCountMax=2)", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(max=3, strategy=\"word-interjection-strategy\")", - "expectedUiSchemaText": "Value\nword.interjection(max=3, strategy=\"word-interjection-strategy\")", + "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-interjection-pair-max-strategy" + "coveredArgs": ["lineCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-lines-arg-lineCountMax" }, { - "id": "coverage:domain-word-noun-base", + "id": "coverage:domain-lorem-lines-arg-lineCountMin", "sourceType": "domain", - "command": "word.noun", - "label": "word.noun", + "command": "lorem.lines", + "label": "lorem.lines arg lineCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.noun", - "params": "()", + "command": "lorem.lines", + "params": "(lineCountMin=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.noun()", - "expectedUiSchemaText": "Value\nword.noun()", + "expectedSchemaText": "Value\nlorem.lines(lineCountMin=1)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMin=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-noun-base" + "coveredArgs": ["lineCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-lines-arg-lineCountMin" }, { - "id": "coverage:domain-word-noun-arg-length", + "id": "coverage:domain-lorem-lines-pair-min-max", "sourceType": "domain", - "command": "word.noun", - "label": "word.noun arg length", + "command": "lorem.lines", + "label": "lorem.lines pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.noun", - "params": "(length=4)", + "command": "lorem.lines", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(length=4)", - "expectedUiSchemaText": "Value\nword.noun(length=4)", + "expectedSchemaText": "Value\nlorem.lines(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.lines(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-noun-arg-length" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-min-max" }, { - "id": "coverage:domain-word-noun-arg-max", + "id": "coverage:domain-lorem-lines-pair-max-lineCount", "sourceType": "domain", - "command": "word.noun", - "label": "word.noun arg max", + "command": "lorem.lines", + "label": "lorem.lines pair max/lineCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.noun", - "params": "(max=3)", + "command": "lorem.lines", + "params": "(max=3, lineCount=2)", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(max=3)", - "expectedUiSchemaText": "Value\nword.noun(max=3)", + "expectedSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", + "expectedUiSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-word-noun-arg-max" + "coveredArgs": ["max", "lineCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-max-lineCount" }, { - "id": "coverage:domain-word-noun-arg-strategy", + "id": "coverage:domain-lorem-lines-pair-lineCount-lineCountMax", "sourceType": "domain", - "command": "word.noun", - "label": "word.noun arg strategy", + "command": "lorem.lines", + "label": "lorem.lines pair lineCount/lineCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.noun", - "params": "(strategy=\"word-noun-strategy\")", + "command": "lorem.lines", + "params": "(lineCount=2, lineCountMax=2)", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(strategy=\"word-noun-strategy\")", - "expectedUiSchemaText": "Value\nword.noun(strategy=\"word-noun-strategy\")", + "expectedSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-word-noun-arg-strategy" + "coveredArgs": ["lineCount", "lineCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-lineCount-lineCountMax" }, { - "id": "coverage:domain-word-noun-pair-length-max", + "id": "coverage:domain-lorem-lines-pair-lineCountMax-lineCountMin", "sourceType": "domain", - "command": "word.noun", - "label": "word.noun pair length/max", + "command": "lorem.lines", + "label": "lorem.lines pair lineCountMax/lineCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.noun", - "params": "(length=4, max=3)", + "command": "lorem.lines", + "params": "(lineCountMax=2, lineCountMin=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.noun(length=4, max=3)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], + "coveredArgs": ["lineCountMax", "lineCountMin"], "origins": ["pair"], - "scenarioId": "domain-word-noun-pair-length-max" + "scenarioId": "domain-lorem-lines-pair-lineCountMax-lineCountMin" }, { - "id": "coverage:domain-word-noun-pair-max-strategy", + "id": "coverage:domain-lorem-paragraph-base", "sourceType": "domain", - "command": "word.noun", - "label": "word.noun pair max/strategy", + "command": "lorem.paragraph", + "label": "lorem.paragraph", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.noun", - "params": "(max=3, strategy=\"word-noun-strategy\")", + "command": "lorem.paragraph", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(max=3, strategy=\"word-noun-strategy\")", - "expectedUiSchemaText": "Value\nword.noun(max=3, strategy=\"word-noun-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraph()", + "expectedUiSchemaText": "Value\nlorem.paragraph()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-noun-pair-max-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-paragraph-base" }, { - "id": "coverage:domain-word-preposition-base", + "id": "coverage:domain-lorem-paragraph-example-1", "sourceType": "domain", - "command": "word.preposition", - "label": "word.preposition", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.preposition", + "command": "lorem.paragraph", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition()", - "expectedUiSchemaText": "Value\nword.preposition()", + "expectedSchemaText": "Value\nlorem.paragraph()", + "expectedUiSchemaText": "Value\nlorem.paragraph()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-preposition-base" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-1" }, { - "id": "coverage:domain-word-preposition-arg-length", + "id": "coverage:domain-lorem-paragraph-example-2", "sourceType": "domain", - "command": "word.preposition", - "label": "word.preposition arg length", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.preposition", - "params": "(length=4)", + "command": "lorem.paragraph", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(length=4)", - "expectedUiSchemaText": "Value\nword.preposition(length=4)", + "expectedSchemaText": "Value\nlorem.paragraph(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-preposition-arg-length" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-2" }, { - "id": "coverage:domain-word-preposition-arg-max", + "id": "coverage:domain-lorem-paragraph-example-3", "sourceType": "domain", - "command": "word.preposition", - "label": "word.preposition arg max", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.preposition", - "params": "(max=3)", + "command": "lorem.paragraph", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(max=3)", - "expectedUiSchemaText": "Value\nword.preposition(max=3)", + "expectedSchemaText": "Value\nlorem.paragraph(max=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-word-preposition-arg-max" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-3" }, { - "id": "coverage:domain-word-preposition-arg-strategy", + "id": "coverage:domain-lorem-paragraph-example-4", "sourceType": "domain", - "command": "word.preposition", - "label": "word.preposition arg strategy", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.preposition", - "params": "(strategy=\"word-preposition-strategy\")", + "command": "lorem.paragraph", + "params": "(sentenceCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(strategy=\"word-preposition-strategy\")", - "expectedUiSchemaText": "Value\nword.preposition(strategy=\"word-preposition-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-word-preposition-arg-strategy" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-4" }, { - "id": "coverage:domain-word-preposition-pair-length-max", + "id": "coverage:domain-lorem-paragraph-example-5", "sourceType": "domain", - "command": "word.preposition", - "label": "word.preposition pair length/max", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.preposition", - "params": "(length=4, max=3)", + "command": "lorem.paragraph", + "params": "(sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.preposition(length=4, max=3)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-preposition-pair-length-max" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-5" }, { - "id": "coverage:domain-word-preposition-pair-max-strategy", + "id": "coverage:domain-lorem-paragraph-example-6", "sourceType": "domain", - "command": "word.preposition", - "label": "word.preposition pair max/strategy", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.preposition", - "params": "(max=3, strategy=\"word-preposition-strategy\")", + "command": "lorem.paragraph", + "params": "(sentenceCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(max=3, strategy=\"word-preposition-strategy\")", - "expectedUiSchemaText": "Value\nword.preposition(max=3, strategy=\"word-preposition-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-preposition-pair-max-strategy" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-6" }, { - "id": "coverage:domain-word-sample-base", + "id": "coverage:domain-lorem-paragraph-arg-min", "sourceType": "domain", - "command": "word.sample", - "label": "word.sample", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.sample", - "params": "()", + "command": "lorem.paragraph", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.sample()", - "expectedUiSchemaText": "Value\nword.sample()", + "expectedSchemaText": "Value\nlorem.paragraph(min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraph(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-sample-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraph-arg-min" }, { - "id": "coverage:domain-word-sample-arg-length", + "id": "coverage:domain-lorem-paragraph-arg-max", "sourceType": "domain", - "command": "word.sample", - "label": "word.sample arg length", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.sample", - "params": "(length=4)", + "command": "lorem.paragraph", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(length=4)", - "expectedUiSchemaText": "Value\nword.sample(length=4)", + "expectedSchemaText": "Value\nlorem.paragraph(max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-word-sample-arg-length" + "scenarioId": "domain-lorem-paragraph-arg-max" }, { - "id": "coverage:domain-word-sample-arg-max", + "id": "coverage:domain-lorem-paragraph-arg-sentenceCount", "sourceType": "domain", - "command": "word.sample", - "label": "word.sample arg max", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg sentenceCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.sample", - "params": "(max=3)", + "command": "lorem.paragraph", + "params": "(sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(max=3)", - "expectedUiSchemaText": "Value\nword.sample(max=3)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["sentenceCount"], "origins": ["arg"], - "scenarioId": "domain-word-sample-arg-max" + "scenarioId": "domain-lorem-paragraph-arg-sentenceCount" }, { - "id": "coverage:domain-word-sample-arg-strategy", + "id": "coverage:domain-lorem-paragraph-arg-sentenceCountMax", "sourceType": "domain", - "command": "word.sample", - "label": "word.sample arg strategy", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg sentenceCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.sample", - "params": "(strategy=\"word-sample-strategy\")", + "command": "lorem.paragraph", + "params": "(sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(strategy=\"word-sample-strategy\")", - "expectedUiSchemaText": "Value\nword.sample(strategy=\"word-sample-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], + "coveredArgs": ["sentenceCountMax"], "origins": ["arg"], - "scenarioId": "domain-word-sample-arg-strategy" + "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMax" }, { - "id": "coverage:domain-word-sample-pair-length-max", + "id": "coverage:domain-lorem-paragraph-arg-sentenceCountMin", "sourceType": "domain", - "command": "word.sample", - "label": "word.sample pair length/max", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg sentenceCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.sample", - "params": "(length=4, max=3)", + "command": "lorem.paragraph", + "params": "(sentenceCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.sample(length=4, max=3)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-sample-pair-length-max" + "coveredArgs": ["sentenceCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMin" }, { - "id": "coverage:domain-word-sample-pair-max-strategy", + "id": "coverage:domain-lorem-paragraph-pair-min-max", "sourceType": "domain", - "command": "word.sample", - "label": "word.sample pair max/strategy", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.sample", - "params": "(max=3, strategy=\"word-sample-strategy\")", + "command": "lorem.paragraph", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(max=3, strategy=\"word-sample-strategy\")", - "expectedUiSchemaText": "Value\nword.sample(max=3, strategy=\"word-sample-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraph(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraph(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], + "coveredArgs": ["min", "max"], "origins": ["pair"], - "scenarioId": "domain-word-sample-pair-max-strategy" + "scenarioId": "domain-lorem-paragraph-pair-min-max" }, { - "id": "coverage:domain-word-verb-base", + "id": "coverage:domain-lorem-paragraph-pair-max-sentenceCount", "sourceType": "domain", - "command": "word.verb", - "label": "word.verb", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair max/sentenceCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.verb", - "params": "()", + "command": "lorem.paragraph", + "params": "(max=3, sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nword.verb()", - "expectedUiSchemaText": "Value\nword.verb()", + "expectedSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-verb-base" + "coveredArgs": ["max", "sentenceCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraph-pair-max-sentenceCount" }, { - "id": "coverage:domain-word-verb-arg-length", + "id": "coverage:domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax", "sourceType": "domain", - "command": "word.verb", - "label": "word.verb arg length", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair sentenceCount/sentenceCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.verb", - "params": "(length=4)", + "command": "lorem.paragraph", + "params": "(sentenceCount=4, sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(length=4)", - "expectedUiSchemaText": "Value\nword.verb(length=4)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-word-verb-arg-length" + "coveredArgs": ["sentenceCount", "sentenceCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax" }, { - "id": "coverage:domain-word-verb-arg-max", + "id": "coverage:domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin", "sourceType": "domain", - "command": "word.verb", - "label": "word.verb arg max", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair sentenceCountMax/sentenceCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.verb", - "params": "(max=3)", + "command": "lorem.paragraph", + "params": "(sentenceCountMax=5, sentenceCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(max=3)", - "expectedUiSchemaText": "Value\nword.verb(max=3)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-word-verb-arg-max" + "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin" }, { - "id": "coverage:domain-word-verb-arg-strategy", + "id": "coverage:domain-lorem-paragraphs-base", "sourceType": "domain", - "command": "word.verb", - "label": "word.verb arg strategy", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.verb", - "params": "(strategy=\"word-verb-strategy\")", + "command": "lorem.paragraphs", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(strategy=\"word-verb-strategy\")", - "expectedUiSchemaText": "Value\nword.verb(strategy=\"word-verb-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraphs()", + "expectedUiSchemaText": "Value\nlorem.paragraphs()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-word-verb-arg-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-paragraphs-base" }, { - "id": "coverage:domain-word-verb-pair-length-max", + "id": "coverage:domain-lorem-paragraphs-example-1", "sourceType": "domain", - "command": "word.verb", - "label": "word.verb pair length/max", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.verb", - "params": "(length=4, max=3)", + "command": "lorem.paragraphs", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(length=4, max=3)", - "expectedUiSchemaText": "Value\nword.verb(length=4, max=3)", + "expectedSchemaText": "Value\nlorem.paragraphs()", + "expectedUiSchemaText": "Value\nlorem.paragraphs()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-verb-pair-length-max" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-1" }, { - "id": "coverage:domain-word-verb-pair-max-strategy", + "id": "coverage:domain-lorem-paragraphs-example-2", "sourceType": "domain", - "command": "word.verb", - "label": "word.verb pair max/strategy", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.verb", - "params": "(max=3, strategy=\"word-verb-strategy\")", + "command": "lorem.paragraphs", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(max=3, strategy=\"word-verb-strategy\")", - "expectedUiSchemaText": "Value\nword.verb(max=3, strategy=\"word-verb-strategy\")", + "expectedSchemaText": "Value\nlorem.paragraphs(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-word-verb-pair-max-strategy" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-2" }, { - "id": "coverage:domain-word-words-base", + "id": "coverage:domain-lorem-paragraphs-example-3", "sourceType": "domain", - "command": "word.words", - "label": "word.words", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.words", - "params": "()", + "command": "lorem.paragraphs", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.words()", - "expectedUiSchemaText": "Value\nword.words()", + "expectedSchemaText": "Value\nlorem.paragraphs(max=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-words-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-3" }, { - "id": "coverage:domain-word-words-arg-count", + "id": "coverage:domain-lorem-paragraphs-example-4", "sourceType": "domain", - "command": "word.words", - "label": "word.words arg count", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.words", - "params": "(count=2)", + "command": "lorem.paragraphs", + "params": "(paragraphCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.words(count=2)", - "expectedUiSchemaText": "Value\nword.words(count=2)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["count"], - "origins": ["arg"], - "scenarioId": "domain-word-words-arg-count" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-4" }, { - "id": "coverage:domain-word-words-arg-max", + "id": "coverage:domain-lorem-paragraphs-example-5", "sourceType": "domain", - "command": "word.words", - "label": "word.words arg max", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.words", - "params": "(max=3)", + "command": "lorem.paragraphs", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nword.words(max=3)", - "expectedUiSchemaText": "Value\nword.words(max=3)", + "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-word-words-arg-max" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-5" }, { - "id": "coverage:domain-word-words-pair-count-max", + "id": "coverage:domain-lorem-paragraphs-example-6", "sourceType": "domain", - "command": "word.words", - "label": "word.words pair count/max", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "word.words", - "params": "(count=2, max=3)", + "command": "lorem.paragraphs", + "params": "(paragraphCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nword.words(count=2, max=3)", - "expectedUiSchemaText": "Value\nword.words(count=2, max=3)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["count", "max"], - "origins": ["pair"], - "scenarioId": "domain-word-words-pair-count-max" - } - ], - "runtimeScenarios": [ + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-6" + }, { - "id": "runtime:custom-enum-base", - "sourceType": "enum", - "command": "", - "label": "enum", + "id": "coverage:domain-lorem-paragraphs-example-7", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 7", "rows": [ { - "name": "Status", - "sourceType": "enum", - "command": "", - "params": "", - "value": "active,inactive,pending" + "name": "Value", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(paragraphCountMin=5)", + "value": "" } ], - "expectedSchemaText": "Status\nactive,inactive,pending", - "expectedUiSchemaText": "Status\nenum(active,inactive,pending)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["custom"], - "scenarioId": "custom-enum-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-7" }, { - "id": "runtime:custom-enum-pairwise", - "sourceType": "enum", - "command": "", - "label": "enum pairwise", + "id": "coverage:domain-lorem-paragraphs-arg-min", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg min", "rows": [ { - "name": "Status", - "sourceType": "enum", - "command": "", - "params": "", - "value": "active,inactive,pending" - }, - { - "name": "Priority", - "sourceType": "enum", - "command": "", - "params": "", - "value": "high,medium,low" + "name": "Value", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(min=1)", + "value": "" } ], - "expectedSchemaText": "Status\nactive,inactive,pending\nPriority\nhigh,medium,low", - "expectedUiSchemaText": "Status\nenum(active,inactive,pending)\nPriority\nenum(high,medium,low)", + "expectedSchemaText": "Value\nlorem.paragraphs(min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1)", "expectedFileExtension": ".csv", - "pairwiseEligible": true, + "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["custom", "pairwise"], - "scenarioId": "custom-enum-pairwise" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-min" }, { - "id": "runtime:custom-literal-base", - "sourceType": "literal", - "command": "", - "label": "literal", + "id": "coverage:domain-lorem-paragraphs-arg-max", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg max", "rows": [ { - "name": "Status", - "sourceType": "literal", - "command": "", - "params": "", - "value": "Pending" + "name": "Value", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(max=3)", + "value": "" } ], - "expectedSchemaText": "Status\nliteral(Pending)", - "expectedUiSchemaText": "Status\nliteral(Pending)", + "expectedSchemaText": "Value\nlorem.paragraphs(max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["custom"], - "scenarioId": "custom-literal-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-max" }, { - "id": "runtime:custom-literal-empty", - "sourceType": "literal", - "command": "", - "label": "literal empty", + "id": "coverage:domain-lorem-paragraphs-arg-paragraphCount", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg paragraphCount", "rows": [ { - "name": "Status", - "sourceType": "literal", - "command": "", - "params": "", + "name": "Value", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(paragraphCount=4)", "value": "" } ], - "expectedSchemaText": "Status\nliteral(\"\")", - "expectedUiSchemaText": "Status\nliteral(\"\")", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["custom", "empty"], - "scenarioId": "custom-literal-empty" + "coveredArgs": ["paragraphCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-paragraphCount" }, { - "id": "runtime:custom-regex-base", - "sourceType": "regex", - "command": "", - "label": "regex", + "id": "coverage:domain-lorem-paragraphs-arg-separator", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg separator", "rows": [ { - "name": "Code", - "sourceType": "regex", - "command": "", - "params": "", - "value": "[A-Z]{2}[0-9]{2}" + "name": "Value", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(separator=\"-\")", + "value": "" } ], - "expectedSchemaText": "Code\n[A-Z]{2}[0-9]{2}", - "expectedUiSchemaText": "Code\n[A-Z]{2}[0-9]{2}", + "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["custom"], - "scenarioId": "custom-regex-base" + "coveredArgs": ["separator"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-separator" }, { - "id": "runtime:custom-regex-empty", - "sourceType": "regex", - "command": "", - "label": "regex empty", + "id": "coverage:domain-lorem-paragraphs-arg-paragraphCountMax", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg paragraphCountMax", "rows": [ { - "name": "Code", - "sourceType": "regex", - "command": "", - "params": "", + "name": "Value", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(paragraphCountMax=6)", "value": "" } ], - "expectedSchemaText": "Code\nregex(\"\")", - "expectedUiSchemaText": "Code\nregex(\"\")", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["custom", "empty"], - "scenarioId": "custom-regex-empty" + "coveredArgs": ["paragraphCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMax" }, { - "id": "runtime:faker-helpers-arrayElement-base", - "sourceType": "faker", - "command": "helpers.arrayElement", - "label": "helpers.arrayElement", + "id": "coverage:domain-lorem-paragraphs-arg-paragraphCountMin", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg paragraphCountMin", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElement", - "params": "([\"A\", \"B\"])", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(paragraphCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-arrayElement-base" + "coveredArgs": ["paragraphCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMin" }, { - "id": "runtime:faker-helpers-arrayElement-example-1", - "sourceType": "faker", - "command": "helpers.arrayElement", - "label": "helpers.arrayElement example 1", + "id": "coverage:domain-lorem-paragraphs-pair-min-max", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair min/max", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElement", - "params": "([\"A\", \"B\", \"C\"])", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\", \"C\"])", - "expectedUiSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\", \"C\"])", + "expectedSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array"], - "origins": ["example"], - "scenarioId": "faker-helpers-arrayElement-example-1" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-min-max" }, { - "id": "runtime:faker-helpers-arrayElement-arg-array", - "sourceType": "faker", - "command": "helpers.arrayElement", - "label": "helpers.arrayElement arg array", + "id": "coverage:domain-lorem-paragraphs-pair-max-paragraphCount", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair max/paragraphCount", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElement", - "params": "([\"A\", \"B\"])", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(max=3, paragraphCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", + "expectedSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array"], - "origins": ["arg"], - "scenarioId": "faker-helpers-arrayElement-arg-array" + "coveredArgs": ["max", "paragraphCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-max-paragraphCount" }, { - "id": "runtime:faker-helpers-arrayElements-base", - "sourceType": "faker", - "command": "helpers.arrayElements", - "label": "helpers.arrayElements", + "id": "coverage:domain-lorem-paragraphs-pair-paragraphCount-separator", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair paragraphCount/separator", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElements", - "params": "([\"A\", \"B\", \"C\"], 2)", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(paragraphCount=4, separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", - "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-arrayElements-base" + "coveredArgs": ["paragraphCount", "separator"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-paragraphCount-separator" }, { - "id": "runtime:faker-helpers-arrayElements-example-1", - "sourceType": "faker", - "command": "helpers.arrayElements", - "label": "helpers.arrayElements example 1", + "id": "coverage:domain-lorem-paragraphs-pair-separator-paragraphCountMax", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair separator/paragraphCountMax", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElements", - "params": "([\"A\", \"B\", \"C\"], 2)", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(separator=\"-\", paragraphCountMax=6)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", - "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", + "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array", "count"], - "origins": ["example"], - "scenarioId": "faker-helpers-arrayElements-example-1" + "coveredArgs": ["separator", "paragraphCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-separator-paragraphCountMax" }, { - "id": "runtime:faker-helpers-arrayElements-arg-array", - "sourceType": "faker", - "command": "helpers.arrayElements", - "label": "helpers.arrayElements arg array", + "id": "coverage:domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin", + "sourceType": "domain", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair paragraphCountMax/paragraphCountMin", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElements", - "params": "([\"A\", \"B\"])", + "sourceType": "domain", + "command": "lorem.paragraphs", + "params": "(paragraphCountMax=6, paragraphCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"])", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array"], - "origins": ["arg"], - "scenarioId": "faker-helpers-arrayElements-arg-array" + "coveredArgs": ["paragraphCountMax", "paragraphCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin" }, { - "id": "runtime:faker-helpers-arrayElements-arg-count", - "sourceType": "faker", - "command": "helpers.arrayElements", - "label": "helpers.arrayElements arg count", + "id": "coverage:domain-lorem-sentence-base", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElements", - "params": "([\"A\", \"B\"], 2)", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", - "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", + "expectedSchemaText": "Value\nlorem.sentence()", + "expectedUiSchemaText": "Value\nlorem.sentence()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["count"], - "origins": ["arg"], - "scenarioId": "faker-helpers-arrayElements-arg-count" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-sentence-base" }, { - "id": "runtime:faker-helpers-arrayElements-pair-array-count", - "sourceType": "faker", - "command": "helpers.arrayElements", - "label": "helpers.arrayElements pair array/count", + "id": "coverage:domain-lorem-sentence-example-1", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence example 1", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.arrayElements", - "params": "([\"A\", \"B\"], 2)", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", - "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", + "expectedSchemaText": "Value\nlorem.sentence()", + "expectedUiSchemaText": "Value\nlorem.sentence()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array", "count"], - "origins": ["pair"], - "scenarioId": "faker-helpers-arrayElements-pair-array-count" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-1" }, { - "id": "runtime:faker-helpers-fake-base", - "sourceType": "faker", - "command": "helpers.fake", - "label": "helpers.fake", + "id": "coverage:domain-lorem-sentence-example-2", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence example 2", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.fake", - "params": "(\"{{person.firstName}}\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.fake(\"{{person.firstName}}\")", - "expectedUiSchemaText": "Value\nhelpers.fake(\"{{person.firstName}}\")", + "expectedSchemaText": "Value\nlorem.sentence(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-fake-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-2" }, { - "id": "runtime:faker-helpers-fake-example-1", - "sourceType": "faker", - "command": "helpers.fake", - "label": "helpers.fake example 1", + "id": "coverage:domain-lorem-sentence-example-3", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence example 3", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.fake", - "params": "(\"Hi, my name is {{person.firstName}} {{person.lastName}}!\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.fake(\"Hi, my name is {{person.firstName}} {{person.lastName}}!\")", - "expectedUiSchemaText": "Value\nhelpers.fake(\"Hi, my name is {{person.firstName}} {{person.lastName}}!\")", + "expectedSchemaText": "Value\nlorem.sentence(max=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern"], + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], "origins": ["example"], - "scenarioId": "faker-helpers-fake-example-1" + "scenarioId": "domain-lorem-sentence-example-3" }, { - "id": "runtime:faker-helpers-fake-arg-pattern", - "sourceType": "faker", - "command": "helpers.fake", - "label": "helpers.fake arg pattern", + "id": "coverage:domain-lorem-sentence-example-4", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence example 4", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.fake", - "params": "(\"[A-Z]{2}\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.fake(\"[A-Z]{2}\")", - "expectedUiSchemaText": "Value\nhelpers.fake(\"[A-Z]{2}\")", + "expectedSchemaText": "Value\nlorem.sentence(wordCount=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern"], - "origins": ["arg"], - "scenarioId": "faker-helpers-fake-arg-pattern" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-4" }, { - "id": "runtime:faker-helpers-fromRegExp-base", - "sourceType": "faker", - "command": "helpers.fromRegExp", - "label": "helpers.fromRegExp", + "id": "coverage:domain-lorem-sentence-example-5", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence example 5", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.fromRegExp", - "params": "(\"[A-Z]{2}\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", - "expectedUiSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-fromRegExp-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-5" }, { - "id": "runtime:faker-helpers-fromRegExp-example-1", - "sourceType": "faker", - "command": "helpers.fromRegExp", - "label": "helpers.fromRegExp example 1", + "id": "coverage:domain-lorem-sentence-example-6", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence example 6", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.fromRegExp", - "params": "(\"[A-Z]{2}[0-9]{2}\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}[0-9]{2}\")", - "expectedUiSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}[0-9]{2}\")", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern"], + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], "origins": ["example"], - "scenarioId": "faker-helpers-fromRegExp-example-1" + "scenarioId": "domain-lorem-sentence-example-6" }, { - "id": "runtime:faker-helpers-fromRegExp-arg-pattern", - "sourceType": "faker", - "command": "helpers.fromRegExp", - "label": "helpers.fromRegExp arg pattern", + "id": "coverage:domain-lorem-sentence-arg-min", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence arg min", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.fromRegExp", - "params": "(\"[A-Z]{2}\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", - "expectedUiSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", + "expectedSchemaText": "Value\nlorem.sentence(min=1)", + "expectedUiSchemaText": "Value\nlorem.sentence(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "faker-helpers-fromRegExp-arg-pattern" + "scenarioId": "domain-lorem-sentence-arg-min" }, { - "id": "runtime:faker-helpers-mustache-base", - "sourceType": "faker", - "command": "helpers.mustache", - "label": "helpers.mustache", + "id": "coverage:domain-lorem-sentence-arg-max", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence arg max", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.mustache", - "params": "(\"{{name}}\", { name: \"Ada\" })", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\", { name: \"Ada\" })", - "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\", { name: \"Ada\" })", + "expectedSchemaText": "Value\nlorem.sentence(max=3)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-mustache-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-max" }, { - "id": "runtime:faker-helpers-mustache-example-1", - "sourceType": "faker", - "command": "helpers.mustache", - "label": "helpers.mustache example 1", + "id": "coverage:domain-lorem-sentence-arg-wordCount", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence arg wordCount", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.mustache", - "params": "(\"Hello {{name}}\", { name: \"Ada\" })", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.mustache(\"Hello {{name}}\", { name: \"Ada\" })", - "expectedUiSchemaText": "Value\nhelpers.mustache(\"Hello {{name}}\", { name: \"Ada\" })", + "expectedSchemaText": "Value\nlorem.sentence(wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["text", "data"], - "origins": ["example"], - "scenarioId": "faker-helpers-mustache-example-1" + "coveredArgs": ["wordCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-wordCount" }, { - "id": "runtime:faker-helpers-mustache-arg-text", - "sourceType": "faker", - "command": "helpers.mustache", - "label": "helpers.mustache arg text", + "id": "coverage:domain-lorem-sentence-arg-wordCountMax", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence arg wordCountMax", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.mustache", - "params": "(\"{{name}}\")", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\")", - "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\")", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["text"], + "coveredArgs": ["wordCountMax"], "origins": ["arg"], - "scenarioId": "faker-helpers-mustache-arg-text" + "scenarioId": "domain-lorem-sentence-arg-wordCountMax" }, { - "id": "runtime:faker-helpers-mustache-arg-data", - "sourceType": "faker", - "command": "helpers.mustache", - "label": "helpers.mustache arg data", + "id": "coverage:domain-lorem-sentence-arg-wordCountMin", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence arg wordCountMin", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.mustache", - "params": "(\"{{name}}\", {})", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", - "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["data"], + "coveredArgs": ["wordCountMin"], "origins": ["arg"], - "scenarioId": "faker-helpers-mustache-arg-data" + "scenarioId": "domain-lorem-sentence-arg-wordCountMin" }, { - "id": "runtime:faker-helpers-mustache-pair-text-data", - "sourceType": "faker", - "command": "helpers.mustache", - "label": "helpers.mustache pair text/data", + "id": "coverage:domain-lorem-sentence-pair-min-max", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence pair min/max", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.mustache", - "params": "(\"{{name}}\", {})", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", - "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", + "expectedSchemaText": "Value\nlorem.sentence(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.sentence(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["text", "data"], + "coveredArgs": ["min", "max"], "origins": ["pair"], - "scenarioId": "faker-helpers-mustache-pair-text-data" + "scenarioId": "domain-lorem-sentence-pair-min-max" }, { - "id": "runtime:faker-helpers-rangeToNumber-base", - "sourceType": "faker", - "command": "helpers.rangeToNumber", - "label": "helpers.rangeToNumber", + "id": "coverage:domain-lorem-sentence-pair-max-wordCount", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence pair max/wordCount", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.rangeToNumber", - "params": "({ min: 1, max: 2 })", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(max=3, wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", - "expectedUiSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", + "expectedSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-rangeToNumber-base" + "coveredArgs": ["max", "wordCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-max-wordCount" }, { - "id": "runtime:faker-helpers-rangeToNumber-example-1", - "sourceType": "faker", - "command": "helpers.rangeToNumber", - "label": "helpers.rangeToNumber example 1", + "id": "coverage:domain-lorem-sentence-pair-wordCount-wordCountMax", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence pair wordCount/wordCountMax", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.rangeToNumber", - "params": "({ min: 1, max: 2 })", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCount=4, wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", - "expectedUiSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", + "expectedSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["numberOrRange"], - "origins": ["example"], - "scenarioId": "faker-helpers-rangeToNumber-example-1" + "coveredArgs": ["wordCount", "wordCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-wordCount-wordCountMax" }, { - "id": "runtime:faker-helpers-rangeToNumber-arg-numberOrRange", - "sourceType": "faker", - "command": "helpers.rangeToNumber", - "label": "helpers.rangeToNumber arg numberOrRange", + "id": "coverage:domain-lorem-sentence-pair-wordCountMax-wordCountMin", + "sourceType": "domain", + "command": "lorem.sentence", + "label": "lorem.sentence pair wordCountMax/wordCountMin", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.rangeToNumber", - "params": "(2)", + "sourceType": "domain", + "command": "lorem.sentence", + "params": "(wordCountMax=5, wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.rangeToNumber(2)", - "expectedUiSchemaText": "Value\nhelpers.rangeToNumber(2)", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["numberOrRange"], - "origins": ["arg"], - "scenarioId": "faker-helpers-rangeToNumber-arg-numberOrRange" + "coveredArgs": ["wordCountMax", "wordCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-wordCountMax-wordCountMin" }, { - "id": "runtime:faker-helpers-replaceCreditCardSymbols-base", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "label": "helpers.replaceCreditCardSymbols", + "id": "coverage:domain-lorem-sentences-base", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", + "sourceType": "domain", + "command": "lorem.sentences", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", - "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedSchemaText": "Value\nlorem.sentences()", + "expectedUiSchemaText": "Value\nlorem.sentences()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "faker-helpers-replaceCreditCardSymbols-base" + "scenarioId": "domain-lorem-sentences-base" }, { - "id": "runtime:faker-helpers-replaceCreditCardSymbols-example-1", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "label": "helpers.replaceCreditCardSymbols example 1", + "id": "coverage:domain-lorem-sentences-example-1", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 1", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "params": "(\"1234-[4-9]-##!!-L\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-[4-9]-##!!-L\")", - "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-[4-9]-##!!-L\")", + "expectedSchemaText": "Value\nlorem.sentences()", + "expectedUiSchemaText": "Value\nlorem.sentences()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string", "symbol"], + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], "origins": ["example"], - "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-1" + "scenarioId": "domain-lorem-sentences-example-1" }, { - "id": "runtime:faker-helpers-replaceCreditCardSymbols-arg-string", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "label": "helpers.replaceCreditCardSymbols arg string", + "id": "coverage:domain-lorem-sentences-example-2", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 2", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "params": "(\"helpers-replaceCreditCardSymbols-string\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\")", - "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\")", + "expectedSchemaText": "Value\nlorem.sentences(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string"], - "origins": ["arg"], - "scenarioId": "faker-helpers-replaceCreditCardSymbols-arg-string" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-2" }, { - "id": "runtime:faker-helpers-replaceCreditCardSymbols-arg-symbol", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "label": "helpers.replaceCreditCardSymbols arg symbol", + "id": "coverage:domain-lorem-sentences-example-3", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 3", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "params": "(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", - "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "expectedSchemaText": "Value\nlorem.sentences(max=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["symbol"], - "origins": ["arg"], - "scenarioId": "faker-helpers-replaceCreditCardSymbols-arg-symbol" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-3" }, { - "id": "runtime:faker-helpers-replaceCreditCardSymbols-pair-string-symbol", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "label": "helpers.replaceCreditCardSymbols pair string/symbol", + "id": "coverage:domain-lorem-sentences-example-4", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 4", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceCreditCardSymbols", - "params": "(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", - "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string", "symbol"], - "origins": ["pair"], - "scenarioId": "faker-helpers-replaceCreditCardSymbols-pair-string-symbol" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-4" }, { - "id": "runtime:faker-helpers-replaceSymbols-base", - "sourceType": "faker", - "command": "helpers.replaceSymbols", - "label": "helpers.replaceSymbols", + "id": "coverage:domain-lorem-sentences-example-5", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 5", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceSymbols", - "params": "()", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceSymbols()", - "expectedUiSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-replaceSymbols-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-5" }, { - "id": "runtime:faker-helpers-replaceSymbols-example-1", - "sourceType": "faker", - "command": "helpers.replaceSymbols", - "label": "helpers.replaceSymbols example 1", + "id": "coverage:domain-lorem-sentences-example-6", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 6", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceSymbols", - "params": "(\"##??-##\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceSymbols(\"##??-##\")", - "expectedUiSchemaText": "Value\nhelpers.replaceSymbols(\"##??-##\")", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string"], + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], "origins": ["example"], - "scenarioId": "faker-helpers-replaceSymbols-example-1" + "scenarioId": "domain-lorem-sentences-example-6" }, { - "id": "runtime:faker-helpers-replaceSymbols-arg-string", - "sourceType": "faker", - "command": "helpers.replaceSymbols", - "label": "helpers.replaceSymbols arg string", + "id": "coverage:domain-lorem-sentences-example-7", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences example 7", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.replaceSymbols", - "params": "(\"helpers-replaceSymbols-string\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.replaceSymbols(\"helpers-replaceSymbols-string\")", - "expectedUiSchemaText": "Value\nhelpers.replaceSymbols(\"helpers-replaceSymbols-string\")", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string"], - "origins": ["arg"], - "scenarioId": "faker-helpers-replaceSymbols-arg-string" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-7" }, { - "id": "runtime:faker-helpers-shuffle-base", - "sourceType": "faker", - "command": "helpers.shuffle", - "label": "helpers.shuffle", + "id": "coverage:domain-lorem-sentences-arg-min", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences arg min", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.shuffle", - "params": "([\"A\", \"B\", \"C\"])", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", - "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", + "expectedSchemaText": "Value\nlorem.sentences(min=1)", + "expectedUiSchemaText": "Value\nlorem.sentences(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-shuffle-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-min" }, { - "id": "runtime:faker-helpers-shuffle-example-1", - "sourceType": "faker", - "command": "helpers.shuffle", - "label": "helpers.shuffle example 1", + "id": "coverage:domain-lorem-sentences-arg-max", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences arg max", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.shuffle", - "params": "([\"A\", \"B\", \"C\"])", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", - "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", + "expectedSchemaText": "Value\nlorem.sentences(max=3)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array"], - "origins": ["example"], - "scenarioId": "faker-helpers-shuffle-example-1" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-max" }, { - "id": "runtime:faker-helpers-shuffle-arg-array", - "sourceType": "faker", - "command": "helpers.shuffle", - "label": "helpers.shuffle arg array", + "id": "coverage:domain-lorem-sentences-arg-sentenceCount", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences arg sentenceCount", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.shuffle", - "params": "([\"A\", \"B\"])", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\"])", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array"], + "coveredArgs": ["sentenceCount"], "origins": ["arg"], - "scenarioId": "faker-helpers-shuffle-arg-array" + "scenarioId": "domain-lorem-sentences-arg-sentenceCount" }, { - "id": "runtime:faker-helpers-slugify-base", - "sourceType": "faker", - "command": "helpers.slugify", - "label": "helpers.slugify", + "id": "coverage:domain-lorem-sentences-arg-separator", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences arg separator", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.slugify", - "params": "()", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.slugify()", - "expectedUiSchemaText": "Value\nhelpers.slugify()", + "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-slugify-base" + "coveredArgs": ["separator"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-separator" }, { - "id": "runtime:faker-helpers-slugify-example-1", - "sourceType": "faker", - "command": "helpers.slugify", - "label": "helpers.slugify example 1", + "id": "coverage:domain-lorem-sentences-arg-sentenceCountMax", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences arg sentenceCountMax", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.slugify", - "params": "(\"Hello World 2026\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCountMax=6)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.slugify(\"Hello World 2026\")", - "expectedUiSchemaText": "Value\nhelpers.slugify(\"Hello World 2026\")", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string"], - "origins": ["example"], - "scenarioId": "faker-helpers-slugify-example-1" + "coveredArgs": ["sentenceCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-sentenceCountMax" }, { - "id": "runtime:faker-helpers-slugify-arg-string", - "sourceType": "faker", - "command": "helpers.slugify", - "label": "helpers.slugify arg string", + "id": "coverage:domain-lorem-sentences-arg-sentenceCountMin", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences arg sentenceCountMin", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.slugify", - "params": "(\"helpers-slugify-string\")", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.slugify(\"helpers-slugify-string\")", - "expectedUiSchemaText": "Value\nhelpers.slugify(\"helpers-slugify-string\")", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["string"], + "coveredArgs": ["sentenceCountMin"], "origins": ["arg"], - "scenarioId": "faker-helpers-slugify-arg-string" + "scenarioId": "domain-lorem-sentences-arg-sentenceCountMin" }, { - "id": "runtime:faker-helpers-uniqueArray-base", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "label": "helpers.uniqueArray", + "id": "coverage:domain-lorem-sentences-pair-min-max", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences pair min/max", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "params": "([\"A\", \"B\"], 4)", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", - "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedSchemaText": "Value\nlorem.sentences(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.sentences(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-min-max" + }, + { + "id": "coverage:domain-lorem-sentences-pair-max-sentenceCount", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences pair max/sentenceCount", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(max=3, sentenceCount=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "sentenceCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-max-sentenceCount" + }, + { + "id": "coverage:domain-lorem-sentences-pair-sentenceCount-separator", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences pair sentenceCount/separator", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCount=4, separator=\"-\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sentenceCount", "separator"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-sentenceCount-separator" + }, + { + "id": "coverage:domain-lorem-sentences-pair-separator-sentenceCountMax", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences pair separator/sentenceCountMax", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(separator=\"-\", sentenceCountMax=6)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["separator", "sentenceCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-separator-sentenceCountMax" + }, + { + "id": "coverage:domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin", + "sourceType": "domain", + "command": "lorem.sentences", + "label": "lorem.sentences pair sentenceCountMax/sentenceCountMin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.sentences", + "params": "(sentenceCountMax=6, sentenceCountMin=7)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin" + }, + { + "id": "coverage:domain-lorem-slug-base", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug()", + "expectedUiSchemaText": "Value\nlorem.slug()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "faker-helpers-uniqueArray-base" + "scenarioId": "domain-lorem-slug-base" }, { - "id": "runtime:faker-helpers-uniqueArray-example-1", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "label": "helpers.uniqueArray example 1", + "id": "coverage:domain-lorem-slug-example-1", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug example 1", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "params": "([\"red\", \"green\", \"blue\"], 2)", + "sourceType": "domain", + "command": "lorem.slug", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.uniqueArray([\"red\", \"green\", \"blue\"], 2)", - "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"red\", \"green\", \"blue\"], 2)", + "expectedSchemaText": "Value\nlorem.slug()", + "expectedUiSchemaText": "Value\nlorem.slug()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["source", "length"], + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], "origins": ["example"], - "scenarioId": "faker-helpers-uniqueArray-example-1" + "scenarioId": "domain-lorem-slug-example-1" }, { - "id": "runtime:faker-helpers-uniqueArray-arg-source", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "label": "helpers.uniqueArray arg source", + "id": "coverage:domain-lorem-slug-example-2", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug example 2", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "params": "([\"A\", \"B\"])", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"])", + "expectedSchemaText": "Value\nlorem.slug(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.slug(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["source"], + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-2" + }, + { + "id": "coverage:domain-lorem-slug-example-3", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(max=5)", + "expectedUiSchemaText": "Value\nlorem.slug(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-3" + }, + { + "id": "coverage:domain-lorem-slug-example-4", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCount=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCount=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCount=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-4" + }, + { + "id": "coverage:domain-lorem-slug-example-5", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCountMax=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-5" + }, + { + "id": "coverage:domain-lorem-slug-example-6", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCountMin=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMin=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-6" + }, + { + "id": "coverage:domain-lorem-slug-arg-min", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(min=1)", + "expectedUiSchemaText": "Value\nlorem.slug(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "faker-helpers-uniqueArray-arg-source" + "scenarioId": "domain-lorem-slug-arg-min" }, { - "id": "runtime:faker-helpers-uniqueArray-arg-length", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "label": "helpers.uniqueArray arg length", + "id": "coverage:domain-lorem-slug-arg-max", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug arg max", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "params": "([\"A\", \"B\"], 4)", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", - "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedSchemaText": "Value\nlorem.slug(max=3)", + "expectedUiSchemaText": "Value\nlorem.slug(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "faker-helpers-uniqueArray-arg-length" + "scenarioId": "domain-lorem-slug-arg-max" }, { - "id": "runtime:faker-helpers-uniqueArray-pair-source-length", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "label": "helpers.uniqueArray pair source/length", + "id": "coverage:domain-lorem-slug-arg-wordCount", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug arg wordCount", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.uniqueArray", - "params": "([\"A\", \"B\"], 4)", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", - "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedSchemaText": "Value\nlorem.slug(wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["source", "length"], + "coveredArgs": ["wordCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-wordCount" + }, + { + "id": "coverage:domain-lorem-slug-arg-wordCountMax", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug arg wordCountMax", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCountMax=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-wordCountMax" + }, + { + "id": "coverage:domain-lorem-slug-arg-wordCountMin", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug arg wordCountMin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCountMin=6)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMin=6)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-wordCountMin" + }, + { + "id": "coverage:domain-lorem-slug-pair-min-max", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(min=1, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.slug(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], "origins": ["pair"], - "scenarioId": "faker-helpers-uniqueArray-pair-source-length" + "scenarioId": "domain-lorem-slug-pair-min-max" }, { - "id": "runtime:faker-helpers-weightedArrayElement-base", - "sourceType": "faker", - "command": "helpers.weightedArrayElement", - "label": "helpers.weightedArrayElement", + "id": "coverage:domain-lorem-slug-pair-max-wordCount", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug pair max/wordCount", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.weightedArrayElement", - "params": "([{ \"weight\": 1, \"value\": \"A\" }, { \"weight\": 2, \"value\": \"B\" }])", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(max=3, wordCount=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "wordCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-max-wordCount" + }, + { + "id": "coverage:domain-lorem-slug-pair-wordCount-wordCountMax", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug pair wordCount/wordCountMax", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCount=4, wordCountMax=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCount", "wordCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-wordCount-wordCountMax" + }, + { + "id": "coverage:domain-lorem-slug-pair-wordCountMax-wordCountMin", + "sourceType": "domain", + "command": "lorem.slug", + "label": "lorem.slug pair wordCountMax/wordCountMin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.slug", + "params": "(wordCountMax=5, wordCountMin=6)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCountMax", "wordCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-wordCountMax-wordCountMin" + }, + { + "id": "coverage:domain-lorem-text-base", + "sourceType": "domain", + "command": "lorem.text", + "label": "lorem.text", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.text", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.text()", + "expectedUiSchemaText": "Value\nlorem.text()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-text-base" + }, + { + "id": "coverage:domain-lorem-text-example-1", + "sourceType": "domain", + "command": "lorem.text", + "label": "lorem.text example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.text", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.text()", + "expectedUiSchemaText": "Value\nlorem.text()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-lorem-text-example-1" + }, + { + "id": "coverage:domain-lorem-word-base", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word()", + "expectedUiSchemaText": "Value\nlorem.word()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-word-base" + }, + { + "id": "coverage:domain-lorem-word-example-1", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word()", + "expectedUiSchemaText": "Value\nlorem.word()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-1" + }, + { + "id": "coverage:domain-lorem-word-example-2", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.word(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-2" + }, + { + "id": "coverage:domain-lorem-word-example-3", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(max=5)", + "expectedUiSchemaText": "Value\nlorem.word(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-3" + }, + { + "id": "coverage:domain-lorem-word-example-4", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(length=5)", + "expectedUiSchemaText": "Value\nlorem.word(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-4" + }, + { + "id": "coverage:domain-lorem-word-example-5", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nlorem.word(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-5" + }, + { + "id": "coverage:domain-lorem-word-arg-min", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(min=1)", + "expectedUiSchemaText": "Value\nlorem.word(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-min" + }, + { + "id": "coverage:domain-lorem-word-arg-max", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(max=3)", + "expectedUiSchemaText": "Value\nlorem.word(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-max" + }, + { + "id": "coverage:domain-lorem-word-arg-length", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(length=4)", + "expectedUiSchemaText": "Value\nlorem.word(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-length" + }, + { + "id": "coverage:domain-lorem-word-arg-strategy", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nlorem.word(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-strategy" + }, + { + "id": "coverage:domain-lorem-word-pair-min-max", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(min=1, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.word(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-word-pair-min-max" + }, + { + "id": "coverage:domain-lorem-word-pair-max-length", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word pair max/length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(max=3, length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(max=3, length=4)", + "expectedUiSchemaText": "Value\nlorem.word(max=3, length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "length"], + "origins": ["pair"], + "scenarioId": "domain-lorem-word-pair-max-length" + }, + { + "id": "coverage:domain-lorem-word-pair-length-strategy", + "sourceType": "domain", + "command": "lorem.word", + "label": "lorem.word pair length/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.word", + "params": "(length=4, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.word(length=4, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nlorem.word(length=4, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-lorem-word-pair-length-strategy" + }, + { + "id": "coverage:domain-lorem-words-base", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words()", + "expectedUiSchemaText": "Value\nlorem.words()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-words-base" + }, + { + "id": "coverage:domain-lorem-words-example-1", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words()", + "expectedUiSchemaText": "Value\nlorem.words()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-1" + }, + { + "id": "coverage:domain-lorem-words-example-2", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.words(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-2" + }, + { + "id": "coverage:domain-lorem-words-example-3", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(max=5)", + "expectedUiSchemaText": "Value\nlorem.words(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-3" + }, + { + "id": "coverage:domain-lorem-words-example-4", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCount=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCount=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCount=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-4" + }, + { + "id": "coverage:domain-lorem-words-example-5", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCountMax=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-5" + }, + { + "id": "coverage:domain-lorem-words-example-6", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCountMin=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMin=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-6" + }, + { + "id": "coverage:domain-lorem-words-arg-min", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(min=1)", + "expectedUiSchemaText": "Value\nlorem.words(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-min" + }, + { + "id": "coverage:domain-lorem-words-arg-max", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(max=3)", + "expectedUiSchemaText": "Value\nlorem.words(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-max" + }, + { + "id": "coverage:domain-lorem-words-arg-wordCount", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words arg wordCount", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCount=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.words(wordCount=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-wordCount" + }, + { + "id": "coverage:domain-lorem-words-arg-wordCountMax", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words arg wordCountMax", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCountMax=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-wordCountMax" + }, + { + "id": "coverage:domain-lorem-words-arg-wordCountMin", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words arg wordCountMin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCountMin=6)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMin=6)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-wordCountMin" + }, + { + "id": "coverage:domain-lorem-words-pair-min-max", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(min=1, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.words(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-min-max" + }, + { + "id": "coverage:domain-lorem-words-pair-max-wordCount", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words pair max/wordCount", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(max=3, wordCount=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(max=3, wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.words(max=3, wordCount=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "wordCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-max-wordCount" + }, + { + "id": "coverage:domain-lorem-words-pair-wordCount-wordCountMax", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words pair wordCount/wordCountMax", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCount=4, wordCountMax=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCount", "wordCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-wordCount-wordCountMax" + }, + { + "id": "coverage:domain-lorem-words-pair-wordCountMax-wordCountMin", + "sourceType": "domain", + "command": "lorem.words", + "label": "lorem.words pair wordCountMax/wordCountMin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "lorem.words", + "params": "(wordCountMax=5, wordCountMin=6)", + "value": "" + } + ], + "expectedSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["wordCountMax", "wordCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-wordCountMax-wordCountMin" + }, + { + "id": "coverage:domain-music-album-base", + "sourceType": "domain", + "command": "music.album", + "label": "music.album", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.album", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.album()", + "expectedUiSchemaText": "Value\nmusic.album()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-album-base" + }, + { + "id": "coverage:domain-music-album-example-1", + "sourceType": "domain", + "command": "music.album", + "label": "music.album example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.album", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.album()", + "expectedUiSchemaText": "Value\nmusic.album()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-music-album-example-1" + }, + { + "id": "coverage:domain-music-artist-base", + "sourceType": "domain", + "command": "music.artist", + "label": "music.artist", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.artist", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.artist()", + "expectedUiSchemaText": "Value\nmusic.artist()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-artist-base" + }, + { + "id": "coverage:domain-music-artist-example-1", + "sourceType": "domain", + "command": "music.artist", + "label": "music.artist example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.artist", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.artist()", + "expectedUiSchemaText": "Value\nmusic.artist()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-music-artist-example-1" + }, + { + "id": "coverage:domain-music-genre-base", + "sourceType": "domain", + "command": "music.genre", + "label": "music.genre", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.genre", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.genre()", + "expectedUiSchemaText": "Value\nmusic.genre()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-genre-base" + }, + { + "id": "coverage:domain-music-genre-example-1", + "sourceType": "domain", + "command": "music.genre", + "label": "music.genre example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.genre", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.genre()", + "expectedUiSchemaText": "Value\nmusic.genre()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-music-genre-example-1" + }, + { + "id": "coverage:domain-music-songName-base", + "sourceType": "domain", + "command": "music.songName", + "label": "music.songName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.songName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.songName()", + "expectedUiSchemaText": "Value\nmusic.songName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-songName-base" + }, + { + "id": "coverage:domain-music-songName-example-1", + "sourceType": "domain", + "command": "music.songName", + "label": "music.songName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "music.songName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nmusic.songName()", + "expectedUiSchemaText": "Value\nmusic.songName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-music-songName-example-1" + }, + { + "id": "coverage:domain-number-bigInt-base", + "sourceType": "domain", + "command": "number.bigInt", + "label": "number.bigInt", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.bigInt", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.bigInt()", + "expectedUiSchemaText": "Value\nnumber.bigInt()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-bigInt-base" + }, + { + "id": "coverage:domain-number-bigInt-example-1", + "sourceType": "domain", + "command": "number.bigInt", + "label": "number.bigInt example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.bigInt", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.bigInt()", + "expectedUiSchemaText": "Value\nnumber.bigInt()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-number-bigInt-example-1" + }, + { + "id": "coverage:domain-number-bigInt-example-2", + "sourceType": "domain", + "command": "number.bigInt", + "label": "number.bigInt example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.bigInt", + "params": "(value=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedUiSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-number-bigInt-example-2" + }, + { + "id": "coverage:domain-number-bigInt-arg-value", + "sourceType": "domain", + "command": "number.bigInt", + "label": "number.bigInt arg value", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.bigInt", + "params": "(value=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedUiSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["value"], + "origins": ["arg"], + "scenarioId": "domain-number-bigInt-arg-value" + }, + { + "id": "coverage:domain-number-binary-base", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary()", + "expectedUiSchemaText": "Value\nnumber.binary()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-binary-base" + }, + { + "id": "coverage:domain-number-binary-example-1", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary()", + "expectedUiSchemaText": "Value\nnumber.binary()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-binary-example-1" + }, + { + "id": "coverage:domain-number-binary-example-2", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary(max=5)", + "expectedUiSchemaText": "Value\nnumber.binary(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-binary-example-2" + }, + { + "id": "coverage:domain-number-binary-example-3", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.binary(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-binary-example-3" + }, + { + "id": "coverage:domain-number-binary-arg-max", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary(max=3)", + "expectedUiSchemaText": "Value\nnumber.binary(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-binary-arg-max" + }, + { + "id": "coverage:domain-number-binary-arg-min", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary(min=1)", + "expectedUiSchemaText": "Value\nnumber.binary(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-number-binary-arg-min" + }, + { + "id": "coverage:domain-number-binary-pair-max-min", + "sourceType": "domain", + "command": "number.binary", + "label": "number.binary pair max/min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.binary", + "params": "(max=3, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.binary(max=3, min=1)", + "expectedUiSchemaText": "Value\nnumber.binary(max=3, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-number-binary-pair-max-min" + }, + { + "id": "coverage:domain-number-float-base", + "sourceType": "domain", + "command": "number.float", + "label": "number.float", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float()", + "expectedUiSchemaText": "Value\nnumber.float()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-float-base" + }, + { + "id": "coverage:domain-number-float-example-1", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float()", + "expectedUiSchemaText": "Value\nnumber.float()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-1" + }, + { + "id": "coverage:domain-number-float-example-2", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(fractionDigits=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-2" + }, + { + "id": "coverage:domain-number-float-example-3", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(multipleOf=0.5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-3" + }, + { + "id": "coverage:domain-number-float-example-4", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(min=1, max=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(min=1, max=10)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, max=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-4" + }, + { + "id": "coverage:domain-number-float-example-5", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(min=1, max=10, fractionDigits=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(min=1, max=10, fractionDigits=2)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, max=10, fractionDigits=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-5" + }, + { + "id": "coverage:domain-number-float-example-6", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(min=1, max=10, multipleOf=0.5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(min=1, max=10, multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, max=10, multipleOf=0.5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-6" + }, + { + "id": "coverage:domain-number-float-example-7", + "sourceType": "domain", + "command": "number.float", + "label": "number.float example 7", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(max=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(max=10)", + "expectedUiSchemaText": "Value\nnumber.float(max=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-7" + }, + { + "id": "coverage:domain-number-float-arg-fractionDigits", + "sourceType": "domain", + "command": "number.float", + "label": "number.float arg fractionDigits", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(fractionDigits=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-fractionDigits" + }, + { + "id": "coverage:domain-number-float-arg-max", + "sourceType": "domain", + "command": "number.float", + "label": "number.float arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(max=3)", + "expectedUiSchemaText": "Value\nnumber.float(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-max" + }, + { + "id": "coverage:domain-number-float-arg-min", + "sourceType": "domain", + "command": "number.float", + "label": "number.float arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(min=1)", + "expectedUiSchemaText": "Value\nnumber.float(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-min" + }, + { + "id": "coverage:domain-number-float-arg-multipleOf", + "sourceType": "domain", + "command": "number.float", + "label": "number.float arg multipleOf", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(multipleOf=0.5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["multipleOf"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-multipleOf" + }, + { + "id": "coverage:domain-number-float-pair-fractionDigits-max", + "sourceType": "domain", + "command": "number.float", + "label": "number.float pair fractionDigits/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(fractionDigits=2, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", + "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["fractionDigits", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-float-pair-fractionDigits-max" + }, + { + "id": "coverage:domain-number-float-pair-max-min", + "sourceType": "domain", + "command": "number.float", + "label": "number.float pair max/min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(max=3, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(max=3, min=1)", + "expectedUiSchemaText": "Value\nnumber.float(max=3, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-number-float-pair-max-min" + }, + { + "id": "coverage:domain-number-float-pair-min-multipleOf", + "sourceType": "domain", + "command": "number.float", + "label": "number.float pair min/multipleOf", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.float", + "params": "(min=1, multipleOf=0.5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "multipleOf"], + "origins": ["pair"], + "scenarioId": "domain-number-float-pair-min-multipleOf" + }, + { + "id": "coverage:domain-number-hex-base", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex()", + "expectedUiSchemaText": "Value\nnumber.hex()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-hex-base" + }, + { + "id": "coverage:domain-number-hex-example-1", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex()", + "expectedUiSchemaText": "Value\nnumber.hex()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-hex-example-1" + }, + { + "id": "coverage:domain-number-hex-example-2", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.hex(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-hex-example-2" + }, + { + "id": "coverage:domain-number-hex-example-3", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex(max=5)", + "expectedUiSchemaText": "Value\nnumber.hex(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-hex-example-3" + }, + { + "id": "coverage:domain-number-hex-arg-min", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex(min=1)", + "expectedUiSchemaText": "Value\nnumber.hex(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-number-hex-arg-min" + }, + { + "id": "coverage:domain-number-hex-arg-max", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex(max=3)", + "expectedUiSchemaText": "Value\nnumber.hex(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-hex-arg-max" + }, + { + "id": "coverage:domain-number-hex-pair-min-max", + "sourceType": "domain", + "command": "number.hex", + "label": "number.hex pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.hex", + "params": "(min=1, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.hex(min=1, max=3)", + "expectedUiSchemaText": "Value\nnumber.hex(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-hex-pair-min-max" + }, + { + "id": "coverage:domain-number-int-base", + "sourceType": "domain", + "command": "number.int", + "label": "number.int", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int()", + "expectedUiSchemaText": "Value\nnumber.int()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-int-base" + }, + { + "id": "coverage:domain-number-int-example-1", + "sourceType": "domain", + "command": "number.int", + "label": "number.int example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int()", + "expectedUiSchemaText": "Value\nnumber.int()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-1" + }, + { + "id": "coverage:domain-number-int-example-2", + "sourceType": "domain", + "command": "number.int", + "label": "number.int example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.int(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-2" + }, + { + "id": "coverage:domain-number-int-example-3", + "sourceType": "domain", + "command": "number.int", + "label": "number.int example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(max=5)", + "expectedUiSchemaText": "Value\nnumber.int(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-3" + }, + { + "id": "coverage:domain-number-int-example-4", + "sourceType": "domain", + "command": "number.int", + "label": "number.int example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(multipleOf=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(multipleOf=1)", + "expectedUiSchemaText": "Value\nnumber.int(multipleOf=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-4" + }, + { + "id": "coverage:domain-number-int-arg-min", + "sourceType": "domain", + "command": "number.int", + "label": "number.int arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(min=1)", + "expectedUiSchemaText": "Value\nnumber.int(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-number-int-arg-min" + }, + { + "id": "coverage:domain-number-int-arg-max", + "sourceType": "domain", + "command": "number.int", + "label": "number.int arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(max=3)", + "expectedUiSchemaText": "Value\nnumber.int(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-int-arg-max" + }, + { + "id": "coverage:domain-number-int-arg-multipleOf", + "sourceType": "domain", + "command": "number.int", + "label": "number.int arg multipleOf", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(multipleOf=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(multipleOf=4)", + "expectedUiSchemaText": "Value\nnumber.int(multipleOf=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["multipleOf"], + "origins": ["arg"], + "scenarioId": "domain-number-int-arg-multipleOf" + }, + { + "id": "coverage:domain-number-int-pair-min-max", + "sourceType": "domain", + "command": "number.int", + "label": "number.int pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(min=1, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(min=1, max=3)", + "expectedUiSchemaText": "Value\nnumber.int(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-int-pair-min-max" + }, + { + "id": "coverage:domain-number-int-pair-max-multipleOf", + "sourceType": "domain", + "command": "number.int", + "label": "number.int pair max/multipleOf", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.int", + "params": "(max=3, multipleOf=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", + "expectedUiSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "multipleOf"], + "origins": ["pair"], + "scenarioId": "domain-number-int-pair-max-multipleOf" + }, + { + "id": "coverage:domain-number-octal-base", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal()", + "expectedUiSchemaText": "Value\nnumber.octal()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-octal-base" + }, + { + "id": "coverage:domain-number-octal-example-1", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal()", + "expectedUiSchemaText": "Value\nnumber.octal()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-octal-example-1" + }, + { + "id": "coverage:domain-number-octal-example-2", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal(max=5)", + "expectedUiSchemaText": "Value\nnumber.octal(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-octal-example-2" + }, + { + "id": "coverage:domain-number-octal-example-3", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.octal(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-octal-example-3" + }, + { + "id": "coverage:domain-number-octal-arg-max", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal(max=3)", + "expectedUiSchemaText": "Value\nnumber.octal(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-octal-arg-max" + }, + { + "id": "coverage:domain-number-octal-arg-min", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal(min=1)", + "expectedUiSchemaText": "Value\nnumber.octal(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-number-octal-arg-min" + }, + { + "id": "coverage:domain-number-octal-pair-max-min", + "sourceType": "domain", + "command": "number.octal", + "label": "number.octal pair max/min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.octal", + "params": "(max=3, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.octal(max=3, min=1)", + "expectedUiSchemaText": "Value\nnumber.octal(max=3, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-number-octal-pair-max-min" + }, + { + "id": "coverage:domain-number-romanNumeral-base", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral()", + "expectedUiSchemaText": "Value\nnumber.romanNumeral()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-romanNumeral-base" + }, + { + "id": "coverage:domain-number-romanNumeral-example-1", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral()", + "expectedUiSchemaText": "Value\nnumber.romanNumeral()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-romanNumeral-example-1" + }, + { + "id": "coverage:domain-number-romanNumeral-example-2", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-romanNumeral-example-2" + }, + { + "id": "coverage:domain-number-romanNumeral-example-3", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral(max=5)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-romanNumeral-example-3" + }, + { + "id": "coverage:domain-number-romanNumeral-arg-min", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral(min=1)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-number-romanNumeral-arg-min" + }, + { + "id": "coverage:domain-number-romanNumeral-arg-max", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral(max=3)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-romanNumeral-arg-max" + }, + { + "id": "coverage:domain-number-romanNumeral-pair-min-max", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "(min=1, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-romanNumeral-pair-min-max" + }, + { + "id": "coverage:domain-person-bio-base", + "sourceType": "domain", + "command": "person.bio", + "label": "person.bio", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.bio", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.bio()", + "expectedUiSchemaText": "Value\nperson.bio()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-bio-base" + }, + { + "id": "coverage:domain-person-bio-example-1", + "sourceType": "domain", + "command": "person.bio", + "label": "person.bio example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.bio", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.bio()", + "expectedUiSchemaText": "Value\nperson.bio()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-bio-example-1" + }, + { + "id": "coverage:domain-person-firstName-base", + "sourceType": "domain", + "command": "person.firstName", + "label": "person.firstName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.firstName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.firstName()", + "expectedUiSchemaText": "Value\nperson.firstName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-firstName-base" + }, + { + "id": "coverage:domain-person-firstName-example-1", + "sourceType": "domain", + "command": "person.firstName", + "label": "person.firstName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.firstName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.firstName()", + "expectedUiSchemaText": "Value\nperson.firstName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-firstName-example-1" + }, + { + "id": "coverage:domain-person-firstName-example-2", + "sourceType": "domain", + "command": "person.firstName", + "label": "person.firstName example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.firstName", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.firstName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.firstName(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-firstName-example-2" + }, + { + "id": "coverage:domain-person-firstName-arg-sex", + "sourceType": "domain", + "command": "person.firstName", + "label": "person.firstName arg sex", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.firstName", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.firstName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.firstName(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["arg"], + "scenarioId": "domain-person-firstName-arg-sex" + }, + { + "id": "coverage:domain-person-fullName-base", + "sourceType": "domain", + "command": "person.fullName", + "label": "person.fullName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.fullName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.fullName()", + "expectedUiSchemaText": "Value\nperson.fullName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-fullName-base" + }, + { + "id": "coverage:domain-person-fullName-example-1", + "sourceType": "domain", + "command": "person.fullName", + "label": "person.fullName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.fullName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.fullName()", + "expectedUiSchemaText": "Value\nperson.fullName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-fullName-example-1" + }, + { + "id": "coverage:domain-person-gender-base", + "sourceType": "domain", + "command": "person.gender", + "label": "person.gender", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.gender", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.gender()", + "expectedUiSchemaText": "Value\nperson.gender()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-gender-base" + }, + { + "id": "coverage:domain-person-gender-example-1", + "sourceType": "domain", + "command": "person.gender", + "label": "person.gender example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.gender", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.gender()", + "expectedUiSchemaText": "Value\nperson.gender()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-gender-example-1" + }, + { + "id": "coverage:domain-person-jobArea-base", + "sourceType": "domain", + "command": "person.jobArea", + "label": "person.jobArea", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobArea", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobArea()", + "expectedUiSchemaText": "Value\nperson.jobArea()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobArea-base" + }, + { + "id": "coverage:domain-person-jobArea-example-1", + "sourceType": "domain", + "command": "person.jobArea", + "label": "person.jobArea example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobArea", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobArea()", + "expectedUiSchemaText": "Value\nperson.jobArea()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobArea-example-1" + }, + { + "id": "coverage:domain-person-jobDescriptor-base", + "sourceType": "domain", + "command": "person.jobDescriptor", + "label": "person.jobDescriptor", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobDescriptor", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobDescriptor()", + "expectedUiSchemaText": "Value\nperson.jobDescriptor()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobDescriptor-base" + }, + { + "id": "coverage:domain-person-jobDescriptor-example-1", + "sourceType": "domain", + "command": "person.jobDescriptor", + "label": "person.jobDescriptor example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobDescriptor", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobDescriptor()", + "expectedUiSchemaText": "Value\nperson.jobDescriptor()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobDescriptor-example-1" + }, + { + "id": "coverage:domain-person-jobTitle-base", + "sourceType": "domain", + "command": "person.jobTitle", + "label": "person.jobTitle", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobTitle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobTitle()", + "expectedUiSchemaText": "Value\nperson.jobTitle()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobTitle-base" + }, + { + "id": "coverage:domain-person-jobTitle-example-1", + "sourceType": "domain", + "command": "person.jobTitle", + "label": "person.jobTitle example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobTitle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobTitle()", + "expectedUiSchemaText": "Value\nperson.jobTitle()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobTitle-example-1" + }, + { + "id": "coverage:domain-person-jobType-base", + "sourceType": "domain", + "command": "person.jobType", + "label": "person.jobType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobType()", + "expectedUiSchemaText": "Value\nperson.jobType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobType-base" + }, + { + "id": "coverage:domain-person-jobType-example-1", + "sourceType": "domain", + "command": "person.jobType", + "label": "person.jobType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.jobType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.jobType()", + "expectedUiSchemaText": "Value\nperson.jobType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobType-example-1" + }, + { + "id": "coverage:domain-person-lastName-base", + "sourceType": "domain", + "command": "person.lastName", + "label": "person.lastName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.lastName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.lastName()", + "expectedUiSchemaText": "Value\nperson.lastName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-lastName-base" + }, + { + "id": "coverage:domain-person-lastName-example-1", + "sourceType": "domain", + "command": "person.lastName", + "label": "person.lastName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.lastName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.lastName()", + "expectedUiSchemaText": "Value\nperson.lastName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-lastName-example-1" + }, + { + "id": "coverage:domain-person-lastName-example-2", + "sourceType": "domain", + "command": "person.lastName", + "label": "person.lastName example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.lastName", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.lastName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.lastName(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-lastName-example-2" + }, + { + "id": "coverage:domain-person-lastName-arg-sex", + "sourceType": "domain", + "command": "person.lastName", + "label": "person.lastName arg sex", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.lastName", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.lastName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.lastName(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["arg"], + "scenarioId": "domain-person-lastName-arg-sex" + }, + { + "id": "coverage:domain-person-middleName-base", + "sourceType": "domain", + "command": "person.middleName", + "label": "person.middleName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.middleName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.middleName()", + "expectedUiSchemaText": "Value\nperson.middleName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-middleName-base" + }, + { + "id": "coverage:domain-person-middleName-example-1", + "sourceType": "domain", + "command": "person.middleName", + "label": "person.middleName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.middleName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.middleName()", + "expectedUiSchemaText": "Value\nperson.middleName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-middleName-example-1" + }, + { + "id": "coverage:domain-person-middleName-example-2", + "sourceType": "domain", + "command": "person.middleName", + "label": "person.middleName example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.middleName", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.middleName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.middleName(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-middleName-example-2" + }, + { + "id": "coverage:domain-person-middleName-arg-sex", + "sourceType": "domain", + "command": "person.middleName", + "label": "person.middleName arg sex", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.middleName", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.middleName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.middleName(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["arg"], + "scenarioId": "domain-person-middleName-arg-sex" + }, + { + "id": "coverage:domain-person-prefix-base", + "sourceType": "domain", + "command": "person.prefix", + "label": "person.prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.prefix", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.prefix()", + "expectedUiSchemaText": "Value\nperson.prefix()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-prefix-base" + }, + { + "id": "coverage:domain-person-prefix-example-1", + "sourceType": "domain", + "command": "person.prefix", + "label": "person.prefix example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.prefix", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.prefix()", + "expectedUiSchemaText": "Value\nperson.prefix()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-prefix-example-1" + }, + { + "id": "coverage:domain-person-prefix-example-2", + "sourceType": "domain", + "command": "person.prefix", + "label": "person.prefix example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.prefix", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.prefix(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.prefix(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-prefix-example-2" + }, + { + "id": "coverage:domain-person-prefix-arg-sex", + "sourceType": "domain", + "command": "person.prefix", + "label": "person.prefix arg sex", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.prefix", + "params": "(sex=\"female\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.prefix(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.prefix(sex=\"female\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["sex"], + "origins": ["arg"], + "scenarioId": "domain-person-prefix-arg-sex" + }, + { + "id": "coverage:domain-person-sex-base", + "sourceType": "domain", + "command": "person.sex", + "label": "person.sex", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.sex", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.sex()", + "expectedUiSchemaText": "Value\nperson.sex()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-sex-base" + }, + { + "id": "coverage:domain-person-sex-example-1", + "sourceType": "domain", + "command": "person.sex", + "label": "person.sex example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.sex", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.sex()", + "expectedUiSchemaText": "Value\nperson.sex()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-sex-example-1" + }, + { + "id": "coverage:domain-person-sexType-base", + "sourceType": "domain", + "command": "person.sexType", + "label": "person.sexType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.sexType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.sexType()", + "expectedUiSchemaText": "Value\nperson.sexType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-sexType-base" + }, + { + "id": "coverage:domain-person-sexType-example-1", + "sourceType": "domain", + "command": "person.sexType", + "label": "person.sexType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.sexType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.sexType()", + "expectedUiSchemaText": "Value\nperson.sexType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-sexType-example-1" + }, + { + "id": "coverage:domain-person-suffix-base", + "sourceType": "domain", + "command": "person.suffix", + "label": "person.suffix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.suffix", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.suffix()", + "expectedUiSchemaText": "Value\nperson.suffix()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-suffix-base" + }, + { + "id": "coverage:domain-person-suffix-example-1", + "sourceType": "domain", + "command": "person.suffix", + "label": "person.suffix example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.suffix", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.suffix()", + "expectedUiSchemaText": "Value\nperson.suffix()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-suffix-example-1" + }, + { + "id": "coverage:domain-person-zodiacSign-base", + "sourceType": "domain", + "command": "person.zodiacSign", + "label": "person.zodiacSign", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.zodiacSign", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.zodiacSign()", + "expectedUiSchemaText": "Value\nperson.zodiacSign()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-zodiacSign-base" + }, + { + "id": "coverage:domain-person-zodiacSign-example-1", + "sourceType": "domain", + "command": "person.zodiacSign", + "label": "person.zodiacSign example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "person.zodiacSign", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nperson.zodiacSign()", + "expectedUiSchemaText": "Value\nperson.zodiacSign()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-zodiacSign-example-1" + }, + { + "id": "coverage:domain-phone-imei-base", + "sourceType": "domain", + "command": "phone.imei", + "label": "phone.imei", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "phone.imei", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nphone.imei()", + "expectedUiSchemaText": "Value\nphone.imei()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-phone-imei-base" + }, + { + "id": "coverage:domain-phone-imei-example-1", + "sourceType": "domain", + "command": "phone.imei", + "label": "phone.imei example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "phone.imei", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nphone.imei()", + "expectedUiSchemaText": "Value\nphone.imei()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-phone-imei-example-1" + }, + { + "id": "coverage:domain-phone-number-base", + "sourceType": "domain", + "command": "phone.number", + "label": "phone.number", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "phone.number", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nphone.number()", + "expectedUiSchemaText": "Value\nphone.number()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-phone-number-base" + }, + { + "id": "coverage:domain-phone-number-example-1", + "sourceType": "domain", + "command": "phone.number", + "label": "phone.number example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "phone.number", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nphone.number()", + "expectedUiSchemaText": "Value\nphone.number()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["style"], + "origins": ["example"], + "scenarioId": "domain-phone-number-example-1" + }, + { + "id": "coverage:domain-phone-number-example-2", + "sourceType": "domain", + "command": "phone.number", + "label": "phone.number example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "phone.number", + "params": "(style=\"international\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nphone.number(style=\"international\")", + "expectedUiSchemaText": "Value\nphone.number(style=\"international\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["style"], + "origins": ["example"], + "scenarioId": "domain-phone-number-example-2" + }, + { + "id": "coverage:domain-phone-number-arg-style", + "sourceType": "domain", + "command": "phone.number", + "label": "phone.number arg style", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "phone.number", + "params": "(style=\"international\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nphone.number(style=\"international\")", + "expectedUiSchemaText": "Value\nphone.number(style=\"international\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["style"], + "origins": ["arg"], + "scenarioId": "domain-phone-number-arg-style" + }, + { + "id": "coverage:domain-string-alpha-base", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha()", + "expectedUiSchemaText": "Value\nstring.alpha()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-alpha-base" + }, + { + "id": "coverage:domain-string-alpha-example-1", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha()", + "expectedUiSchemaText": "Value\nstring.alpha()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-1" + }, + { + "id": "coverage:domain-string-alpha-example-2", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(length=5)", + "expectedUiSchemaText": "Value\nstring.alpha(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-2" + }, + { + "id": "coverage:domain-string-alpha-example-3", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-3" + }, + { + "id": "coverage:domain-string-alpha-example-4", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(length=5, casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-4" + }, + { + "id": "coverage:domain-string-alpha-example-5", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(exclude=[\"A\",\"B\",\"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.alpha(exclude=[\"A\",\"B\",\"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-5" + }, + { + "id": "coverage:domain-string-alpha-example-6", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(length=5, casing=\"upper\", exclude=[\"A\",\"B\",\"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\", exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\", exclude=[\"A\",\"B\",\"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-6" + }, + { + "id": "coverage:domain-string-alpha-arg-length", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(length=4)", + "expectedUiSchemaText": "Value\nstring.alpha(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-alpha-arg-length" + }, + { + "id": "coverage:domain-string-alpha-arg-casing", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha arg casing", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-string-alpha-arg-casing" + }, + { + "id": "coverage:domain-string-alpha-arg-exclude", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha arg exclude", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(exclude=[\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["exclude"], + "origins": ["arg"], + "scenarioId": "domain-string-alpha-arg-exclude" + }, + { + "id": "coverage:domain-string-alpha-pair-length-casing", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha pair length/casing", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(length=4, casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing"], + "origins": ["pair"], + "scenarioId": "domain-string-alpha-pair-length-casing" + }, + { + "id": "coverage:domain-string-alpha-pair-casing-exclude", + "sourceType": "domain", + "command": "string.alpha", + "label": "string.alpha pair casing/exclude", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alpha", + "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "exclude"], + "origins": ["pair"], + "scenarioId": "domain-string-alpha-pair-casing-exclude" + }, + { + "id": "coverage:domain-string-alphanumeric-base", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric()", + "expectedUiSchemaText": "Value\nstring.alphanumeric()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-alphanumeric-base" + }, + { + "id": "coverage:domain-string-alphanumeric-example-1", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric()", + "expectedUiSchemaText": "Value\nstring.alphanumeric()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-1" + }, + { + "id": "coverage:domain-string-alphanumeric-example-2", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(length=5)", + "expectedUiSchemaText": "Value\nstring.alphanumeric(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-2" + }, + { + "id": "coverage:domain-string-alphanumeric-example-3", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-3" + }, + { + "id": "coverage:domain-string-alphanumeric-example-4", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(exclude=[\"A\",\"B\",\"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\",\"B\",\"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-4" + }, + { + "id": "coverage:domain-string-alphanumeric-arg-length", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(length=4)", + "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-alphanumeric-arg-length" + }, + { + "id": "coverage:domain-string-alphanumeric-arg-casing", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric arg casing", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-string-alphanumeric-arg-casing" + }, + { + "id": "coverage:domain-string-alphanumeric-arg-exclude", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric arg exclude", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(exclude=[\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["exclude"], + "origins": ["arg"], + "scenarioId": "domain-string-alphanumeric-arg-exclude" + }, + { + "id": "coverage:domain-string-alphanumeric-pair-length-casing", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric pair length/casing", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(length=4, casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "casing"], + "origins": ["pair"], + "scenarioId": "domain-string-alphanumeric-pair-length-casing" + }, + { + "id": "coverage:domain-string-alphanumeric-pair-casing-exclude", + "sourceType": "domain", + "command": "string.alphanumeric", + "label": "string.alphanumeric pair casing/exclude", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.alphanumeric", + "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "exclude"], + "origins": ["pair"], + "scenarioId": "domain-string-alphanumeric-pair-casing-exclude" + }, + { + "id": "coverage:domain-string-binary-base", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary()", + "expectedUiSchemaText": "Value\nstring.binary()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-binary-base" + }, + { + "id": "coverage:domain-string-binary-example-1", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary()", + "expectedUiSchemaText": "Value\nstring.binary()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-binary-example-1" + }, + { + "id": "coverage:domain-string-binary-example-2", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary(length=5)", + "expectedUiSchemaText": "Value\nstring.binary(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-binary-example-2" + }, + { + "id": "coverage:domain-string-binary-example-3", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "(prefix=\"PRE-\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary(prefix=\"PRE-\")", + "expectedUiSchemaText": "Value\nstring.binary(prefix=\"PRE-\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-binary-example-3" + }, + { + "id": "coverage:domain-string-binary-arg-length", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary(length=4)", + "expectedUiSchemaText": "Value\nstring.binary(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-binary-arg-length" + }, + { + "id": "coverage:domain-string-binary-arg-prefix", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary arg prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "(prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary(prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.binary(prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-string-binary-arg-prefix" + }, + { + "id": "coverage:domain-string-binary-pair-length-prefix", + "sourceType": "domain", + "command": "string.binary", + "label": "string.binary pair length/prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.binary", + "params": "(length=4, prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-string-binary-pair-length-prefix" + }, + { + "id": "coverage:domain-string-counterString-base", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(1, 25, \"*\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(1, 25, \"*\")", + "expectedUiSchemaText": "Value\nstring.counterString(1, 25, \"*\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-counterString-base" + }, + { + "id": "coverage:domain-string-counterString-example-1", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString()", + "expectedUiSchemaText": "Value\nstring.counterString()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-1" + }, + { + "id": "coverage:domain-string-counterString-example-2", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(min=15)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(min=15)", + "expectedUiSchemaText": "Value\nstring.counterString(min=15)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-2" + }, + { + "id": "coverage:domain-string-counterString-example-3", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(min=5, max=12)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-3" + }, + { + "id": "coverage:domain-string-counterString-example-4", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(min=12, max=12, delimiter=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-4" + }, + { + "id": "coverage:domain-string-counterString-example-5", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(max=10, min=1)", + "expectedUiSchemaText": "Value\nstring.counterString(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-5" + }, + { + "id": "coverage:domain-string-counterString-example-6", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(max=12)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(max=12)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-6" + }, + { + "id": "coverage:domain-string-counterString-example-7", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString example 7", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(delimiter=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-7" + }, + { + "id": "coverage:domain-string-counterString-arg-min", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(min=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(min=5)", + "expectedUiSchemaText": "Value\nstring.counterString(min=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-string-counterString-arg-min" + }, + { + "id": "coverage:domain-string-counterString-arg-max", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(max=12)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(max=12)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-string-counterString-arg-max" + }, + { + "id": "coverage:domain-string-counterString-arg-delimiter", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString arg delimiter", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(delimiter=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["delimiter"], + "origins": ["arg"], + "scenarioId": "domain-string-counterString-arg-delimiter" + }, + { + "id": "coverage:domain-string-counterString-pair-min-max", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString pair min/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(min=5, max=12)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-string-counterString-pair-min-max" + }, + { + "id": "coverage:domain-string-counterString-pair-max-delimiter", + "sourceType": "domain", + "command": "string.counterString", + "label": "string.counterString pair max/delimiter", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.counterString", + "params": "(max=12, delimiter=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "delimiter"], + "origins": ["pair"], + "scenarioId": "domain-string-counterString-pair-max-delimiter" + }, + { + "id": "coverage:domain-string-fromCharacters-base", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(\"ABC123\", 4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-fromCharacters-base" + }, + { + "id": "coverage:domain-string-fromCharacters-example-1", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=6)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=6)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=6)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["characters", "length"], + "origins": ["example"], + "scenarioId": "domain-string-fromCharacters-example-1" + }, + { + "id": "coverage:domain-string-fromCharacters-example-2", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(characters=[\"A\", \"B\", \"C\"], length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["characters", "length"], + "origins": ["example"], + "scenarioId": "domain-string-fromCharacters-example-2" + }, + { + "id": "coverage:domain-string-fromCharacters-example-3", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["characters", "length"], + "origins": ["example"], + "scenarioId": "domain-string-fromCharacters-example-3" + }, + { + "id": "coverage:domain-string-fromCharacters-arg-characters", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters arg characters", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["characters"], + "origins": ["arg"], + "scenarioId": "domain-string-fromCharacters-arg-characters" + }, + { + "id": "coverage:domain-string-fromCharacters-arg-length", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-fromCharacters-arg-length" + }, + { + "id": "coverage:domain-string-fromCharacters-pair-characters-length", + "sourceType": "domain", + "command": "string.fromCharacters", + "label": "string.fromCharacters pair characters/length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["characters", "length"], + "origins": ["pair"], + "scenarioId": "domain-string-fromCharacters-pair-characters-length" + }, + { + "id": "coverage:domain-string-hexadecimal-base", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal()", + "expectedUiSchemaText": "Value\nstring.hexadecimal()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-hexadecimal-base" + }, + { + "id": "coverage:domain-string-hexadecimal-example-1", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal()", + "expectedUiSchemaText": "Value\nstring.hexadecimal()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-1" + }, + { + "id": "coverage:domain-string-hexadecimal-example-2", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-2" + }, + { + "id": "coverage:domain-string-hexadecimal-example-3", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(length=5)", + "expectedUiSchemaText": "Value\nstring.hexadecimal(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-3" + }, + { + "id": "coverage:domain-string-hexadecimal-example-4", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(prefix=\"PRE-\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(prefix=\"PRE-\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(prefix=\"PRE-\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-4" + }, + { + "id": "coverage:domain-string-hexadecimal-arg-casing", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal arg casing", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-string-hexadecimal-arg-casing" + }, + { + "id": "coverage:domain-string-hexadecimal-arg-length", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(length=4)", + "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-hexadecimal-arg-length" + }, + { + "id": "coverage:domain-string-hexadecimal-arg-prefix", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal arg prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-string-hexadecimal-arg-prefix" + }, + { + "id": "coverage:domain-string-hexadecimal-pair-casing-length", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal pair casing/length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(casing=\"upper\", length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", + "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "length"], + "origins": ["pair"], + "scenarioId": "domain-string-hexadecimal-pair-casing-length" + }, + { + "id": "coverage:domain-string-hexadecimal-pair-length-prefix", + "sourceType": "domain", + "command": "string.hexadecimal", + "label": "string.hexadecimal pair length/prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.hexadecimal", + "params": "(length=4, prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-string-hexadecimal-pair-length-prefix" + }, + { + "id": "coverage:domain-string-nanoid-base", + "sourceType": "domain", + "command": "string.nanoid", + "label": "string.nanoid", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.nanoid", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.nanoid()", + "expectedUiSchemaText": "Value\nstring.nanoid()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-nanoid-base" + }, + { + "id": "coverage:domain-string-nanoid-example-1", + "sourceType": "domain", + "command": "string.nanoid", + "label": "string.nanoid example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.nanoid", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.nanoid()", + "expectedUiSchemaText": "Value\nstring.nanoid()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-nanoid-example-1" + }, + { + "id": "coverage:domain-string-nanoid-example-2", + "sourceType": "domain", + "command": "string.nanoid", + "label": "string.nanoid example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.nanoid", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.nanoid(length=5)", + "expectedUiSchemaText": "Value\nstring.nanoid(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-nanoid-example-2" + }, + { + "id": "coverage:domain-string-nanoid-arg-length", + "sourceType": "domain", + "command": "string.nanoid", + "label": "string.nanoid arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.nanoid", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.nanoid(length=4)", + "expectedUiSchemaText": "Value\nstring.nanoid(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-nanoid-arg-length" + }, + { + "id": "coverage:domain-string-numeric-base", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric()", + "expectedUiSchemaText": "Value\nstring.numeric()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-numeric-base" + }, + { + "id": "coverage:domain-string-numeric-example-1", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric()", + "expectedUiSchemaText": "Value\nstring.numeric()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-1" + }, + { + "id": "coverage:domain-string-numeric-example-2", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(length=5)", + "expectedUiSchemaText": "Value\nstring.numeric(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-2" + }, + { + "id": "coverage:domain-string-numeric-example-3", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(allowLeadingZeros=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-3" + }, + { + "id": "coverage:domain-string-numeric-example-4", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(exclude=[\"A\",\"B\",\"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.numeric(exclude=[\"A\",\"B\",\"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-4" + }, + { + "id": "coverage:domain-string-numeric-arg-length", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(length=4)", + "expectedUiSchemaText": "Value\nstring.numeric(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-numeric-arg-length" + }, + { + "id": "coverage:domain-string-numeric-arg-allowLeadingZeros", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric arg allowLeadingZeros", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(allowLeadingZeros=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowLeadingZeros"], + "origins": ["arg"], + "scenarioId": "domain-string-numeric-arg-allowLeadingZeros" + }, + { + "id": "coverage:domain-string-numeric-arg-exclude", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric arg exclude", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(exclude=[\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["exclude"], + "origins": ["arg"], + "scenarioId": "domain-string-numeric-arg-exclude" + }, + { + "id": "coverage:domain-string-numeric-pair-length-allowLeadingZeros", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric pair length/allowLeadingZeros", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(length=4, allowLeadingZeros=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", + "expectedUiSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "allowLeadingZeros"], + "origins": ["pair"], + "scenarioId": "domain-string-numeric-pair-length-allowLeadingZeros" + }, + { + "id": "coverage:domain-string-numeric-pair-allowLeadingZeros-exclude", + "sourceType": "domain", + "command": "string.numeric", + "label": "string.numeric pair allowLeadingZeros/exclude", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.numeric", + "params": "(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowLeadingZeros", "exclude"], + "origins": ["pair"], + "scenarioId": "domain-string-numeric-pair-allowLeadingZeros-exclude" + }, + { + "id": "coverage:domain-string-octal-base", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal()", + "expectedUiSchemaText": "Value\nstring.octal()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-octal-base" + }, + { + "id": "coverage:domain-string-octal-example-1", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal()", + "expectedUiSchemaText": "Value\nstring.octal()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-octal-example-1" + }, + { + "id": "coverage:domain-string-octal-example-2", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal(length=5)", + "expectedUiSchemaText": "Value\nstring.octal(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-octal-example-2" + }, + { + "id": "coverage:domain-string-octal-example-3", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "(prefix=\"PRE-\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal(prefix=\"PRE-\")", + "expectedUiSchemaText": "Value\nstring.octal(prefix=\"PRE-\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-octal-example-3" + }, + { + "id": "coverage:domain-string-octal-arg-length", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal(length=4)", + "expectedUiSchemaText": "Value\nstring.octal(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-octal-arg-length" + }, + { + "id": "coverage:domain-string-octal-arg-prefix", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal arg prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "(prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal(prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.octal(prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-string-octal-arg-prefix" + }, + { + "id": "coverage:domain-string-octal-pair-length-prefix", + "sourceType": "domain", + "command": "string.octal", + "label": "string.octal pair length/prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.octal", + "params": "(length=4, prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-string-octal-pair-length-prefix" + }, + { + "id": "coverage:domain-string-sample-base", + "sourceType": "domain", + "command": "string.sample", + "label": "string.sample", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.sample", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.sample()", + "expectedUiSchemaText": "Value\nstring.sample()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-sample-base" + }, + { + "id": "coverage:domain-string-sample-example-1", + "sourceType": "domain", + "command": "string.sample", + "label": "string.sample example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.sample", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.sample()", + "expectedUiSchemaText": "Value\nstring.sample()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-sample-example-1" + }, + { + "id": "coverage:domain-string-sample-example-2", + "sourceType": "domain", + "command": "string.sample", + "label": "string.sample example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.sample", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.sample(length=5)", + "expectedUiSchemaText": "Value\nstring.sample(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-sample-example-2" + }, + { + "id": "coverage:domain-string-sample-arg-length", + "sourceType": "domain", + "command": "string.sample", + "label": "string.sample arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.sample", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.sample(length=4)", + "expectedUiSchemaText": "Value\nstring.sample(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-sample-arg-length" + }, + { + "id": "coverage:domain-string-symbol-base", + "sourceType": "domain", + "command": "string.symbol", + "label": "string.symbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.symbol", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.symbol()", + "expectedUiSchemaText": "Value\nstring.symbol()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-symbol-base" + }, + { + "id": "coverage:domain-string-symbol-example-1", + "sourceType": "domain", + "command": "string.symbol", + "label": "string.symbol example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.symbol", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.symbol()", + "expectedUiSchemaText": "Value\nstring.symbol()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-symbol-example-1" + }, + { + "id": "coverage:domain-string-symbol-example-2", + "sourceType": "domain", + "command": "string.symbol", + "label": "string.symbol example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.symbol", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.symbol(length=5)", + "expectedUiSchemaText": "Value\nstring.symbol(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-symbol-example-2" + }, + { + "id": "coverage:domain-string-symbol-arg-length", + "sourceType": "domain", + "command": "string.symbol", + "label": "string.symbol arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.symbol", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.symbol(length=4)", + "expectedUiSchemaText": "Value\nstring.symbol(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-symbol-arg-length" + }, + { + "id": "coverage:domain-string-ulid-base", + "sourceType": "domain", + "command": "string.ulid", + "label": "string.ulid", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.ulid", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.ulid()", + "expectedUiSchemaText": "Value\nstring.ulid()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-ulid-base" + }, + { + "id": "coverage:domain-string-ulid-example-1", + "sourceType": "domain", + "command": "string.ulid", + "label": "string.ulid example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.ulid", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.ulid()", + "expectedUiSchemaText": "Value\nstring.ulid()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-string-ulid-example-1" + }, + { + "id": "coverage:domain-string-ulid-example-2", + "sourceType": "domain", + "command": "string.ulid", + "label": "string.ulid example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.ulid", + "params": "(refDate=1718755200000)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.ulid(refDate=1718755200000)", + "expectedUiSchemaText": "Value\nstring.ulid(refDate=1718755200000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-string-ulid-example-2" + }, + { + "id": "coverage:domain-string-ulid-arg-refDate", + "sourceType": "domain", + "command": "string.ulid", + "label": "string.ulid arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.ulid", + "params": "(refDate=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.ulid(refDate=1)", + "expectedUiSchemaText": "Value\nstring.ulid(refDate=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-string-ulid-arg-refDate" + }, + { + "id": "coverage:domain-string-uuid-base", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid()", + "expectedUiSchemaText": "Value\nstring.uuid()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-uuid-base" + }, + { + "id": "coverage:domain-string-uuid-example-1", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid()", + "expectedUiSchemaText": "Value\nstring.uuid()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["version", "refDate"], + "origins": ["example"], + "scenarioId": "domain-string-uuid-example-1" + }, + { + "id": "coverage:domain-string-uuid-example-2", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "(version=7)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid(version=7)", + "expectedUiSchemaText": "Value\nstring.uuid(version=7)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["version", "refDate"], + "origins": ["example"], + "scenarioId": "domain-string-uuid-example-2" + }, + { + "id": "coverage:domain-string-uuid-example-3", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "(refDate=\"2026-06-18T00:00:00.000Z\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid(refDate=\"2026-06-18T00:00:00.000Z\")", + "expectedUiSchemaText": "Value\nstring.uuid(refDate=\"2026-06-18T00:00:00.000Z\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["version", "refDate"], + "origins": ["example"], + "scenarioId": "domain-string-uuid-example-3" + }, + { + "id": "coverage:domain-string-uuid-arg-version", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid arg version", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "(version=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid(version=4)", + "expectedUiSchemaText": "Value\nstring.uuid(version=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["version"], + "origins": ["arg"], + "scenarioId": "domain-string-uuid-arg-version" + }, + { + "id": "coverage:domain-string-uuid-arg-refDate", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "(refDate=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid(refDate=1)", + "expectedUiSchemaText": "Value\nstring.uuid(refDate=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-string-uuid-arg-refDate" + }, + { + "id": "coverage:domain-string-uuid-pair-version-refDate", + "sourceType": "domain", + "command": "string.uuid", + "label": "string.uuid pair version/refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "string.uuid", + "params": "(version=4, refDate=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nstring.uuid(version=4, refDate=1)", + "expectedUiSchemaText": "Value\nstring.uuid(version=4, refDate=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["version", "refDate"], + "origins": ["pair"], + "scenarioId": "domain-string-uuid-pair-version-refDate" + }, + { + "id": "coverage:domain-system-commonFileExt-base", + "sourceType": "domain", + "command": "system.commonFileExt", + "label": "system.commonFileExt", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileExt", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileExt()", + "expectedUiSchemaText": "Value\nsystem.commonFileExt()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-commonFileExt-base" + }, + { + "id": "coverage:domain-system-commonFileExt-example-1", + "sourceType": "domain", + "command": "system.commonFileExt", + "label": "system.commonFileExt example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileExt", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileExt()", + "expectedUiSchemaText": "Value\nsystem.commonFileExt()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-commonFileExt-example-1" + }, + { + "id": "coverage:domain-system-commonFileName-base", + "sourceType": "domain", + "command": "system.commonFileName", + "label": "system.commonFileName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileName()", + "expectedUiSchemaText": "Value\nsystem.commonFileName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-commonFileName-base" + }, + { + "id": "coverage:domain-system-commonFileName-example-1", + "sourceType": "domain", + "command": "system.commonFileName", + "label": "system.commonFileName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileName()", + "expectedUiSchemaText": "Value\nsystem.commonFileName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["extension"], + "origins": ["example"], + "scenarioId": "domain-system-commonFileName-example-1" + }, + { + "id": "coverage:domain-system-commonFileName-example-2", + "sourceType": "domain", + "command": "system.commonFileName", + "label": "system.commonFileName example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileName", + "params": "(extension=\"txt\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileName(extension=\"txt\")", + "expectedUiSchemaText": "Value\nsystem.commonFileName(extension=\"txt\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["extension"], + "origins": ["example"], + "scenarioId": "domain-system-commonFileName-example-2" + }, + { + "id": "coverage:domain-system-commonFileName-arg-extension", + "sourceType": "domain", + "command": "system.commonFileName", + "label": "system.commonFileName arg extension", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileName", + "params": "(extension=\"system-commonFileName-extension\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", + "expectedUiSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["extension"], + "origins": ["arg"], + "scenarioId": "domain-system-commonFileName-arg-extension" + }, + { + "id": "coverage:domain-system-commonFileType-base", + "sourceType": "domain", + "command": "system.commonFileType", + "label": "system.commonFileType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileType()", + "expectedUiSchemaText": "Value\nsystem.commonFileType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-commonFileType-base" + }, + { + "id": "coverage:domain-system-commonFileType-example-1", + "sourceType": "domain", + "command": "system.commonFileType", + "label": "system.commonFileType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileType()", + "expectedUiSchemaText": "Value\nsystem.commonFileType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-commonFileType-example-1" + }, + { + "id": "coverage:domain-system-cron-base", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron()", + "expectedUiSchemaText": "Value\nsystem.cron()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-cron-base" + }, + { + "id": "coverage:domain-system-cron-example-1", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron()", + "expectedUiSchemaText": "Value\nsystem.cron()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["example"], + "scenarioId": "domain-system-cron-example-1" + }, + { + "id": "coverage:domain-system-cron-example-2", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "(includeNonStandard=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["example"], + "scenarioId": "domain-system-cron-example-2" + }, + { + "id": "coverage:domain-system-cron-example-3", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "(includeYear=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["example"], + "scenarioId": "domain-system-cron-example-3" + }, + { + "id": "coverage:domain-system-cron-arg-includeNonStandard", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron arg includeNonStandard", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "(includeNonStandard=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeNonStandard"], + "origins": ["arg"], + "scenarioId": "domain-system-cron-arg-includeNonStandard" + }, + { + "id": "coverage:domain-system-cron-arg-includeYear", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron arg includeYear", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "(includeYear=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeYear"], + "origins": ["arg"], + "scenarioId": "domain-system-cron-arg-includeYear" + }, + { + "id": "coverage:domain-system-cron-pair-includeNonStandard-includeYear", + "sourceType": "domain", + "command": "system.cron", + "label": "system.cron pair includeNonStandard/includeYear", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.cron", + "params": "(includeNonStandard=true, includeYear=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["pair"], + "scenarioId": "domain-system-cron-pair-includeNonStandard-includeYear" + }, + { + "id": "coverage:domain-system-directoryPath-base", + "sourceType": "domain", + "command": "system.directoryPath", + "label": "system.directoryPath", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.directoryPath", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.directoryPath()", + "expectedUiSchemaText": "Value\nsystem.directoryPath()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-directoryPath-base" + }, + { + "id": "coverage:domain-system-directoryPath-example-1", + "sourceType": "domain", + "command": "system.directoryPath", + "label": "system.directoryPath example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.directoryPath", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.directoryPath()", + "expectedUiSchemaText": "Value\nsystem.directoryPath()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-directoryPath-example-1" + }, + { + "id": "coverage:domain-system-fileExt-base", + "sourceType": "domain", + "command": "system.fileExt", + "label": "system.fileExt", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileExt", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileExt()", + "expectedUiSchemaText": "Value\nsystem.fileExt()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-fileExt-base" + }, + { + "id": "coverage:domain-system-fileExt-example-1", + "sourceType": "domain", + "command": "system.fileExt", + "label": "system.fileExt example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileExt", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileExt()", + "expectedUiSchemaText": "Value\nsystem.fileExt()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["mimeType"], + "origins": ["example"], + "scenarioId": "domain-system-fileExt-example-1" + }, + { + "id": "coverage:domain-system-fileExt-example-2", + "sourceType": "domain", + "command": "system.fileExt", + "label": "system.fileExt example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileExt", + "params": "(mimeType=\"image/png\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileExt(mimeType=\"image/png\")", + "expectedUiSchemaText": "Value\nsystem.fileExt(mimeType=\"image/png\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["mimeType"], + "origins": ["example"], + "scenarioId": "domain-system-fileExt-example-2" + }, + { + "id": "coverage:domain-system-fileExt-arg-mimeType", + "sourceType": "domain", + "command": "system.fileExt", + "label": "system.fileExt arg mimeType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileExt", + "params": "(mimeType=\"system-fileExt-mimeType\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", + "expectedUiSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["mimeType"], + "origins": ["arg"], + "scenarioId": "domain-system-fileExt-arg-mimeType" + }, + { + "id": "coverage:domain-system-fileName-base", + "sourceType": "domain", + "command": "system.fileName", + "label": "system.fileName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileName()", + "expectedUiSchemaText": "Value\nsystem.fileName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-fileName-base" + }, + { + "id": "coverage:domain-system-fileName-example-1", + "sourceType": "domain", + "command": "system.fileName", + "label": "system.fileName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileName()", + "expectedUiSchemaText": "Value\nsystem.fileName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-fileName-example-1" + }, + { + "id": "coverage:domain-system-filePath-base", + "sourceType": "domain", + "command": "system.filePath", + "label": "system.filePath", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.filePath", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.filePath()", + "expectedUiSchemaText": "Value\nsystem.filePath()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-filePath-base" + }, + { + "id": "coverage:domain-system-filePath-example-1", + "sourceType": "domain", + "command": "system.filePath", + "label": "system.filePath example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.filePath", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.filePath()", + "expectedUiSchemaText": "Value\nsystem.filePath()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-filePath-example-1" + }, + { + "id": "coverage:domain-system-fileType-base", + "sourceType": "domain", + "command": "system.fileType", + "label": "system.fileType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileType()", + "expectedUiSchemaText": "Value\nsystem.fileType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-fileType-base" + }, + { + "id": "coverage:domain-system-fileType-example-1", + "sourceType": "domain", + "command": "system.fileType", + "label": "system.fileType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.fileType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.fileType()", + "expectedUiSchemaText": "Value\nsystem.fileType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-fileType-example-1" + }, + { + "id": "coverage:domain-system-mimeType-base", + "sourceType": "domain", + "command": "system.mimeType", + "label": "system.mimeType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.mimeType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.mimeType()", + "expectedUiSchemaText": "Value\nsystem.mimeType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-mimeType-base" + }, + { + "id": "coverage:domain-system-mimeType-example-1", + "sourceType": "domain", + "command": "system.mimeType", + "label": "system.mimeType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.mimeType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.mimeType()", + "expectedUiSchemaText": "Value\nsystem.mimeType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-mimeType-example-1" + }, + { + "id": "coverage:domain-system-networkInterface-base", + "sourceType": "domain", + "command": "system.networkInterface", + "label": "system.networkInterface", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.networkInterface", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.networkInterface()", + "expectedUiSchemaText": "Value\nsystem.networkInterface()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-networkInterface-base" + }, + { + "id": "coverage:domain-system-networkInterface-example-1", + "sourceType": "domain", + "command": "system.networkInterface", + "label": "system.networkInterface example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.networkInterface", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.networkInterface()", + "expectedUiSchemaText": "Value\nsystem.networkInterface()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-networkInterface-example-1" + }, + { + "id": "coverage:domain-system-semver-base", + "sourceType": "domain", + "command": "system.semver", + "label": "system.semver", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.semver", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.semver()", + "expectedUiSchemaText": "Value\nsystem.semver()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-semver-base" + }, + { + "id": "coverage:domain-system-semver-example-1", + "sourceType": "domain", + "command": "system.semver", + "label": "system.semver example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.semver", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.semver()", + "expectedUiSchemaText": "Value\nsystem.semver()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-semver-example-1" + }, + { + "id": "coverage:domain-vehicle-bicycle-base", + "sourceType": "domain", + "command": "vehicle.bicycle", + "label": "vehicle.bicycle", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.bicycle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.bicycle()", + "expectedUiSchemaText": "Value\nvehicle.bicycle()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-bicycle-base" + }, + { + "id": "coverage:domain-vehicle-bicycle-example-1", + "sourceType": "domain", + "command": "vehicle.bicycle", + "label": "vehicle.bicycle example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.bicycle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.bicycle()", + "expectedUiSchemaText": "Value\nvehicle.bicycle()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-bicycle-example-1" + }, + { + "id": "coverage:domain-vehicle-color-base", + "sourceType": "domain", + "command": "vehicle.color", + "label": "vehicle.color", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.color", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.color()", + "expectedUiSchemaText": "Value\nvehicle.color()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-color-base" + }, + { + "id": "coverage:domain-vehicle-color-example-1", + "sourceType": "domain", + "command": "vehicle.color", + "label": "vehicle.color example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.color", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.color()", + "expectedUiSchemaText": "Value\nvehicle.color()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-color-example-1" + }, + { + "id": "coverage:domain-vehicle-fuel-base", + "sourceType": "domain", + "command": "vehicle.fuel", + "label": "vehicle.fuel", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.fuel", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.fuel()", + "expectedUiSchemaText": "Value\nvehicle.fuel()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-fuel-base" + }, + { + "id": "coverage:domain-vehicle-fuel-example-1", + "sourceType": "domain", + "command": "vehicle.fuel", + "label": "vehicle.fuel example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.fuel", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.fuel()", + "expectedUiSchemaText": "Value\nvehicle.fuel()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-fuel-example-1" + }, + { + "id": "coverage:domain-vehicle-manufacturer-base", + "sourceType": "domain", + "command": "vehicle.manufacturer", + "label": "vehicle.manufacturer", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.manufacturer", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.manufacturer()", + "expectedUiSchemaText": "Value\nvehicle.manufacturer()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-manufacturer-base" + }, + { + "id": "coverage:domain-vehicle-manufacturer-example-1", + "sourceType": "domain", + "command": "vehicle.manufacturer", + "label": "vehicle.manufacturer example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.manufacturer", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.manufacturer()", + "expectedUiSchemaText": "Value\nvehicle.manufacturer()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-manufacturer-example-1" + }, + { + "id": "coverage:domain-vehicle-model-base", + "sourceType": "domain", + "command": "vehicle.model", + "label": "vehicle.model", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.model", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.model()", + "expectedUiSchemaText": "Value\nvehicle.model()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-model-base" + }, + { + "id": "coverage:domain-vehicle-model-example-1", + "sourceType": "domain", + "command": "vehicle.model", + "label": "vehicle.model example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.model", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.model()", + "expectedUiSchemaText": "Value\nvehicle.model()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-model-example-1" + }, + { + "id": "coverage:domain-vehicle-type-base", + "sourceType": "domain", + "command": "vehicle.type", + "label": "vehicle.type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.type()", + "expectedUiSchemaText": "Value\nvehicle.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-type-base" + }, + { + "id": "coverage:domain-vehicle-type-example-1", + "sourceType": "domain", + "command": "vehicle.type", + "label": "vehicle.type example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.type()", + "expectedUiSchemaText": "Value\nvehicle.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-type-example-1" + }, + { + "id": "coverage:domain-vehicle-vehicle-base", + "sourceType": "domain", + "command": "vehicle.vehicle", + "label": "vehicle.vehicle", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.vehicle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.vehicle()", + "expectedUiSchemaText": "Value\nvehicle.vehicle()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-vehicle-base" + }, + { + "id": "coverage:domain-vehicle-vehicle-example-1", + "sourceType": "domain", + "command": "vehicle.vehicle", + "label": "vehicle.vehicle example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.vehicle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.vehicle()", + "expectedUiSchemaText": "Value\nvehicle.vehicle()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-vehicle-example-1" + }, + { + "id": "coverage:domain-vehicle-vin-base", + "sourceType": "domain", + "command": "vehicle.vin", + "label": "vehicle.vin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.vin", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.vin()", + "expectedUiSchemaText": "Value\nvehicle.vin()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-vin-base" + }, + { + "id": "coverage:domain-vehicle-vin-example-1", + "sourceType": "domain", + "command": "vehicle.vin", + "label": "vehicle.vin example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.vin", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.vin()", + "expectedUiSchemaText": "Value\nvehicle.vin()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-vin-example-1" + }, + { + "id": "coverage:domain-vehicle-vrm-base", + "sourceType": "domain", + "command": "vehicle.vrm", + "label": "vehicle.vrm", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.vrm", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.vrm()", + "expectedUiSchemaText": "Value\nvehicle.vrm()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-vrm-base" + }, + { + "id": "coverage:domain-vehicle-vrm-example-1", + "sourceType": "domain", + "command": "vehicle.vrm", + "label": "vehicle.vrm example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.vrm", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.vrm()", + "expectedUiSchemaText": "Value\nvehicle.vrm()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-vrm-example-1" + }, + { + "id": "coverage:domain-word-adjective-base", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective()", + "expectedUiSchemaText": "Value\nword.adjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-adjective-base" + }, + { + "id": "coverage:domain-word-adjective-example-1", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective()", + "expectedUiSchemaText": "Value\nword.adjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-1" + }, + { + "id": "coverage:domain-word-adjective-example-2", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(length=5)", + "expectedUiSchemaText": "Value\nword.adjective(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-2" + }, + { + "id": "coverage:domain-word-adjective-example-3", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(max=5)", + "expectedUiSchemaText": "Value\nword.adjective(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-3" + }, + { + "id": "coverage:domain-word-adjective-example-4", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adjective(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-4" + }, + { + "id": "coverage:domain-word-adjective-arg-length", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(length=4)", + "expectedUiSchemaText": "Value\nword.adjective(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-adjective-arg-length" + }, + { + "id": "coverage:domain-word-adjective-arg-max", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(max=3)", + "expectedUiSchemaText": "Value\nword.adjective(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-adjective-arg-max" + }, + { + "id": "coverage:domain-word-adjective-arg-strategy", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adjective(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-adjective-arg-strategy" + }, + { + "id": "coverage:domain-word-adjective-pair-length-max", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.adjective(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-adjective-pair-length-max" + }, + { + "id": "coverage:domain-word-adjective-pair-max-strategy", + "sourceType": "domain", + "command": "word.adjective", + "label": "word.adjective pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adjective", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adjective(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adjective(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-adjective-pair-max-strategy" + }, + { + "id": "coverage:domain-word-adverb-base", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb()", + "expectedUiSchemaText": "Value\nword.adverb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-adverb-base" + }, + { + "id": "coverage:domain-word-adverb-example-1", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb()", + "expectedUiSchemaText": "Value\nword.adverb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-1" + }, + { + "id": "coverage:domain-word-adverb-example-2", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(length=5)", + "expectedUiSchemaText": "Value\nword.adverb(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-2" + }, + { + "id": "coverage:domain-word-adverb-example-3", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(max=5)", + "expectedUiSchemaText": "Value\nword.adverb(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-3" + }, + { + "id": "coverage:domain-word-adverb-example-4", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-4" + }, + { + "id": "coverage:domain-word-adverb-arg-length", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(length=4)", + "expectedUiSchemaText": "Value\nword.adverb(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-adverb-arg-length" + }, + { + "id": "coverage:domain-word-adverb-arg-max", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(max=3)", + "expectedUiSchemaText": "Value\nword.adverb(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-adverb-arg-max" + }, + { + "id": "coverage:domain-word-adverb-arg-strategy", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-adverb-arg-strategy" + }, + { + "id": "coverage:domain-word-adverb-pair-length-max", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.adverb(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-adverb-pair-length-max" + }, + { + "id": "coverage:domain-word-adverb-pair-max-strategy", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adverb(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-adverb-pair-max-strategy" + }, + { + "id": "coverage:domain-word-conjunction-base", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction()", + "expectedUiSchemaText": "Value\nword.conjunction()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-conjunction-base" + }, + { + "id": "coverage:domain-word-conjunction-example-1", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction()", + "expectedUiSchemaText": "Value\nword.conjunction()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-1" + }, + { + "id": "coverage:domain-word-conjunction-example-2", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(length=5)", + "expectedUiSchemaText": "Value\nword.conjunction(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-2" + }, + { + "id": "coverage:domain-word-conjunction-example-3", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(max=5)", + "expectedUiSchemaText": "Value\nword.conjunction(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-3" + }, + { + "id": "coverage:domain-word-conjunction-example-4", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-4" + }, + { + "id": "coverage:domain-word-conjunction-arg-length", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(length=4)", + "expectedUiSchemaText": "Value\nword.conjunction(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-conjunction-arg-length" + }, + { + "id": "coverage:domain-word-conjunction-arg-max", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(max=3)", + "expectedUiSchemaText": "Value\nword.conjunction(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-conjunction-arg-max" + }, + { + "id": "coverage:domain-word-conjunction-arg-strategy", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-conjunction-arg-strategy" + }, + { + "id": "coverage:domain-word-conjunction-pair-length-max", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.conjunction(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-conjunction-pair-length-max" + }, + { + "id": "coverage:domain-word-conjunction-pair-max-strategy", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.conjunction(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-conjunction-pair-max-strategy" + }, + { + "id": "coverage:domain-word-interjection-base", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection()", + "expectedUiSchemaText": "Value\nword.interjection()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-interjection-base" + }, + { + "id": "coverage:domain-word-interjection-example-1", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection()", + "expectedUiSchemaText": "Value\nword.interjection()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-1" + }, + { + "id": "coverage:domain-word-interjection-example-2", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(length=5)", + "expectedUiSchemaText": "Value\nword.interjection(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-2" + }, + { + "id": "coverage:domain-word-interjection-example-3", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(max=5)", + "expectedUiSchemaText": "Value\nword.interjection(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-3" + }, + { + "id": "coverage:domain-word-interjection-example-4", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-4" + }, + { + "id": "coverage:domain-word-interjection-arg-length", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(length=4)", + "expectedUiSchemaText": "Value\nword.interjection(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-interjection-arg-length" + }, + { + "id": "coverage:domain-word-interjection-arg-max", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(max=3)", + "expectedUiSchemaText": "Value\nword.interjection(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-interjection-arg-max" + }, + { + "id": "coverage:domain-word-interjection-arg-strategy", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-interjection-arg-strategy" + }, + { + "id": "coverage:domain-word-interjection-pair-length-max", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.interjection(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-interjection-pair-length-max" + }, + { + "id": "coverage:domain-word-interjection-pair-max-strategy", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.interjection(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-interjection-pair-max-strategy" + }, + { + "id": "coverage:domain-word-noun-base", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun()", + "expectedUiSchemaText": "Value\nword.noun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-noun-base" + }, + { + "id": "coverage:domain-word-noun-example-1", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun()", + "expectedUiSchemaText": "Value\nword.noun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-1" + }, + { + "id": "coverage:domain-word-noun-example-2", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(length=5)", + "expectedUiSchemaText": "Value\nword.noun(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-2" + }, + { + "id": "coverage:domain-word-noun-example-3", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(max=5)", + "expectedUiSchemaText": "Value\nword.noun(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-3" + }, + { + "id": "coverage:domain-word-noun-example-4", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-4" + }, + { + "id": "coverage:domain-word-noun-arg-length", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(length=4)", + "expectedUiSchemaText": "Value\nword.noun(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-noun-arg-length" + }, + { + "id": "coverage:domain-word-noun-arg-max", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(max=3)", + "expectedUiSchemaText": "Value\nword.noun(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-noun-arg-max" + }, + { + "id": "coverage:domain-word-noun-arg-strategy", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-noun-arg-strategy" + }, + { + "id": "coverage:domain-word-noun-pair-length-max", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.noun(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-noun-pair-length-max" + }, + { + "id": "coverage:domain-word-noun-pair-max-strategy", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.noun(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-noun-pair-max-strategy" + }, + { + "id": "coverage:domain-word-preposition-base", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition()", + "expectedUiSchemaText": "Value\nword.preposition()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-preposition-base" + }, + { + "id": "coverage:domain-word-preposition-example-1", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition()", + "expectedUiSchemaText": "Value\nword.preposition()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-1" + }, + { + "id": "coverage:domain-word-preposition-example-2", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(length=5)", + "expectedUiSchemaText": "Value\nword.preposition(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-2" + }, + { + "id": "coverage:domain-word-preposition-example-3", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(max=5)", + "expectedUiSchemaText": "Value\nword.preposition(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-3" + }, + { + "id": "coverage:domain-word-preposition-example-4", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-4" + }, + { + "id": "coverage:domain-word-preposition-arg-length", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(length=4)", + "expectedUiSchemaText": "Value\nword.preposition(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-preposition-arg-length" + }, + { + "id": "coverage:domain-word-preposition-arg-max", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(max=3)", + "expectedUiSchemaText": "Value\nword.preposition(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-preposition-arg-max" + }, + { + "id": "coverage:domain-word-preposition-arg-strategy", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-preposition-arg-strategy" + }, + { + "id": "coverage:domain-word-preposition-pair-length-max", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.preposition(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-preposition-pair-length-max" + }, + { + "id": "coverage:domain-word-preposition-pair-max-strategy", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.preposition(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-preposition-pair-max-strategy" + }, + { + "id": "coverage:domain-word-sample-base", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample()", + "expectedUiSchemaText": "Value\nword.sample()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-sample-base" + }, + { + "id": "coverage:domain-word-sample-example-1", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample()", + "expectedUiSchemaText": "Value\nword.sample()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-1" + }, + { + "id": "coverage:domain-word-sample-example-2", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(length=5)", + "expectedUiSchemaText": "Value\nword.sample(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-2" + }, + { + "id": "coverage:domain-word-sample-example-3", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(max=5)", + "expectedUiSchemaText": "Value\nword.sample(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-3" + }, + { + "id": "coverage:domain-word-sample-example-4", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-4" + }, + { + "id": "coverage:domain-word-sample-arg-length", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(length=4)", + "expectedUiSchemaText": "Value\nword.sample(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-sample-arg-length" + }, + { + "id": "coverage:domain-word-sample-arg-max", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(max=3)", + "expectedUiSchemaText": "Value\nword.sample(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-sample-arg-max" + }, + { + "id": "coverage:domain-word-sample-arg-strategy", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-sample-arg-strategy" + }, + { + "id": "coverage:domain-word-sample-pair-length-max", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.sample(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-sample-pair-length-max" + }, + { + "id": "coverage:domain-word-sample-pair-max-strategy", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.sample(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-sample-pair-max-strategy" + }, + { + "id": "coverage:domain-word-verb-base", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb()", + "expectedUiSchemaText": "Value\nword.verb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-verb-base" + }, + { + "id": "coverage:domain-word-verb-example-1", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb()", + "expectedUiSchemaText": "Value\nword.verb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-1" + }, + { + "id": "coverage:domain-word-verb-example-2", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(length=5)", + "expectedUiSchemaText": "Value\nword.verb(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-2" + }, + { + "id": "coverage:domain-word-verb-example-3", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(max=5)", + "expectedUiSchemaText": "Value\nword.verb(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-3" + }, + { + "id": "coverage:domain-word-verb-example-4", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-4" + }, + { + "id": "coverage:domain-word-verb-arg-length", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(length=4)", + "expectedUiSchemaText": "Value\nword.verb(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-word-verb-arg-length" + }, + { + "id": "coverage:domain-word-verb-arg-max", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(max=3)", + "expectedUiSchemaText": "Value\nword.verb(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-verb-arg-max" + }, + { + "id": "coverage:domain-word-verb-arg-strategy", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb arg strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["strategy"], + "origins": ["arg"], + "scenarioId": "domain-word-verb-arg-strategy" + }, + { + "id": "coverage:domain-word-verb-pair-length-max", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb pair length/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(length=4, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(length=4, max=3)", + "expectedUiSchemaText": "Value\nword.verb(length=4, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-verb-pair-length-max" + }, + { + "id": "coverage:domain-word-verb-pair-max-strategy", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb pair max/strategy", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(max=3, strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.verb(max=3, strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-word-verb-pair-max-strategy" + }, + { + "id": "coverage:domain-word-words-base", + "sourceType": "domain", + "command": "word.words", + "label": "word.words", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words()", + "expectedUiSchemaText": "Value\nword.words()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-word-words-base" + }, + { + "id": "coverage:domain-word-words-example-1", + "sourceType": "domain", + "command": "word.words", + "label": "word.words example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words()", + "expectedUiSchemaText": "Value\nword.words()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["example"], + "scenarioId": "domain-word-words-example-1" + }, + { + "id": "coverage:domain-word-words-example-2", + "sourceType": "domain", + "command": "word.words", + "label": "word.words example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(count=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(count=5)", + "expectedUiSchemaText": "Value\nword.words(count=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["example"], + "scenarioId": "domain-word-words-example-2" + }, + { + "id": "coverage:domain-word-words-example-3", + "sourceType": "domain", + "command": "word.words", + "label": "word.words example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(max=5)", + "expectedUiSchemaText": "Value\nword.words(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["example"], + "scenarioId": "domain-word-words-example-3" + }, + { + "id": "coverage:domain-word-words-arg-count", + "sourceType": "domain", + "command": "word.words", + "label": "word.words arg count", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(count=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(count=2)", + "expectedUiSchemaText": "Value\nword.words(count=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count"], + "origins": ["arg"], + "scenarioId": "domain-word-words-arg-count" + }, + { + "id": "coverage:domain-word-words-arg-max", + "sourceType": "domain", + "command": "word.words", + "label": "word.words arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(max=3)", + "expectedUiSchemaText": "Value\nword.words(max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-word-words-arg-max" + }, + { + "id": "coverage:domain-word-words-pair-count-max", + "sourceType": "domain", + "command": "word.words", + "label": "word.words pair count/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(count=2, max=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(count=2, max=3)", + "expectedUiSchemaText": "Value\nword.words(count=2, max=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["pair"], + "scenarioId": "domain-word-words-pair-count-max" + } + ], + "runtimeScenarios": [ + { + "id": "runtime:custom-enum-base", + "sourceType": "enum", + "command": "", + "label": "enum", + "rows": [ + { + "name": "Status", + "sourceType": "enum", + "command": "", + "params": "", + "value": "active,inactive,pending" + } + ], + "expectedSchemaText": "Status\nactive,inactive,pending", + "expectedUiSchemaText": "Status\nenum(active,inactive,pending)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["custom"], + "scenarioId": "custom-enum-base" + }, + { + "id": "runtime:custom-enum-pairwise", + "sourceType": "enum", + "command": "", + "label": "enum pairwise", + "rows": [ + { + "name": "Status", + "sourceType": "enum", + "command": "", + "params": "", + "value": "active,inactive,pending" + }, + { + "name": "Priority", + "sourceType": "enum", + "command": "", + "params": "", + "value": "high,medium,low" + } + ], + "expectedSchemaText": "Status\nactive,inactive,pending\nPriority\nhigh,medium,low", + "expectedUiSchemaText": "Status\nenum(active,inactive,pending)\nPriority\nenum(high,medium,low)", + "expectedFileExtension": ".csv", + "pairwiseEligible": true, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["custom", "pairwise"], + "scenarioId": "custom-enum-pairwise" + }, + { + "id": "runtime:custom-literal-base", + "sourceType": "literal", + "command": "", + "label": "literal", + "rows": [ + { + "name": "Status", + "sourceType": "literal", + "command": "", + "params": "", + "value": "Pending" + } + ], + "expectedSchemaText": "Status\nliteral(Pending)", + "expectedUiSchemaText": "Status\nliteral(Pending)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["custom"], + "scenarioId": "custom-literal-base" + }, + { + "id": "runtime:custom-literal-empty", + "sourceType": "literal", + "command": "", + "label": "literal empty", + "rows": [ + { + "name": "Status", + "sourceType": "literal", + "command": "", + "params": "", + "value": "" + } + ], + "expectedSchemaText": "Status\nliteral(\"\")", + "expectedUiSchemaText": "Status\nliteral(\"\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["custom", "empty"], + "scenarioId": "custom-literal-empty" + }, + { + "id": "runtime:custom-regex-base", + "sourceType": "regex", + "command": "", + "label": "regex", + "rows": [ + { + "name": "Code", + "sourceType": "regex", + "command": "", + "params": "", + "value": "[A-Z]{2}[0-9]{2}" + } + ], + "expectedSchemaText": "Code\n[A-Z]{2}[0-9]{2}", + "expectedUiSchemaText": "Code\n[A-Z]{2}[0-9]{2}", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["custom"], + "scenarioId": "custom-regex-base" + }, + { + "id": "runtime:custom-regex-empty", + "sourceType": "regex", + "command": "", + "label": "regex empty", + "rows": [ + { + "name": "Code", + "sourceType": "regex", + "command": "", + "params": "", + "value": "" + } + ], + "expectedSchemaText": "Code\nregex(\"\")", + "expectedUiSchemaText": "Code\nregex(\"\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["custom", "empty"], + "scenarioId": "custom-regex-empty" + }, + { + "id": "runtime:faker-helpers-arrayElement-base", + "sourceType": "faker", + "command": "helpers.arrayElement", + "label": "helpers.arrayElement", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElement", + "params": "([\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-arrayElement-base" + }, + { + "id": "runtime:faker-helpers-arrayElement-example-1", + "sourceType": "faker", + "command": "helpers.arrayElement", + "label": "helpers.arrayElement example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElement", + "params": "([\"A\", \"B\", \"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\", \"C\"])", + "expectedUiSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\", \"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["array"], + "origins": ["example"], + "scenarioId": "faker-helpers-arrayElement-example-1" + }, + { + "id": "runtime:faker-helpers-arrayElement-arg-array", + "sourceType": "faker", + "command": "helpers.arrayElement", + "label": "helpers.arrayElement arg array", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElement", + "params": "([\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nhelpers.arrayElement([\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["array"], + "origins": ["arg"], + "scenarioId": "faker-helpers-arrayElement-arg-array" + }, + { + "id": "runtime:faker-helpers-arrayElements-base", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\", \"B\", \"C\"], 2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-arrayElements-base" + }, + { + "id": "runtime:faker-helpers-arrayElements-example-1", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\", \"B\", \"C\"], 2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\", \"C\"], 2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array", "count"], + "origins": ["example"], + "scenarioId": "faker-helpers-arrayElements-example-1" + }, + { + "id": "runtime:faker-helpers-arrayElements-example-2", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\",\"B\",\"C\"], 5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\",\"B\",\"C\"], 5)", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\",\"B\",\"C\"], 5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array", "count"], + "origins": ["example"], + "scenarioId": "faker-helpers-arrayElements-example-2" + }, + { + "id": "runtime:faker-helpers-arrayElements-arg-array", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements arg array", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array"], + "origins": ["arg"], + "scenarioId": "faker-helpers-arrayElements-arg-array" + }, + { + "id": "runtime:faker-helpers-arrayElements-arg-count", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements arg count", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\", \"B\"], 2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["count"], + "origins": ["arg"], + "scenarioId": "faker-helpers-arrayElements-arg-count" + }, + { + "id": "runtime:faker-helpers-arrayElements-pair-array-count", + "sourceType": "faker", + "command": "helpers.arrayElements", + "label": "helpers.arrayElements pair array/count", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.arrayElements", + "params": "([\"A\", \"B\"], 2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", + "expectedUiSchemaText": "Value\nhelpers.arrayElements([\"A\", \"B\"], 2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array", "count"], + "origins": ["pair"], + "scenarioId": "faker-helpers-arrayElements-pair-array-count" + }, + { + "id": "runtime:faker-helpers-fake-base", + "sourceType": "faker", + "command": "helpers.fake", + "label": "helpers.fake", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.fake", + "params": "(\"{{person.firstName}}\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.fake(\"{{person.firstName}}\")", + "expectedUiSchemaText": "Value\nhelpers.fake(\"{{person.firstName}}\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-fake-base" + }, + { + "id": "runtime:faker-helpers-fake-example-1", + "sourceType": "faker", + "command": "helpers.fake", + "label": "helpers.fake example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.fake", + "params": "(\"Hi, my name is {{person.firstName}} {{person.lastName}}!\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.fake(\"Hi, my name is {{person.firstName}} {{person.lastName}}!\")", + "expectedUiSchemaText": "Value\nhelpers.fake(\"Hi, my name is {{person.firstName}} {{person.lastName}}!\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["pattern"], + "origins": ["example"], + "scenarioId": "faker-helpers-fake-example-1" + }, + { + "id": "runtime:faker-helpers-fake-arg-pattern", + "sourceType": "faker", + "command": "helpers.fake", + "label": "helpers.fake arg pattern", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.fake", + "params": "(\"[A-Z]{2}\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.fake(\"[A-Z]{2}\")", + "expectedUiSchemaText": "Value\nhelpers.fake(\"[A-Z]{2}\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["pattern"], + "origins": ["arg"], + "scenarioId": "faker-helpers-fake-arg-pattern" + }, + { + "id": "runtime:faker-helpers-fromRegExp-base", + "sourceType": "faker", + "command": "helpers.fromRegExp", + "label": "helpers.fromRegExp", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.fromRegExp", + "params": "(\"[A-Z]{2}\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", + "expectedUiSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-fromRegExp-base" + }, + { + "id": "runtime:faker-helpers-fromRegExp-example-1", + "sourceType": "faker", + "command": "helpers.fromRegExp", + "label": "helpers.fromRegExp example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.fromRegExp", + "params": "(\"[A-Z]{2}[0-9]{2}\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}[0-9]{2}\")", + "expectedUiSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}[0-9]{2}\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["pattern"], + "origins": ["example"], + "scenarioId": "faker-helpers-fromRegExp-example-1" + }, + { + "id": "runtime:faker-helpers-fromRegExp-arg-pattern", + "sourceType": "faker", + "command": "helpers.fromRegExp", + "label": "helpers.fromRegExp arg pattern", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.fromRegExp", + "params": "(\"[A-Z]{2}\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", + "expectedUiSchemaText": "Value\nhelpers.fromRegExp(\"[A-Z]{2}\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["pattern"], + "origins": ["arg"], + "scenarioId": "faker-helpers-fromRegExp-arg-pattern" + }, + { + "id": "runtime:faker-helpers-mustache-base", + "sourceType": "faker", + "command": "helpers.mustache", + "label": "helpers.mustache", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.mustache", + "params": "(\"{{name}}\", { name: \"Ada\" })", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\", { name: \"Ada\" })", + "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\", { name: \"Ada\" })", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-mustache-base" + }, + { + "id": "runtime:faker-helpers-mustache-example-1", + "sourceType": "faker", + "command": "helpers.mustache", + "label": "helpers.mustache example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.mustache", + "params": "(\"Hello {{name}}\", { name: \"Ada\" })", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.mustache(\"Hello {{name}}\", { name: \"Ada\" })", + "expectedUiSchemaText": "Value\nhelpers.mustache(\"Hello {{name}}\", { name: \"Ada\" })", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["text", "data"], + "origins": ["example"], + "scenarioId": "faker-helpers-mustache-example-1" + }, + { + "id": "runtime:faker-helpers-mustache-arg-text", + "sourceType": "faker", + "command": "helpers.mustache", + "label": "helpers.mustache arg text", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.mustache", + "params": "(\"{{name}}\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\")", + "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["text"], + "origins": ["arg"], + "scenarioId": "faker-helpers-mustache-arg-text" + }, + { + "id": "runtime:faker-helpers-mustache-arg-data", + "sourceType": "faker", + "command": "helpers.mustache", + "label": "helpers.mustache arg data", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.mustache", + "params": "(\"{{name}}\", {})", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", + "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["data"], + "origins": ["arg"], + "scenarioId": "faker-helpers-mustache-arg-data" + }, + { + "id": "runtime:faker-helpers-mustache-pair-text-data", + "sourceType": "faker", + "command": "helpers.mustache", + "label": "helpers.mustache pair text/data", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.mustache", + "params": "(\"{{name}}\", {})", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", + "expectedUiSchemaText": "Value\nhelpers.mustache(\"{{name}}\", {})", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["text", "data"], + "origins": ["pair"], + "scenarioId": "faker-helpers-mustache-pair-text-data" + }, + { + "id": "runtime:faker-helpers-rangeToNumber-base", + "sourceType": "faker", + "command": "helpers.rangeToNumber", + "label": "helpers.rangeToNumber", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.rangeToNumber", + "params": "({ min: 1, max: 2 })", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", + "expectedUiSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-rangeToNumber-base" + }, + { + "id": "runtime:faker-helpers-rangeToNumber-example-1", + "sourceType": "faker", + "command": "helpers.rangeToNumber", + "label": "helpers.rangeToNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.rangeToNumber", + "params": "({ min: 1, max: 2 })", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", + "expectedUiSchemaText": "Value\nhelpers.rangeToNumber({ min: 1, max: 2 })", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["numberOrRange"], + "origins": ["example"], + "scenarioId": "faker-helpers-rangeToNumber-example-1" + }, + { + "id": "runtime:faker-helpers-rangeToNumber-arg-numberOrRange", + "sourceType": "faker", + "command": "helpers.rangeToNumber", + "label": "helpers.rangeToNumber arg numberOrRange", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.rangeToNumber", + "params": "(2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.rangeToNumber(2)", + "expectedUiSchemaText": "Value\nhelpers.rangeToNumber(2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["numberOrRange"], + "origins": ["arg"], + "scenarioId": "faker-helpers-rangeToNumber-arg-numberOrRange" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-base", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-base" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-example-1", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string", "symbol"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-1" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-example-2", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "(\"1234-[4-9]-##!!-L\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-[4-9]-##!!-L\")", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-[4-9]-##!!-L\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string", "symbol"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-2" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-example-3", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols example 3", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "(\"1234-****-****-L\", \"*\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-****-****-L\", \"*\")", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"1234-****-****-L\", \"*\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string", "symbol"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-example-3" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-arg-string", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols arg string", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "(\"helpers-replaceCreditCardSymbols-string\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\")", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["arg"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-arg-string" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-arg-symbol", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols arg symbol", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["symbol"], + "origins": ["arg"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-arg-symbol" + }, + { + "id": "runtime:faker-helpers-replaceCreditCardSymbols-pair-string-symbol", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "label": "helpers.replaceCreditCardSymbols pair string/symbol", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceCreditCardSymbols", + "params": "(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "expectedUiSchemaText": "Value\nhelpers.replaceCreditCardSymbols(\"helpers-replaceCreditCardSymbols-string\", \"helpers-replaceCreditCardSymbols-symbol\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string", "symbol"], + "origins": ["pair"], + "scenarioId": "faker-helpers-replaceCreditCardSymbols-pair-string-symbol" + }, + { + "id": "runtime:faker-helpers-replaceSymbols-base", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "label": "helpers.replaceSymbols", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedUiSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-replaceSymbols-base" + }, + { + "id": "runtime:faker-helpers-replaceSymbols-example-1", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "label": "helpers.replaceSymbols example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "params": "(\"##??-##\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceSymbols(\"##??-##\")", + "expectedUiSchemaText": "Value\nhelpers.replaceSymbols(\"##??-##\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceSymbols-example-1" + }, + { + "id": "runtime:faker-helpers-replaceSymbols-example-2", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "label": "helpers.replaceSymbols example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedUiSchemaText": "Value\nhelpers.replaceSymbols()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["example"], + "scenarioId": "faker-helpers-replaceSymbols-example-2" + }, + { + "id": "runtime:faker-helpers-replaceSymbols-arg-string", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "label": "helpers.replaceSymbols arg string", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.replaceSymbols", + "params": "(\"helpers-replaceSymbols-string\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.replaceSymbols(\"helpers-replaceSymbols-string\")", + "expectedUiSchemaText": "Value\nhelpers.replaceSymbols(\"helpers-replaceSymbols-string\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["arg"], + "scenarioId": "faker-helpers-replaceSymbols-arg-string" + }, + { + "id": "runtime:faker-helpers-shuffle-base", + "sourceType": "faker", + "command": "helpers.shuffle", + "label": "helpers.shuffle", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.shuffle", + "params": "([\"A\", \"B\", \"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", + "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-shuffle-base" + }, + { + "id": "runtime:faker-helpers-shuffle-example-1", + "sourceType": "faker", + "command": "helpers.shuffle", + "label": "helpers.shuffle example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.shuffle", + "params": "([\"A\", \"B\", \"C\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", + "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\", \"C\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array"], + "origins": ["example"], + "scenarioId": "faker-helpers-shuffle-example-1" + }, + { + "id": "runtime:faker-helpers-shuffle-arg-array", + "sourceType": "faker", + "command": "helpers.shuffle", + "label": "helpers.shuffle arg array", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.shuffle", + "params": "([\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nhelpers.shuffle([\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["array"], + "origins": ["arg"], + "scenarioId": "faker-helpers-shuffle-arg-array" + }, + { + "id": "runtime:faker-helpers-slugify-base", + "sourceType": "faker", + "command": "helpers.slugify", + "label": "helpers.slugify", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.slugify", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.slugify()", + "expectedUiSchemaText": "Value\nhelpers.slugify()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-slugify-base" + }, + { + "id": "runtime:faker-helpers-slugify-example-1", + "sourceType": "faker", + "command": "helpers.slugify", + "label": "helpers.slugify example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.slugify", + "params": "(\"Hello World 2026\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.slugify(\"Hello World 2026\")", + "expectedUiSchemaText": "Value\nhelpers.slugify(\"Hello World 2026\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["example"], + "scenarioId": "faker-helpers-slugify-example-1" + }, + { + "id": "runtime:faker-helpers-slugify-example-2", + "sourceType": "faker", + "command": "helpers.slugify", + "label": "helpers.slugify example 2", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.slugify", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.slugify()", + "expectedUiSchemaText": "Value\nhelpers.slugify()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["example"], + "scenarioId": "faker-helpers-slugify-example-2" + }, + { + "id": "runtime:faker-helpers-slugify-arg-string", + "sourceType": "faker", + "command": "helpers.slugify", + "label": "helpers.slugify arg string", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.slugify", + "params": "(\"helpers-slugify-string\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.slugify(\"helpers-slugify-string\")", + "expectedUiSchemaText": "Value\nhelpers.slugify(\"helpers-slugify-string\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["string"], + "origins": ["arg"], + "scenarioId": "faker-helpers-slugify-arg-string" + }, + { + "id": "runtime:faker-helpers-uniqueArray-base", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "label": "helpers.uniqueArray", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "params": "([\"A\", \"B\"], 4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-uniqueArray-base" + }, + { + "id": "runtime:faker-helpers-uniqueArray-example-1", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "label": "helpers.uniqueArray example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "params": "([\"red\", \"green\", \"blue\"], 2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.uniqueArray([\"red\", \"green\", \"blue\"], 2)", + "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"red\", \"green\", \"blue\"], 2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["source", "length"], + "origins": ["example"], + "scenarioId": "faker-helpers-uniqueArray-example-1" + }, + { + "id": "runtime:faker-helpers-uniqueArray-arg-source", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "label": "helpers.uniqueArray arg source", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "params": "([\"A\", \"B\"])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["source"], + "origins": ["arg"], + "scenarioId": "faker-helpers-uniqueArray-arg-source" + }, + { + "id": "runtime:faker-helpers-uniqueArray-arg-length", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "label": "helpers.uniqueArray arg length", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "params": "([\"A\", \"B\"], 4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "faker-helpers-uniqueArray-arg-length" + }, + { + "id": "runtime:faker-helpers-uniqueArray-pair-source-length", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "label": "helpers.uniqueArray pair source/length", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.uniqueArray", + "params": "([\"A\", \"B\"], 4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"A\", \"B\"], 4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": true, + "coveredArgs": ["source", "length"], + "origins": ["pair"], + "scenarioId": "faker-helpers-uniqueArray-pair-source-length" + }, + { + "id": "runtime:faker-helpers-weightedArrayElement-base", + "sourceType": "faker", + "command": "helpers.weightedArrayElement", + "label": "helpers.weightedArrayElement", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.weightedArrayElement", + "params": "([{ \"weight\": 1, \"value\": \"A\" }, { \"weight\": 2, \"value\": \"B\" }])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.weightedArrayElement([{ \"weight\": 1, \"value\": \"A\" }, { \"weight\": 2, \"value\": \"B\" }])", + "expectedUiSchemaText": "Value\nhelpers.weightedArrayElement([{ \"weight\": 1, \"value\": \"A\" }, { \"weight\": 2, \"value\": \"B\" }])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "faker-helpers-weightedArrayElement-base" + }, + { + "id": "runtime:faker-helpers-weightedArrayElement-example-1", + "sourceType": "faker", + "command": "helpers.weightedArrayElement", + "label": "helpers.weightedArrayElement example 1", + "rows": [ + { + "name": "Value", + "sourceType": "faker", + "command": "helpers.weightedArrayElement", + "params": "([{ weight: 5, value: \"sunny\" }, { weight: 1, value: \"rainy\" }])", + "value": "" + } + ], + "expectedSchemaText": "Value\nhelpers.weightedArrayElement([{ weight: 5, value: \"sunny\" }, { weight: 1, value: \"rainy\" }])", + "expectedUiSchemaText": "Value\nhelpers.weightedArrayElement([{ weight: 5, value: \"sunny\" }, { weight: 1, value: \"rainy\" }])", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["array"], + "origins": ["example"], + "scenarioId": "faker-helpers-weightedArrayElement-example-1" + }, + { + "id": "runtime:domain-airline-aircraftType-base", + "sourceType": "domain", + "command": "airline.aircraftType", + "label": "airline.aircraftType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.aircraftType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.aircraftType()", + "expectedUiSchemaText": "Value\nairline.aircraftType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airline-aircraftType-base" + }, + { + "id": "runtime:domain-airline-aircraftType-example-1", + "sourceType": "domain", + "command": "airline.aircraftType", + "label": "airline.aircraftType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.aircraftType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.aircraftType()", + "expectedUiSchemaText": "Value\nairline.aircraftType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-aircraftType-example-1" + }, + { + "id": "runtime:domain-airline-flightNumber-base", + "sourceType": "domain", + "command": "airline.flightNumber", + "label": "airline.flightNumber", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.flightNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.flightNumber()", + "expectedUiSchemaText": "Value\nairline.flightNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airline-flightNumber-base" + }, + { + "id": "runtime:domain-airline-flightNumber-example-1", + "sourceType": "domain", + "command": "airline.flightNumber", + "label": "airline.flightNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.flightNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.flightNumber()", + "expectedUiSchemaText": "Value\nairline.flightNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-flightNumber-example-1" + }, + { + "id": "runtime:domain-airline-iataCode-base", + "sourceType": "domain", + "command": "airline.iataCode", + "label": "airline.iataCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.iataCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.iataCode()", + "expectedUiSchemaText": "Value\nairline.iataCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airline-iataCode-base" + }, + { + "id": "runtime:domain-airline-iataCode-example-1", + "sourceType": "domain", + "command": "airline.iataCode", + "label": "airline.iataCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.iataCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.iataCode()", + "expectedUiSchemaText": "Value\nairline.iataCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-iataCode-example-1" + }, + { + "id": "runtime:domain-airline-name-base", + "sourceType": "domain", + "command": "airline.name", + "label": "airline.name", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.name()", + "expectedUiSchemaText": "Value\nairline.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airline-name-base" + }, + { + "id": "runtime:domain-airline-name-example-1", + "sourceType": "domain", + "command": "airline.name", + "label": "airline.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.name()", + "expectedUiSchemaText": "Value\nairline.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-name-example-1" + }, + { + "id": "runtime:domain-airline-recordLocator-base", + "sourceType": "domain", + "command": "airline.recordLocator", + "label": "airline.recordLocator", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.recordLocator", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.recordLocator()", + "expectedUiSchemaText": "Value\nairline.recordLocator()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airline-recordLocator-base" + }, + { + "id": "runtime:domain-airline-recordLocator-example-1", + "sourceType": "domain", + "command": "airline.recordLocator", + "label": "airline.recordLocator example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.recordLocator", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.recordLocator()", + "expectedUiSchemaText": "Value\nairline.recordLocator()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airline-recordLocator-example-1" + }, + { + "id": "runtime:domain-airline-seat-base", + "sourceType": "domain", + "command": "airline.seat", + "label": "airline.seat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.seat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.seat()", + "expectedUiSchemaText": "Value\nairline.seat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airline-seat-base" + }, + { + "id": "runtime:domain-airline-seat-example-1", + "sourceType": "domain", + "command": "airline.seat", + "label": "airline.seat example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.seat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.seat()", + "expectedUiSchemaText": "Value\nairline.seat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["aircraftType"], + "origins": ["example"], + "scenarioId": "domain-airline-seat-example-1" + }, + { + "id": "runtime:domain-airline-seat-example-2", + "sourceType": "domain", + "command": "airline.seat", + "label": "airline.seat example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.seat", + "params": "(aircraftType=\"widebody\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", + "expectedUiSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["aircraftType"], + "origins": ["example"], + "scenarioId": "domain-airline-seat-example-2" + }, + { + "id": "runtime:domain-airline-seat-example-3", + "sourceType": "domain", + "command": "airline.seat", + "label": "airline.seat example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.seat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.seat()", + "expectedUiSchemaText": "Value\nairline.seat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["aircraftType"], + "origins": ["example"], + "scenarioId": "domain-airline-seat-example-3" + }, + { + "id": "runtime:domain-airline-seat-arg-aircraftType", + "sourceType": "domain", + "command": "airline.seat", + "label": "airline.seat arg aircraftType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airline.seat", + "params": "(aircraftType=\"widebody\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", + "expectedUiSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["aircraftType"], + "origins": ["arg"], + "scenarioId": "domain-airline-seat-arg-aircraftType" + }, + { + "id": "runtime:domain-airplane-iataTypeCode-base", + "sourceType": "domain", + "command": "airplane.iataTypeCode", + "label": "airplane.iataTypeCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airplane.iataTypeCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairplane.iataTypeCode()", + "expectedUiSchemaText": "Value\nairplane.iataTypeCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airplane-iataTypeCode-base" + }, + { + "id": "runtime:domain-airplane-iataTypeCode-example-1", + "sourceType": "domain", + "command": "airplane.iataTypeCode", + "label": "airplane.iataTypeCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airplane.iataTypeCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairplane.iataTypeCode()", + "expectedUiSchemaText": "Value\nairplane.iataTypeCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airplane-iataTypeCode-example-1" + }, + { + "id": "runtime:domain-airplane-name-base", + "sourceType": "domain", + "command": "airplane.name", + "label": "airplane.name", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airplane.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairplane.name()", + "expectedUiSchemaText": "Value\nairplane.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airplane-name-base" + }, + { + "id": "runtime:domain-airplane-name-example-1", + "sourceType": "domain", + "command": "airplane.name", + "label": "airplane.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airplane.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairplane.name()", + "expectedUiSchemaText": "Value\nairplane.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airplane-name-example-1" + }, + { + "id": "runtime:domain-airport-iataCode-base", + "sourceType": "domain", + "command": "airport.iataCode", + "label": "airport.iataCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airport.iataCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairport.iataCode()", + "expectedUiSchemaText": "Value\nairport.iataCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airport-iataCode-base" + }, + { + "id": "runtime:domain-airport-iataCode-example-1", + "sourceType": "domain", + "command": "airport.iataCode", + "label": "airport.iataCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airport.iataCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairport.iataCode()", + "expectedUiSchemaText": "Value\nairport.iataCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airport-iataCode-example-1" + }, + { + "id": "runtime:domain-airport-name-base", + "sourceType": "domain", + "command": "airport.name", + "label": "airport.name", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airport.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairport.name()", + "expectedUiSchemaText": "Value\nairport.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-airport-name-base" + }, + { + "id": "runtime:domain-airport-name-example-1", + "sourceType": "domain", + "command": "airport.name", + "label": "airport.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "airport.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nairport.name()", + "expectedUiSchemaText": "Value\nairport.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-airport-name-example-1" + }, + { + "id": "runtime:domain-animal-bear-base", + "sourceType": "domain", + "command": "animal.bear", + "label": "animal.bear", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.bear", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.bear()", + "expectedUiSchemaText": "Value\nanimal.bear()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-bear-base" + }, + { + "id": "runtime:domain-animal-bear-example-1", + "sourceType": "domain", + "command": "animal.bear", + "label": "animal.bear example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.bear", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.bear()", + "expectedUiSchemaText": "Value\nanimal.bear()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-bear-example-1" + }, + { + "id": "runtime:domain-animal-bird-base", + "sourceType": "domain", + "command": "animal.bird", + "label": "animal.bird", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.bird", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.bird()", + "expectedUiSchemaText": "Value\nanimal.bird()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-bird-base" + }, + { + "id": "runtime:domain-animal-bird-example-1", + "sourceType": "domain", + "command": "animal.bird", + "label": "animal.bird example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.bird", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.bird()", + "expectedUiSchemaText": "Value\nanimal.bird()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-bird-example-1" + }, + { + "id": "runtime:domain-animal-cat-base", + "sourceType": "domain", + "command": "animal.cat", + "label": "animal.cat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cat()", + "expectedUiSchemaText": "Value\nanimal.cat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-cat-base" + }, + { + "id": "runtime:domain-animal-cat-example-1", + "sourceType": "domain", + "command": "animal.cat", + "label": "animal.cat example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cat()", + "expectedUiSchemaText": "Value\nanimal.cat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-cat-example-1" + }, + { + "id": "runtime:domain-animal-cetacean-base", + "sourceType": "domain", + "command": "animal.cetacean", + "label": "animal.cetacean", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cetacean", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cetacean()", + "expectedUiSchemaText": "Value\nanimal.cetacean()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-cetacean-base" + }, + { + "id": "runtime:domain-animal-cetacean-example-1", + "sourceType": "domain", + "command": "animal.cetacean", + "label": "animal.cetacean example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cetacean", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cetacean()", + "expectedUiSchemaText": "Value\nanimal.cetacean()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-cetacean-example-1" + }, + { + "id": "runtime:domain-animal-cow-base", + "sourceType": "domain", + "command": "animal.cow", + "label": "animal.cow", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cow", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cow()", + "expectedUiSchemaText": "Value\nanimal.cow()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-cow-base" + }, + { + "id": "runtime:domain-animal-cow-example-1", + "sourceType": "domain", + "command": "animal.cow", + "label": "animal.cow example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.cow", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.cow()", + "expectedUiSchemaText": "Value\nanimal.cow()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-cow-example-1" + }, + { + "id": "runtime:domain-animal-crocodilia-base", + "sourceType": "domain", + "command": "animal.crocodilia", + "label": "animal.crocodilia", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.crocodilia", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.crocodilia()", + "expectedUiSchemaText": "Value\nanimal.crocodilia()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-crocodilia-base" + }, + { + "id": "runtime:domain-animal-crocodilia-example-1", + "sourceType": "domain", + "command": "animal.crocodilia", + "label": "animal.crocodilia example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.crocodilia", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.crocodilia()", + "expectedUiSchemaText": "Value\nanimal.crocodilia()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-crocodilia-example-1" + }, + { + "id": "runtime:domain-animal-dog-base", + "sourceType": "domain", + "command": "animal.dog", + "label": "animal.dog", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.dog", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.dog()", + "expectedUiSchemaText": "Value\nanimal.dog()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-dog-base" + }, + { + "id": "runtime:domain-animal-dog-example-1", + "sourceType": "domain", + "command": "animal.dog", + "label": "animal.dog example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.dog", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.dog()", + "expectedUiSchemaText": "Value\nanimal.dog()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-dog-example-1" + }, + { + "id": "runtime:domain-animal-fish-base", + "sourceType": "domain", + "command": "animal.fish", + "label": "animal.fish", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.fish", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.fish()", + "expectedUiSchemaText": "Value\nanimal.fish()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-fish-base" + }, + { + "id": "runtime:domain-animal-fish-example-1", + "sourceType": "domain", + "command": "animal.fish", + "label": "animal.fish example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.fish", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.fish()", + "expectedUiSchemaText": "Value\nanimal.fish()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-fish-example-1" + }, + { + "id": "runtime:domain-animal-horse-base", + "sourceType": "domain", + "command": "animal.horse", + "label": "animal.horse", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.horse", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.horse()", + "expectedUiSchemaText": "Value\nanimal.horse()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-horse-base" + }, + { + "id": "runtime:domain-animal-horse-example-1", + "sourceType": "domain", + "command": "animal.horse", + "label": "animal.horse example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.horse", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.horse()", + "expectedUiSchemaText": "Value\nanimal.horse()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-horse-example-1" + }, + { + "id": "runtime:domain-animal-insect-base", + "sourceType": "domain", + "command": "animal.insect", + "label": "animal.insect", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.insect", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.insect()", + "expectedUiSchemaText": "Value\nanimal.insect()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-insect-base" + }, + { + "id": "runtime:domain-animal-insect-example-1", + "sourceType": "domain", + "command": "animal.insect", + "label": "animal.insect example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.insect", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.insect()", + "expectedUiSchemaText": "Value\nanimal.insect()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-insect-example-1" + }, + { + "id": "runtime:domain-animal-lion-base", + "sourceType": "domain", + "command": "animal.lion", + "label": "animal.lion", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.lion", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.lion()", + "expectedUiSchemaText": "Value\nanimal.lion()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-lion-base" + }, + { + "id": "runtime:domain-animal-lion-example-1", + "sourceType": "domain", + "command": "animal.lion", + "label": "animal.lion example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.lion", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.lion()", + "expectedUiSchemaText": "Value\nanimal.lion()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-lion-example-1" + }, + { + "id": "runtime:domain-animal-petName-base", + "sourceType": "domain", + "command": "animal.petName", + "label": "animal.petName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.petName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.petName()", + "expectedUiSchemaText": "Value\nanimal.petName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-petName-base" + }, + { + "id": "runtime:domain-animal-petName-example-1", + "sourceType": "domain", + "command": "animal.petName", + "label": "animal.petName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.petName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.petName()", + "expectedUiSchemaText": "Value\nanimal.petName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-petName-example-1" + }, + { + "id": "runtime:domain-animal-rabbit-base", + "sourceType": "domain", + "command": "animal.rabbit", + "label": "animal.rabbit", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.rabbit", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.rabbit()", + "expectedUiSchemaText": "Value\nanimal.rabbit()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-rabbit-base" + }, + { + "id": "runtime:domain-animal-rabbit-example-1", + "sourceType": "domain", + "command": "animal.rabbit", + "label": "animal.rabbit example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.rabbit", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.rabbit()", + "expectedUiSchemaText": "Value\nanimal.rabbit()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-rabbit-example-1" + }, + { + "id": "runtime:domain-animal-rodent-base", + "sourceType": "domain", + "command": "animal.rodent", + "label": "animal.rodent", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.rodent", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.rodent()", + "expectedUiSchemaText": "Value\nanimal.rodent()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-rodent-base" + }, + { + "id": "runtime:domain-animal-rodent-example-1", + "sourceType": "domain", + "command": "animal.rodent", + "label": "animal.rodent example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.rodent", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.rodent()", + "expectedUiSchemaText": "Value\nanimal.rodent()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-rodent-example-1" + }, + { + "id": "runtime:domain-animal-snake-base", + "sourceType": "domain", + "command": "animal.snake", + "label": "animal.snake", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.snake", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.snake()", + "expectedUiSchemaText": "Value\nanimal.snake()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-snake-base" + }, + { + "id": "runtime:domain-animal-snake-example-1", + "sourceType": "domain", + "command": "animal.snake", + "label": "animal.snake example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.snake", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.snake()", + "expectedUiSchemaText": "Value\nanimal.snake()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-snake-example-1" + }, + { + "id": "runtime:domain-animal-type-base", + "sourceType": "domain", + "command": "animal.type", + "label": "animal.type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.type()", + "expectedUiSchemaText": "Value\nanimal.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-animal-type-base" + }, + { + "id": "runtime:domain-animal-type-example-1", + "sourceType": "domain", + "command": "animal.type", + "label": "animal.type example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "animal.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nanimal.type()", + "expectedUiSchemaText": "Value\nanimal.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-animal-type-example-1" + }, + { + "id": "runtime:domain-autoIncrement-sequence-base", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(1, 5, \"filename\", \".txt\", 3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(1, 5, \"filename\", \".txt\", 3)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(1, 5, \"filename\", \".txt\", 3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-autoIncrement-sequence-base" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-1", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence()", + "expectedUiSchemaText": "Value\nautoIncrement.sequence()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-1" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-2", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(start=10, step=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-2" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-3", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(start=1, step=5, prefix=\"filename\", suffix=\".txt\", zeropadding=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(start=1, step=5, prefix=\"filename\", suffix=\".txt\", zeropadding=3)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=1, step=5, prefix=\"filename\", suffix=\".txt\", zeropadding=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-3" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-4", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(start=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-4" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-5", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(step=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-5" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-6", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(prefix=\"filename\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-6" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-7", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 7", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(suffix=\".txt\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-7" + }, + { + "id": "runtime:domain-autoIncrement-sequence-example-8", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence example 8", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(zeropadding=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-sequence-example-8" + }, + { + "id": "runtime:domain-autoIncrement-sequence-arg-start", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence arg start", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(start=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-sequence-arg-start" + }, + { + "id": "runtime:domain-autoIncrement-sequence-arg-step", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence arg step", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(step=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["step"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-sequence-arg-step" + }, + { + "id": "runtime:domain-autoIncrement-sequence-arg-prefix", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence arg prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(prefix=\"filename\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-sequence-arg-prefix" + }, + { + "id": "runtime:domain-autoIncrement-sequence-arg-suffix", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence arg suffix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(suffix=\".txt\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["suffix"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-sequence-arg-suffix" + }, + { + "id": "runtime:domain-autoIncrement-sequence-arg-zeropadding", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence arg zeropadding", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(zeropadding=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["zeropadding"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-sequence-arg-zeropadding" + }, + { + "id": "runtime:domain-autoIncrement-sequence-pair-start-step", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence pair start/step", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(start=10, step=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-sequence-pair-start-step" + }, + { + "id": "runtime:domain-autoIncrement-sequence-pair-step-prefix", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence pair step/prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(step=5, prefix=\"filename\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(step=5, prefix=\"filename\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(step=5, prefix=\"filename\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["step", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-sequence-pair-step-prefix" + }, + { + "id": "runtime:domain-autoIncrement-sequence-pair-prefix-suffix", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence pair prefix/suffix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(prefix=\"filename\", suffix=\".txt\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\", suffix=\".txt\")", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\", suffix=\".txt\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix", "suffix"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-sequence-pair-prefix-suffix" + }, + { + "id": "runtime:domain-autoIncrement-sequence-pair-suffix-zeropadding", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "label": "autoIncrement.sequence pair suffix/zeropadding", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.sequence", + "params": "(suffix=\".txt\", zeropadding=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\", zeropadding=3)", + "expectedUiSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\", zeropadding=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["suffix", "zeropadding"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-sequence-pair-suffix-zeropadding" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-base", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp()", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-autoIncrement-timestamp-base" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-1", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12T12:39:23Z\", step=1, type=\"seconds\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1, type=\"seconds\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1, type=\"seconds\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-1" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-2", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp()", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-2" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-3", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"20/03/1969\", step=1, type=\"days\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-3" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-4", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-4" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-5", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\", step=1, type=\"days\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\", step=1, type=\"days\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\", step=1, type=\"days\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-5" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-6", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12T12:39:23Z\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-6" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-7", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 7", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(step=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-7" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-8", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 8", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(type=\"seconds\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-8" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-9", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 9", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(outputFormat=\"iso8601\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-9" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-example-10", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp example 10", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", inputFormat=\"dd/MM/yyyy\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "origins": ["example"], + "scenarioId": "domain-autoIncrement-timestamp-example-10" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-arg-start", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp arg start", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12T12:39:23Z\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-timestamp-arg-start" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-arg-step", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp arg step", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(step=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["step"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-timestamp-arg-step" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-arg-type", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp arg type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(type=\"seconds\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-timestamp-arg-type" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-arg-outputFormat", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp arg outputFormat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(outputFormat=\"iso8601\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["outputFormat"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-timestamp-arg-outputFormat" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-arg-inputFormat", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp arg inputFormat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(inputFormat=\"dd/MM/yyyy\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(inputFormat=\"dd/MM/yyyy\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(inputFormat=\"dd/MM/yyyy\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["inputFormat"], + "origins": ["arg"], + "scenarioId": "domain-autoIncrement-timestamp-arg-inputFormat" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-pair-start-step", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp pair start/step", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(start=\"2026-06-12T12:39:23Z\", step=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1)", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["start", "step"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-timestamp-pair-start-step" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-pair-step-type", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp pair step/type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(step=1, type=\"seconds\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(step=1, type=\"seconds\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(step=1, type=\"seconds\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["step", "type"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-timestamp-pair-step-type" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-pair-type-outputFormat", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp pair type/outputFormat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(type=\"seconds\", outputFormat=\"iso8601\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\", outputFormat=\"iso8601\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\", outputFormat=\"iso8601\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type", "outputFormat"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-timestamp-pair-type-outputFormat" + }, + { + "id": "runtime:domain-autoIncrement-timestamp-pair-outputFormat-inputFormat", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "label": "autoIncrement.timestamp pair outputFormat/inputFormat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "autoIncrement.timestamp", + "params": "(outputFormat=\"iso8601\", inputFormat=\"dd/MM/yyyy\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\", inputFormat=\"dd/MM/yyyy\")", + "expectedUiSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\", inputFormat=\"dd/MM/yyyy\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["outputFormat", "inputFormat"], + "origins": ["pair"], + "scenarioId": "domain-autoIncrement-timestamp-pair-outputFormat-inputFormat" + }, + { + "id": "runtime:domain-book-author-base", + "sourceType": "domain", + "command": "book.author", + "label": "book.author", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.author", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.author()", + "expectedUiSchemaText": "Value\nbook.author()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-book-author-base" + }, + { + "id": "runtime:domain-book-author-example-1", + "sourceType": "domain", + "command": "book.author", + "label": "book.author example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.author", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.author()", + "expectedUiSchemaText": "Value\nbook.author()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-author-example-1" + }, + { + "id": "runtime:domain-book-format-base", + "sourceType": "domain", + "command": "book.format", + "label": "book.format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.format", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.format()", + "expectedUiSchemaText": "Value\nbook.format()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-book-format-base" + }, + { + "id": "runtime:domain-book-format-example-1", + "sourceType": "domain", + "command": "book.format", + "label": "book.format example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.format", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.format()", + "expectedUiSchemaText": "Value\nbook.format()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-format-example-1" + }, + { + "id": "runtime:domain-book-genre-base", + "sourceType": "domain", + "command": "book.genre", + "label": "book.genre", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.genre", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.genre()", + "expectedUiSchemaText": "Value\nbook.genre()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-book-genre-base" + }, + { + "id": "runtime:domain-book-genre-example-1", + "sourceType": "domain", + "command": "book.genre", + "label": "book.genre example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.genre", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.genre()", + "expectedUiSchemaText": "Value\nbook.genre()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-genre-example-1" + }, + { + "id": "runtime:domain-book-publisher-base", + "sourceType": "domain", + "command": "book.publisher", + "label": "book.publisher", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.publisher", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.publisher()", + "expectedUiSchemaText": "Value\nbook.publisher()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-book-publisher-base" + }, + { + "id": "runtime:domain-book-publisher-example-1", + "sourceType": "domain", + "command": "book.publisher", + "label": "book.publisher example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.publisher", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.publisher()", + "expectedUiSchemaText": "Value\nbook.publisher()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-publisher-example-1" + }, + { + "id": "runtime:domain-book-series-base", + "sourceType": "domain", + "command": "book.series", + "label": "book.series", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.series", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.series()", + "expectedUiSchemaText": "Value\nbook.series()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-book-series-base" + }, + { + "id": "runtime:domain-book-series-example-1", + "sourceType": "domain", + "command": "book.series", + "label": "book.series example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.series", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.series()", + "expectedUiSchemaText": "Value\nbook.series()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-series-example-1" + }, + { + "id": "runtime:domain-book-title-base", + "sourceType": "domain", + "command": "book.title", + "label": "book.title", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.title", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.title()", + "expectedUiSchemaText": "Value\nbook.title()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-book-title-base" + }, + { + "id": "runtime:domain-book-title-example-1", + "sourceType": "domain", + "command": "book.title", + "label": "book.title example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "book.title", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nbook.title()", + "expectedUiSchemaText": "Value\nbook.title()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-book-title-example-1" + }, + { + "id": "runtime:domain-chemicalElement-atomicNumber-base", + "sourceType": "domain", + "command": "chemicalElement.atomicNumber", + "label": "chemicalElement.atomicNumber", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.atomicNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedUiSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-chemicalElement-atomicNumber-base" + }, + { + "id": "runtime:domain-chemicalElement-atomicNumber-example-1", + "sourceType": "domain", + "command": "chemicalElement.atomicNumber", + "label": "chemicalElement.atomicNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.atomicNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedUiSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-chemicalElement-atomicNumber-example-1" + }, + { + "id": "runtime:domain-chemicalElement-name-base", + "sourceType": "domain", + "command": "chemicalElement.name", + "label": "chemicalElement.name", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.name()", + "expectedUiSchemaText": "Value\nchemicalElement.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-chemicalElement-name-base" + }, + { + "id": "runtime:domain-chemicalElement-name-example-1", + "sourceType": "domain", + "command": "chemicalElement.name", + "label": "chemicalElement.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.name()", + "expectedUiSchemaText": "Value\nchemicalElement.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-chemicalElement-name-example-1" + }, + { + "id": "runtime:domain-chemicalElement-symbol-base", + "sourceType": "domain", + "command": "chemicalElement.symbol", + "label": "chemicalElement.symbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.symbol", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.symbol()", + "expectedUiSchemaText": "Value\nchemicalElement.symbol()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-chemicalElement-symbol-base" + }, + { + "id": "runtime:domain-chemicalElement-symbol-example-1", + "sourceType": "domain", + "command": "chemicalElement.symbol", + "label": "chemicalElement.symbol example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "chemicalElement.symbol", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nchemicalElement.symbol()", + "expectedUiSchemaText": "Value\nchemicalElement.symbol()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-chemicalElement-symbol-example-1" + }, + { + "id": "runtime:domain-color-cmyk-base", + "sourceType": "domain", + "command": "color.cmyk", + "label": "color.cmyk", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cmyk", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cmyk()", + "expectedUiSchemaText": "Value\ncolor.cmyk()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-cmyk-base" + }, + { + "id": "runtime:domain-color-cmyk-example-1", + "sourceType": "domain", + "command": "color.cmyk", + "label": "color.cmyk example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cmyk", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cmyk()", + "expectedUiSchemaText": "Value\ncolor.cmyk()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-cmyk-example-1" + }, + { + "id": "runtime:domain-color-cmyk-example-2", + "sourceType": "domain", + "command": "color.cmyk", + "label": "color.cmyk example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cmyk", + "params": "(format=\"decimal\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cmyk(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.cmyk(format=\"decimal\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-cmyk-example-2" + }, + { + "id": "runtime:domain-color-cmyk-arg-format", + "sourceType": "domain", + "command": "color.cmyk", + "label": "color.cmyk arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cmyk", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cmyk(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.cmyk(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-cmyk-arg-format" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-base", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace()", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-colorByCSSColorSpace-base" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-example-1", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace()", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "space"], + "origins": ["example"], + "scenarioId": "domain-color-colorByCSSColorSpace-example-1" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-example-2", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "(format=\"decimal\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"decimal\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "space"], + "origins": ["example"], + "scenarioId": "domain-color-colorByCSSColorSpace-example-2" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-example-3", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "(space=\"display-p3\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"display-p3\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"display-p3\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "space"], + "origins": ["example"], + "scenarioId": "domain-color-colorByCSSColorSpace-example-3" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-arg-format", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-colorByCSSColorSpace-arg-format" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-arg-space", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace arg space", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "(space=\"sRGB\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"sRGB\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(space=\"sRGB\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["space"], + "origins": ["arg"], + "scenarioId": "domain-color-colorByCSSColorSpace-arg-space" + }, + { + "id": "runtime:domain-color-colorByCSSColorSpace-pair-format-space", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "label": "color.colorByCSSColorSpace pair format/space", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.colorByCSSColorSpace", + "params": "(format=\"css\", space=\"sRGB\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\", space=\"sRGB\")", + "expectedUiSchemaText": "Value\ncolor.colorByCSSColorSpace(format=\"css\", space=\"sRGB\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "space"], + "origins": ["pair"], + "scenarioId": "domain-color-colorByCSSColorSpace-pair-format-space" + }, + { + "id": "runtime:domain-color-cssSupportedFunction-base", + "sourceType": "domain", + "command": "color.cssSupportedFunction", + "label": "color.cssSupportedFunction", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cssSupportedFunction", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-cssSupportedFunction-base" + }, + { + "id": "runtime:domain-color-cssSupportedFunction-example-1", + "sourceType": "domain", + "command": "color.cssSupportedFunction", + "label": "color.cssSupportedFunction example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cssSupportedFunction", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-color-cssSupportedFunction-example-1" + }, + { + "id": "runtime:domain-color-cssSupportedSpace-base", + "sourceType": "domain", + "command": "color.cssSupportedSpace", + "label": "color.cssSupportedSpace", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cssSupportedSpace", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-cssSupportedSpace-base" + }, + { + "id": "runtime:domain-color-cssSupportedSpace-example-1", + "sourceType": "domain", + "command": "color.cssSupportedSpace", + "label": "color.cssSupportedSpace example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.cssSupportedSpace", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedUiSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-color-cssSupportedSpace-example-1" + }, + { + "id": "runtime:domain-color-hsl-base", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl()", + "expectedUiSchemaText": "Value\ncolor.hsl()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-hsl-base" + }, + { + "id": "runtime:domain-color-hsl-example-1", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl()", + "expectedUiSchemaText": "Value\ncolor.hsl()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-1" + }, + { + "id": "runtime:domain-color-hsl-example-2", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-2" + }, + { + "id": "runtime:domain-color-hsl-example-3", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "(includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-3" + }, + { + "id": "runtime:domain-color-hsl-example-4", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "(format=\"css\", includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "includeAlpha"], + "origins": ["example"], + "scenarioId": "domain-color-hsl-example-4" + }, + { + "id": "runtime:domain-color-hsl-arg-format", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-hsl-arg-format" + }, + { + "id": "runtime:domain-color-hsl-arg-includeAlpha", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl arg includeAlpha", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "(includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeAlpha"], + "origins": ["arg"], + "scenarioId": "domain-color-hsl-arg-includeAlpha" + }, + { + "id": "runtime:domain-color-hsl-pair-format-includeAlpha", + "sourceType": "domain", + "command": "color.hsl", + "label": "color.hsl pair format/includeAlpha", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hsl", + "params": "(format=\"css\", includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.hsl(format=\"css\", includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "includeAlpha"], + "origins": ["pair"], + "scenarioId": "domain-color-hsl-pair-format-includeAlpha" + }, + { + "id": "runtime:domain-color-human-base", + "sourceType": "domain", + "command": "color.human", + "label": "color.human", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.human", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.human()", + "expectedUiSchemaText": "Value\ncolor.human()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-human-base" + }, + { + "id": "runtime:domain-color-human-example-1", + "sourceType": "domain", + "command": "color.human", + "label": "color.human example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.human", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.human()", + "expectedUiSchemaText": "Value\ncolor.human()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-color-human-example-1" + }, + { + "id": "runtime:domain-color-hwb-base", + "sourceType": "domain", + "command": "color.hwb", + "label": "color.hwb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hwb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hwb()", + "expectedUiSchemaText": "Value\ncolor.hwb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-hwb-base" + }, + { + "id": "runtime:domain-color-hwb-example-1", + "sourceType": "domain", + "command": "color.hwb", + "label": "color.hwb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hwb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hwb()", + "expectedUiSchemaText": "Value\ncolor.hwb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-hwb-example-1" + }, + { + "id": "runtime:domain-color-hwb-example-2", + "sourceType": "domain", + "command": "color.hwb", + "label": "color.hwb example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hwb", + "params": "(format=\"decimal\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hwb(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.hwb(format=\"decimal\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-hwb-example-2" + }, + { + "id": "runtime:domain-color-hwb-arg-format", + "sourceType": "domain", + "command": "color.hwb", + "label": "color.hwb arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.hwb", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.hwb(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.hwb(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-hwb-arg-format" + }, + { + "id": "runtime:domain-color-lab-base", + "sourceType": "domain", + "command": "color.lab", + "label": "color.lab", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lab", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lab()", + "expectedUiSchemaText": "Value\ncolor.lab()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-lab-base" + }, + { + "id": "runtime:domain-color-lab-example-1", + "sourceType": "domain", + "command": "color.lab", + "label": "color.lab example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lab", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lab()", + "expectedUiSchemaText": "Value\ncolor.lab()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lab-example-1" + }, + { + "id": "runtime:domain-color-lab-example-2", + "sourceType": "domain", + "command": "color.lab", + "label": "color.lab example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lab", + "params": "(format=\"decimal\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lab(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.lab(format=\"decimal\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lab-example-2" + }, + { + "id": "runtime:domain-color-lab-arg-format", + "sourceType": "domain", + "command": "color.lab", + "label": "color.lab arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lab", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lab(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.lab(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-lab-arg-format" + }, + { + "id": "runtime:domain-color-lch-base", + "sourceType": "domain", + "command": "color.lch", + "label": "color.lch", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lch", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lch()", + "expectedUiSchemaText": "Value\ncolor.lch()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-lch-base" + }, + { + "id": "runtime:domain-color-lch-example-1", + "sourceType": "domain", + "command": "color.lch", + "label": "color.lch example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lch", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lch()", + "expectedUiSchemaText": "Value\ncolor.lch()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lch-example-1" + }, + { + "id": "runtime:domain-color-lch-example-2", + "sourceType": "domain", + "command": "color.lch", + "label": "color.lch example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lch", + "params": "(format=\"decimal\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lch(format=\"decimal\")", + "expectedUiSchemaText": "Value\ncolor.lch(format=\"decimal\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["example"], + "scenarioId": "domain-color-lch-example-2" + }, + { + "id": "runtime:domain-color-lch-arg-format", + "sourceType": "domain", + "command": "color.lch", + "label": "color.lch arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.lch", + "params": "(format=\"css\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.lch(format=\"css\")", + "expectedUiSchemaText": "Value\ncolor.lch(format=\"css\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-lch-arg-format" + }, + { + "id": "runtime:domain-color-rgb-base", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb()", + "expectedUiSchemaText": "Value\ncolor.rgb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-rgb-base" + }, + { + "id": "runtime:domain-color-rgb-example-1", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb()", + "expectedUiSchemaText": "Value\ncolor.rgb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-1" + }, + { + "id": "runtime:domain-color-rgb-example-2", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-2" + }, + { + "id": "runtime:domain-color-rgb-example-3", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(format=\"hex\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-3" + }, + { + "id": "runtime:domain-color-rgb-example-4", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-4" + }, + { + "id": "runtime:domain-color-rgb-example-5", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedUiSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "format", "includeAlpha", "prefix"], + "origins": ["example"], + "scenarioId": "domain-color-rgb-example-5" + }, + { + "id": "runtime:domain-color-rgb-arg-casing", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb arg casing", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(casing=\"upper\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-casing" + }, + { + "id": "runtime:domain-color-rgb-arg-format", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb arg format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(format=\"hex\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-format" + }, + { + "id": "runtime:domain-color-rgb-arg-includeAlpha", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb arg includeAlpha", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeAlpha"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-includeAlpha" + }, + { + "id": "runtime:domain-color-rgb-arg-prefix", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb arg prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedUiSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-color-rgb-arg-prefix" + }, + { + "id": "runtime:domain-color-rgb-pair-casing-format", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb pair casing/format", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(casing=\"upper\", format=\"hex\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", + "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["casing", "format"], + "origins": ["pair"], + "scenarioId": "domain-color-rgb-pair-casing-format" + }, + { + "id": "runtime:domain-color-rgb-pair-format-includeAlpha", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb pair format/includeAlpha", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(format=\"hex\", includeAlpha=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", + "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["format", "includeAlpha"], + "origins": ["pair"], + "scenarioId": "domain-color-rgb-pair-format-includeAlpha" + }, + { + "id": "runtime:domain-color-rgb-pair-includeAlpha-prefix", + "sourceType": "domain", + "command": "color.rgb", + "label": "color.rgb pair includeAlpha/prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.rgb", + "params": "(includeAlpha=true, prefix=\"#\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", + "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeAlpha", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-color-rgb-pair-includeAlpha-prefix" + }, + { + "id": "runtime:domain-color-space-base", + "sourceType": "domain", + "command": "color.space", + "label": "color.space", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.space", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.space()", + "expectedUiSchemaText": "Value\ncolor.space()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-color-space-base" + }, + { + "id": "runtime:domain-color-space-example-1", + "sourceType": "domain", + "command": "color.space", + "label": "color.space example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "color.space", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncolor.space()", + "expectedUiSchemaText": "Value\ncolor.space()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-color-space-example-1" + }, + { + "id": "runtime:domain-commerce-department-base", + "sourceType": "domain", + "command": "commerce.department", + "label": "commerce.department", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.department", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.department()", + "expectedUiSchemaText": "Value\ncommerce.department()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-department-base" + }, + { + "id": "runtime:domain-commerce-department-example-1", + "sourceType": "domain", + "command": "commerce.department", + "label": "commerce.department example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.department", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.department()", + "expectedUiSchemaText": "Value\ncommerce.department()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-department-example-1" + }, + { + "id": "runtime:domain-commerce-isbn-base", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn()", + "expectedUiSchemaText": "Value\ncommerce.isbn()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-isbn-base" + }, + { + "id": "runtime:domain-commerce-isbn-example-1", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn()", + "expectedUiSchemaText": "Value\ncommerce.isbn()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["separator", "variant"], + "origins": ["example"], + "scenarioId": "domain-commerce-isbn-example-1" + }, + { + "id": "runtime:domain-commerce-isbn-example-2", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "(separator=\"-\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["separator", "variant"], + "origins": ["example"], + "scenarioId": "domain-commerce-isbn-example-2" + }, + { + "id": "runtime:domain-commerce-isbn-example-3", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "(variant=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn(variant=10)", + "expectedUiSchemaText": "Value\ncommerce.isbn(variant=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["separator", "variant"], + "origins": ["example"], + "scenarioId": "domain-commerce-isbn-example-3" + }, + { + "id": "runtime:domain-commerce-isbn-arg-separator", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn arg separator", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "(separator=\"-\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["separator"], + "origins": ["arg"], + "scenarioId": "domain-commerce-isbn-arg-separator" + }, + { + "id": "runtime:domain-commerce-isbn-arg-variant", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn arg variant", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "(variant=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn(variant=10)", + "expectedUiSchemaText": "Value\ncommerce.isbn(variant=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["variant"], + "origins": ["arg"], + "scenarioId": "domain-commerce-isbn-arg-variant" + }, + { + "id": "runtime:domain-commerce-isbn-pair-separator-variant", + "sourceType": "domain", + "command": "commerce.isbn", + "label": "commerce.isbn pair separator/variant", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.isbn", + "params": "(separator=\"-\", variant=10)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=10)", + "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=10)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["separator", "variant"], + "origins": ["pair"], + "scenarioId": "domain-commerce-isbn-pair-separator-variant" + }, + { + "id": "runtime:domain-commerce-price-base", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price()", + "expectedUiSchemaText": "Value\ncommerce.price()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-price-base" + }, + { + "id": "runtime:domain-commerce-price-example-1", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(dec=2, max=10, min=1, symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-1" + }, + { + "id": "runtime:domain-commerce-price-example-2", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price()", + "expectedUiSchemaText": "Value\ncommerce.price()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-2" + }, + { + "id": "runtime:domain-commerce-price-example-3", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(dec=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(dec=2)", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-3" + }, + { + "id": "runtime:domain-commerce-price-example-4", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(max=100)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(max=100)", + "expectedUiSchemaText": "Value\ncommerce.price(max=100)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-4" + }, + { + "id": "runtime:domain-commerce-price-example-5", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(max=10, min=1)", + "expectedUiSchemaText": "Value\ncommerce.price(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-5" + }, + { + "id": "runtime:domain-commerce-price-example-6", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-commerce-price-example-6" + }, + { + "id": "runtime:domain-commerce-price-arg-dec", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price arg dec", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(dec=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(dec=2)", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec"], + "origins": ["arg"], + "scenarioId": "domain-commerce-price-arg-dec" + }, + { + "id": "runtime:domain-commerce-price-arg-max", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(max=100)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(max=100)", + "expectedUiSchemaText": "Value\ncommerce.price(max=100)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-commerce-price-arg-max" + }, + { + "id": "runtime:domain-commerce-price-arg-min", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(min=1)", + "expectedUiSchemaText": "Value\ncommerce.price(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-commerce-price-arg-min" + }, + { + "id": "runtime:domain-commerce-price-arg-symbol", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price arg symbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["symbol"], + "origins": ["arg"], + "scenarioId": "domain-commerce-price-arg-symbol" + }, + { + "id": "runtime:domain-commerce-price-pair-dec-max", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price pair dec/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(dec=2, max=100)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(dec=2, max=100)", + "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=100)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max"], + "origins": ["pair"], + "scenarioId": "domain-commerce-price-pair-dec-max" + }, + { + "id": "runtime:domain-commerce-price-pair-max-min", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price pair max/min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(max=100, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(max=100, min=1)", + "expectedUiSchemaText": "Value\ncommerce.price(max=100, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-commerce-price-pair-max-min" + }, + { + "id": "runtime:domain-commerce-price-pair-min-symbol", + "sourceType": "domain", + "command": "commerce.price", + "label": "commerce.price pair min/symbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.price", + "params": "(min=1, symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", + "expectedUiSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "symbol"], + "origins": ["pair"], + "scenarioId": "domain-commerce-price-pair-min-symbol" + }, + { + "id": "runtime:domain-commerce-product-base", + "sourceType": "domain", + "command": "commerce.product", + "label": "commerce.product", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.product", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.product()", + "expectedUiSchemaText": "Value\ncommerce.product()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-product-base" + }, + { + "id": "runtime:domain-commerce-product-example-1", + "sourceType": "domain", + "command": "commerce.product", + "label": "commerce.product example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.product", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.product()", + "expectedUiSchemaText": "Value\ncommerce.product()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-product-example-1" + }, + { + "id": "runtime:domain-commerce-productAdjective-base", + "sourceType": "domain", + "command": "commerce.productAdjective", + "label": "commerce.productAdjective", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productAdjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productAdjective()", + "expectedUiSchemaText": "Value\ncommerce.productAdjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-productAdjective-base" + }, + { + "id": "runtime:domain-commerce-productAdjective-example-1", + "sourceType": "domain", + "command": "commerce.productAdjective", + "label": "commerce.productAdjective example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productAdjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productAdjective()", + "expectedUiSchemaText": "Value\ncommerce.productAdjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productAdjective-example-1" + }, + { + "id": "runtime:domain-commerce-productDescription-base", + "sourceType": "domain", + "command": "commerce.productDescription", + "label": "commerce.productDescription", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productDescription", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productDescription()", + "expectedUiSchemaText": "Value\ncommerce.productDescription()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-productDescription-base" + }, + { + "id": "runtime:domain-commerce-productDescription-example-1", + "sourceType": "domain", + "command": "commerce.productDescription", + "label": "commerce.productDescription example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productDescription", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productDescription()", + "expectedUiSchemaText": "Value\ncommerce.productDescription()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productDescription-example-1" + }, + { + "id": "runtime:domain-commerce-productMaterial-base", + "sourceType": "domain", + "command": "commerce.productMaterial", + "label": "commerce.productMaterial", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productMaterial", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productMaterial()", + "expectedUiSchemaText": "Value\ncommerce.productMaterial()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-productMaterial-base" + }, + { + "id": "runtime:domain-commerce-productMaterial-example-1", + "sourceType": "domain", + "command": "commerce.productMaterial", + "label": "commerce.productMaterial example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productMaterial", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productMaterial()", + "expectedUiSchemaText": "Value\ncommerce.productMaterial()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productMaterial-example-1" + }, + { + "id": "runtime:domain-commerce-productName-base", + "sourceType": "domain", + "command": "commerce.productName", + "label": "commerce.productName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productName()", + "expectedUiSchemaText": "Value\ncommerce.productName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-productName-base" + }, + { + "id": "runtime:domain-commerce-productName-example-1", + "sourceType": "domain", + "command": "commerce.productName", + "label": "commerce.productName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.productName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.productName()", + "expectedUiSchemaText": "Value\ncommerce.productName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-commerce-productName-example-1" + }, + { + "id": "runtime:domain-commerce-upc-base", + "sourceType": "domain", + "command": "commerce.upc", + "label": "commerce.upc", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.upc", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.upc()", + "expectedUiSchemaText": "Value\ncommerce.upc()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-commerce-upc-base" + }, + { + "id": "runtime:domain-commerce-upc-example-1", + "sourceType": "domain", + "command": "commerce.upc", + "label": "commerce.upc example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.upc", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.upc()", + "expectedUiSchemaText": "Value\ncommerce.upc()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["example"], + "scenarioId": "domain-commerce-upc-example-1" + }, + { + "id": "runtime:domain-commerce-upc-example-2", + "sourceType": "domain", + "command": "commerce.upc", + "label": "commerce.upc example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.upc", + "params": "(prefix=\"01234\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedUiSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["example"], + "scenarioId": "domain-commerce-upc-example-2" + }, + { + "id": "runtime:domain-commerce-upc-arg-prefix", + "sourceType": "domain", + "command": "commerce.upc", + "label": "commerce.upc arg prefix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "commerce.upc", + "params": "(prefix=\"01234\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedUiSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-commerce-upc-arg-prefix" + }, + { + "id": "runtime:domain-company-buzzAdjective-base", + "sourceType": "domain", + "command": "company.buzzAdjective", + "label": "company.buzzAdjective", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzAdjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzAdjective()", + "expectedUiSchemaText": "Value\ncompany.buzzAdjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-buzzAdjective-base" + }, + { + "id": "runtime:domain-company-buzzAdjective-example-1", + "sourceType": "domain", + "command": "company.buzzAdjective", + "label": "company.buzzAdjective example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzAdjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzAdjective()", + "expectedUiSchemaText": "Value\ncompany.buzzAdjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzAdjective-example-1" + }, + { + "id": "runtime:domain-company-buzzNoun-base", + "sourceType": "domain", + "command": "company.buzzNoun", + "label": "company.buzzNoun", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzNoun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzNoun()", + "expectedUiSchemaText": "Value\ncompany.buzzNoun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-buzzNoun-base" + }, + { + "id": "runtime:domain-company-buzzNoun-example-1", + "sourceType": "domain", + "command": "company.buzzNoun", + "label": "company.buzzNoun example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzNoun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzNoun()", + "expectedUiSchemaText": "Value\ncompany.buzzNoun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzNoun-example-1" + }, + { + "id": "runtime:domain-company-buzzPhrase-base", + "sourceType": "domain", + "command": "company.buzzPhrase", + "label": "company.buzzPhrase", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzPhrase", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzPhrase()", + "expectedUiSchemaText": "Value\ncompany.buzzPhrase()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-buzzPhrase-base" + }, + { + "id": "runtime:domain-company-buzzPhrase-example-1", + "sourceType": "domain", + "command": "company.buzzPhrase", + "label": "company.buzzPhrase example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzPhrase", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzPhrase()", + "expectedUiSchemaText": "Value\ncompany.buzzPhrase()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzPhrase-example-1" + }, + { + "id": "runtime:domain-company-buzzVerb-base", + "sourceType": "domain", + "command": "company.buzzVerb", + "label": "company.buzzVerb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzVerb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzVerb()", + "expectedUiSchemaText": "Value\ncompany.buzzVerb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-buzzVerb-base" + }, + { + "id": "runtime:domain-company-buzzVerb-example-1", + "sourceType": "domain", + "command": "company.buzzVerb", + "label": "company.buzzVerb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.buzzVerb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.buzzVerb()", + "expectedUiSchemaText": "Value\ncompany.buzzVerb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-buzzVerb-example-1" + }, + { + "id": "runtime:domain-company-catchPhrase-base", + "sourceType": "domain", + "command": "company.catchPhrase", + "label": "company.catchPhrase", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhrase", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhrase()", + "expectedUiSchemaText": "Value\ncompany.catchPhrase()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-catchPhrase-base" + }, + { + "id": "runtime:domain-company-catchPhrase-example-1", + "sourceType": "domain", + "command": "company.catchPhrase", + "label": "company.catchPhrase example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhrase", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhrase()", + "expectedUiSchemaText": "Value\ncompany.catchPhrase()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhrase-example-1" + }, + { + "id": "runtime:domain-company-catchPhraseAdjective-base", + "sourceType": "domain", + "command": "company.catchPhraseAdjective", + "label": "company.catchPhraseAdjective", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhraseAdjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-catchPhraseAdjective-base" + }, + { + "id": "runtime:domain-company-catchPhraseAdjective-example-1", + "sourceType": "domain", + "command": "company.catchPhraseAdjective", + "label": "company.catchPhraseAdjective example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhraseAdjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhraseAdjective-example-1" + }, + { + "id": "runtime:domain-company-catchPhraseDescriptor-base", + "sourceType": "domain", + "command": "company.catchPhraseDescriptor", + "label": "company.catchPhraseDescriptor", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhraseDescriptor", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-catchPhraseDescriptor-base" + }, + { + "id": "runtime:domain-company-catchPhraseDescriptor-example-1", + "sourceType": "domain", + "command": "company.catchPhraseDescriptor", + "label": "company.catchPhraseDescriptor example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhraseDescriptor", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhraseDescriptor-example-1" + }, + { + "id": "runtime:domain-company-catchPhraseNoun-base", + "sourceType": "domain", + "command": "company.catchPhraseNoun", + "label": "company.catchPhraseNoun", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhraseNoun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-catchPhraseNoun-base" + }, + { + "id": "runtime:domain-company-catchPhraseNoun-example-1", + "sourceType": "domain", + "command": "company.catchPhraseNoun", + "label": "company.catchPhraseNoun example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.catchPhraseNoun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedUiSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-catchPhraseNoun-example-1" + }, + { + "id": "runtime:domain-company-name-base", + "sourceType": "domain", + "command": "company.name", + "label": "company.name", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.name()", + "expectedUiSchemaText": "Value\ncompany.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-company-name-base" + }, + { + "id": "runtime:domain-company-name-example-1", + "sourceType": "domain", + "command": "company.name", + "label": "company.name example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "company.name", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ncompany.name()", + "expectedUiSchemaText": "Value\ncompany.name()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-company-name-example-1" + }, + { + "id": "runtime:domain-database-collation-base", + "sourceType": "domain", + "command": "database.collation", + "label": "database.collation", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.collation", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.collation()", + "expectedUiSchemaText": "Value\ndatabase.collation()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-collation-base" + }, + { + "id": "runtime:domain-database-collation-example-1", + "sourceType": "domain", + "command": "database.collation", + "label": "database.collation example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.collation", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.collation()", + "expectedUiSchemaText": "Value\ndatabase.collation()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-collation-example-1" + }, + { + "id": "runtime:domain-database-column-base", + "sourceType": "domain", + "command": "database.column", + "label": "database.column", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.column", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.column()", + "expectedUiSchemaText": "Value\ndatabase.column()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-column-base" + }, + { + "id": "runtime:domain-database-column-example-1", + "sourceType": "domain", + "command": "database.column", + "label": "database.column example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.column", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.column()", + "expectedUiSchemaText": "Value\ndatabase.column()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-column-example-1" + }, + { + "id": "runtime:domain-database-engine-base", + "sourceType": "domain", + "command": "database.engine", + "label": "database.engine", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.engine", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.engine()", + "expectedUiSchemaText": "Value\ndatabase.engine()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-engine-base" + }, + { + "id": "runtime:domain-database-engine-example-1", + "sourceType": "domain", + "command": "database.engine", + "label": "database.engine example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.engine", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.engine()", + "expectedUiSchemaText": "Value\ndatabase.engine()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-engine-example-1" + }, + { + "id": "runtime:domain-database-mongodbObjectId-base", + "sourceType": "domain", + "command": "database.mongodbObjectId", + "label": "database.mongodbObjectId", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.mongodbObjectId", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedUiSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-mongodbObjectId-base" + }, + { + "id": "runtime:domain-database-mongodbObjectId-example-1", + "sourceType": "domain", + "command": "database.mongodbObjectId", + "label": "database.mongodbObjectId example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.mongodbObjectId", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedUiSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-mongodbObjectId-example-1" + }, + { + "id": "runtime:domain-database-type-base", + "sourceType": "domain", + "command": "database.type", + "label": "database.type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.type()", + "expectedUiSchemaText": "Value\ndatabase.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-database-type-base" + }, + { + "id": "runtime:domain-database-type-example-1", + "sourceType": "domain", + "command": "database.type", + "label": "database.type example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "database.type", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatabase.type()", + "expectedUiSchemaText": "Value\ndatabase.type()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-database-type-example-1" + }, + { + "id": "runtime:domain-datatype-boolean-base", + "sourceType": "domain", + "command": "datatype.boolean", + "label": "datatype.boolean", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "datatype.boolean", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatatype.boolean()", + "expectedUiSchemaText": "Value\ndatatype.boolean()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-datatype-boolean-base" + }, + { + "id": "runtime:domain-datatype-boolean-example-1", + "sourceType": "domain", + "command": "datatype.boolean", + "label": "datatype.boolean example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "datatype.boolean", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatatype.boolean()", + "expectedUiSchemaText": "Value\ndatatype.boolean()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["probability"], + "origins": ["example"], + "scenarioId": "domain-datatype-boolean-example-1" + }, + { + "id": "runtime:domain-datatype-boolean-example-2", + "sourceType": "domain", + "command": "datatype.boolean", + "label": "datatype.boolean example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "datatype.boolean", + "params": "(probability=0.5)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatatype.boolean(probability=0.5)", + "expectedUiSchemaText": "Value\ndatatype.boolean(probability=0.5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["probability"], + "origins": ["example"], + "scenarioId": "domain-datatype-boolean-example-2" + }, + { + "id": "runtime:domain-datatype-boolean-arg-probability", + "sourceType": "domain", + "command": "datatype.boolean", + "label": "datatype.boolean arg probability", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "datatype.boolean", + "params": "(probability=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatatype.boolean(probability=2)", + "expectedUiSchemaText": "Value\ndatatype.boolean(probability=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["probability"], + "origins": ["arg"], + "scenarioId": "domain-datatype-boolean-arg-probability" + }, + { + "id": "runtime:domain-datatype-enum-base", + "sourceType": "domain", + "command": "datatype.enum", + "label": "datatype.enum", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "datatype.enum", + "params": "(\"active\", \"inactive\", \"pending\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatatype.enum(\"active\", \"inactive\", \"pending\")", + "expectedUiSchemaText": "Value\nenum(\"active\", \"inactive\", \"pending\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-datatype-enum-base" + }, + { + "id": "runtime:domain-datatype-enum-arg-values", + "sourceType": "domain", + "command": "datatype.enum", + "label": "datatype.enum arg values", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "datatype.enum", + "params": "(values=\"comma-separated list\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndatatype.enum(values=\"comma-separated list\")", + "expectedUiSchemaText": "Value\nenum(values=\"comma-separated list\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["values"], + "origins": ["arg"], + "scenarioId": "domain-datatype-enum-arg-values" + }, + { + "id": "runtime:domain-date-anytime-base", + "sourceType": "domain", + "command": "date.anytime", + "label": "date.anytime", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.anytime", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.anytime()", + "expectedUiSchemaText": "Value\ndate.anytime()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-anytime-base" + }, + { + "id": "runtime:domain-date-anytime-example-1", + "sourceType": "domain", + "command": "date.anytime", + "label": "date.anytime example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.anytime", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.anytime()", + "expectedUiSchemaText": "Value\ndate.anytime()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-date-anytime-example-1" + }, + { + "id": "runtime:domain-date-anytime-example-2", + "sourceType": "domain", + "command": "date.anytime", + "label": "date.anytime example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.anytime", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-date-anytime-example-2" + }, + { + "id": "runtime:domain-date-anytime-arg-refDate", + "sourceType": "domain", + "command": "date.anytime", + "label": "date.anytime arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.anytime", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-anytime-arg-refDate" + }, + { + "id": "runtime:domain-date-between-base", + "sourceType": "domain", + "command": "date.between", + "label": "date.between", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.between", + "params": "(1577836800000, 1609372800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-between-base" + }, + { + "id": "runtime:domain-date-between-example-1", + "sourceType": "domain", + "command": "date.between", + "label": "date.between example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["from", "to"], + "origins": ["example"], + "scenarioId": "domain-date-between-example-1" + }, + { + "id": "runtime:domain-date-between-example-2", + "sourceType": "domain", + "command": "date.between", + "label": "date.between example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.between", + "params": "(from=1609459200000, to=1640995200000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.between(from=1609459200000, to=1640995200000)", + "expectedUiSchemaText": "Value\ndate.between(from=1609459200000, to=1640995200000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["from", "to"], + "origins": ["example"], + "scenarioId": "domain-date-between-example-2" + }, + { + "id": "runtime:domain-date-between-arg-from", + "sourceType": "domain", + "command": "date.between", + "label": "date.between arg from", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["from"], + "origins": ["arg"], + "scenarioId": "domain-date-between-arg-from" + }, + { + "id": "runtime:domain-date-between-arg-to", + "sourceType": "domain", + "command": "date.between", + "label": "date.between arg to", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["to"], + "origins": ["arg"], + "scenarioId": "domain-date-between-arg-to" + }, + { + "id": "runtime:domain-date-between-pair-from-to", + "sourceType": "domain", + "command": "date.between", + "label": "date.between pair from/to", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.between", + "params": "(from=1577836800000, to=1609372800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["from", "to"], + "origins": ["pair"], + "scenarioId": "domain-date-between-pair-from-to" + }, + { + "id": "runtime:domain-date-birthdate-base", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate()", + "expectedUiSchemaText": "Value\ndate.birthdate()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-birthdate-base" + }, + { + "id": "runtime:domain-date-birthdate-example-1", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(refDate=20000, max=69, min=16, mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-1" + }, + { + "id": "runtime:domain-date-birthdate-example-2", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate()", + "expectedUiSchemaText": "Value\ndate.birthdate()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-2" + }, + { + "id": "runtime:domain-date-birthdate-example-3", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-3" + }, + { + "id": "runtime:domain-date-birthdate-example-4", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(max=65)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(max=65)", + "expectedUiSchemaText": "Value\ndate.birthdate(max=65)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-4" + }, + { + "id": "runtime:domain-date-birthdate-example-5", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(max=10, min=1)", + "expectedUiSchemaText": "Value\ndate.birthdate(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-5" + }, + { + "id": "runtime:domain-date-birthdate-example-6", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max", "min", "mode"], + "origins": ["example"], + "scenarioId": "domain-date-birthdate-example-6" + }, + { + "id": "runtime:domain-date-birthdate-arg-refDate", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-refDate" + }, + { + "id": "runtime:domain-date-birthdate-arg-max", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(max=65, min=18, mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-max" + }, + { + "id": "runtime:domain-date-birthdate-arg-min", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(min=18, max=65, mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-min" + }, + { + "id": "runtime:domain-date-birthdate-arg-mode", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate arg mode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(mode=\"age\", min=18, max=65)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", + "expectedUiSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["mode"], + "origins": ["arg"], + "scenarioId": "domain-date-birthdate-arg-mode" + }, + { + "id": "runtime:domain-date-birthdate-pair-refDate-max", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate pair refDate/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "max"], + "origins": ["pair"], + "scenarioId": "domain-date-birthdate-pair-refDate-max" + }, + { + "id": "runtime:domain-date-birthdate-pair-max-min", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate pair max/min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(max=65, min=18, mode=\"age\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-date-birthdate-pair-max-min" + }, + { + "id": "runtime:domain-date-birthdate-pair-min-mode", + "sourceType": "domain", + "command": "date.birthdate", + "label": "date.birthdate pair min/mode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.birthdate", + "params": "(min=18, mode=\"age\", max=65)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", + "expectedUiSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "mode"], + "origins": ["pair"], + "scenarioId": "domain-date-birthdate-pair-min-mode" + }, + { + "id": "runtime:domain-date-future-base", + "sourceType": "domain", + "command": "date.future", + "label": "date.future", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future()", + "expectedUiSchemaText": "Value\ndate.future()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-future-base" + }, + { + "id": "runtime:domain-date-future-example-1", + "sourceType": "domain", + "command": "date.future", + "label": "date.future example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future()", + "expectedUiSchemaText": "Value\ndate.future()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-future-example-1" + }, + { + "id": "runtime:domain-date-future-example-2", + "sourceType": "domain", + "command": "date.future", + "label": "date.future example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-future-example-2" + }, + { + "id": "runtime:domain-date-future-example-3", + "sourceType": "domain", + "command": "date.future", + "label": "date.future example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "(years=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future(years=2)", + "expectedUiSchemaText": "Value\ndate.future(years=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-future-example-3" + }, + { + "id": "runtime:domain-date-future-arg-refDate", + "sourceType": "domain", + "command": "date.future", + "label": "date.future arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-future-arg-refDate" + }, + { + "id": "runtime:domain-date-future-arg-years", + "sourceType": "domain", + "command": "date.future", + "label": "date.future arg years", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "(years=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future(years=2)", + "expectedUiSchemaText": "Value\ndate.future(years=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["years"], + "origins": ["arg"], + "scenarioId": "domain-date-future-arg-years" + }, + { + "id": "runtime:domain-date-future-pair-refDate-years", + "sourceType": "domain", + "command": "date.future", + "label": "date.future pair refDate/years", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.future", + "params": "(refDate=1577836800000, years=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", + "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["pair"], + "scenarioId": "domain-date-future-pair-refDate-years" + }, + { + "id": "runtime:domain-date-month-base", + "sourceType": "domain", + "command": "date.month", + "label": "date.month", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month()", + "expectedUiSchemaText": "Value\ndate.month()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-month-base" + }, + { + "id": "runtime:domain-date-month-example-1", + "sourceType": "domain", + "command": "date.month", + "label": "date.month example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month()", + "expectedUiSchemaText": "Value\ndate.month()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-month-example-1" + }, + { + "id": "runtime:domain-date-month-example-2", + "sourceType": "domain", + "command": "date.month", + "label": "date.month example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "(abbreviated=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-month-example-2" + }, + { + "id": "runtime:domain-date-month-example-3", + "sourceType": "domain", + "command": "date.month", + "label": "date.month example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "(context=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month(context=true)", + "expectedUiSchemaText": "Value\ndate.month(context=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-month-example-3" + }, + { + "id": "runtime:domain-date-month-arg-abbreviated", + "sourceType": "domain", + "command": "date.month", + "label": "date.month arg abbreviated", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "(abbreviated=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated"], + "origins": ["arg"], + "scenarioId": "domain-date-month-arg-abbreviated" + }, + { + "id": "runtime:domain-date-month-arg-context", + "sourceType": "domain", + "command": "date.month", + "label": "date.month arg context", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "(context=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month(context=true)", + "expectedUiSchemaText": "Value\ndate.month(context=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["context"], + "origins": ["arg"], + "scenarioId": "domain-date-month-arg-context" + }, + { + "id": "runtime:domain-date-month-pair-abbreviated-context", + "sourceType": "domain", + "command": "date.month", + "label": "date.month pair abbreviated/context", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.month", + "params": "(abbreviated=true, context=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.month(abbreviated=true, context=true)", + "expectedUiSchemaText": "Value\ndate.month(abbreviated=true, context=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["pair"], + "scenarioId": "domain-date-month-pair-abbreviated-context" + }, + { + "id": "runtime:domain-date-past-base", + "sourceType": "domain", + "command": "date.past", + "label": "date.past", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past()", + "expectedUiSchemaText": "Value\ndate.past()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-past-base" + }, + { + "id": "runtime:domain-date-past-example-1", + "sourceType": "domain", + "command": "date.past", + "label": "date.past example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past()", + "expectedUiSchemaText": "Value\ndate.past()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-past-example-1" + }, + { + "id": "runtime:domain-date-past-example-2", + "sourceType": "domain", + "command": "date.past", + "label": "date.past example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-past-example-2" + }, + { + "id": "runtime:domain-date-past-example-3", + "sourceType": "domain", + "command": "date.past", + "label": "date.past example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "(years=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past(years=2)", + "expectedUiSchemaText": "Value\ndate.past(years=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["example"], + "scenarioId": "domain-date-past-example-3" + }, + { + "id": "runtime:domain-date-past-arg-refDate", + "sourceType": "domain", + "command": "date.past", + "label": "date.past arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-past-arg-refDate" + }, + { + "id": "runtime:domain-date-past-arg-years", + "sourceType": "domain", + "command": "date.past", + "label": "date.past arg years", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "(years=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past(years=2)", + "expectedUiSchemaText": "Value\ndate.past(years=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["years"], + "origins": ["arg"], + "scenarioId": "domain-date-past-arg-years" + }, + { + "id": "runtime:domain-date-past-pair-refDate-years", + "sourceType": "domain", + "command": "date.past", + "label": "date.past pair refDate/years", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.past", + "params": "(refDate=1577836800000, years=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", + "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate", "years"], + "origins": ["pair"], + "scenarioId": "domain-date-past-pair-refDate-years" + }, + { + "id": "runtime:domain-date-recent-base", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent()", + "expectedUiSchemaText": "Value\ndate.recent()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-recent-base" + }, + { + "id": "runtime:domain-date-recent-example-1", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent()", + "expectedUiSchemaText": "Value\ndate.recent()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-recent-example-1" + }, + { + "id": "runtime:domain-date-recent-example-2", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "(days=7)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent(days=7)", + "expectedUiSchemaText": "Value\ndate.recent(days=7)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-recent-example-2" + }, + { + "id": "runtime:domain-date-recent-example-3", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-recent-example-3" + }, + { + "id": "runtime:domain-date-recent-arg-days", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent arg days", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "(days=7)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent(days=7)", + "expectedUiSchemaText": "Value\ndate.recent(days=7)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days"], + "origins": ["arg"], + "scenarioId": "domain-date-recent-arg-days" + }, + { + "id": "runtime:domain-date-recent-arg-refDate", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-recent-arg-refDate" + }, + { + "id": "runtime:domain-date-recent-pair-days-refDate", + "sourceType": "domain", + "command": "date.recent", + "label": "date.recent pair days/refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.recent", + "params": "(days=7, refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["pair"], + "scenarioId": "domain-date-recent-pair-days-refDate" + }, + { + "id": "runtime:domain-date-soon-base", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon()", + "expectedUiSchemaText": "Value\ndate.soon()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-soon-base" + }, + { + "id": "runtime:domain-date-soon-example-1", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon()", + "expectedUiSchemaText": "Value\ndate.soon()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-soon-example-1" + }, + { + "id": "runtime:domain-date-soon-example-2", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "(days=7)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon(days=7)", + "expectedUiSchemaText": "Value\ndate.soon(days=7)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-soon-example-2" + }, + { + "id": "runtime:domain-date-soon-example-3", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["example"], + "scenarioId": "domain-date-soon-example-3" + }, + { + "id": "runtime:domain-date-soon-arg-days", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon arg days", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "(days=7)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon(days=7)", + "expectedUiSchemaText": "Value\ndate.soon(days=7)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days"], + "origins": ["arg"], + "scenarioId": "domain-date-soon-arg-days" + }, + { + "id": "runtime:domain-date-soon-arg-refDate", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon arg refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "(refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-date-soon-arg-refDate" + }, + { + "id": "runtime:domain-date-soon-pair-days-refDate", + "sourceType": "domain", + "command": "date.soon", + "label": "date.soon pair days/refDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.soon", + "params": "(days=7, refDate=1577836800000)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", + "expectedUiSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["days", "refDate"], + "origins": ["pair"], + "scenarioId": "domain-date-soon-pair-days-refDate" + }, + { + "id": "runtime:domain-date-timeZone-base", + "sourceType": "domain", + "command": "date.timeZone", + "label": "date.timeZone", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.timeZone", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.timeZone()", + "expectedUiSchemaText": "Value\ndate.timeZone()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-timeZone-base" + }, + { + "id": "runtime:domain-date-timeZone-example-1", + "sourceType": "domain", + "command": "date.timeZone", + "label": "date.timeZone example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.timeZone", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.timeZone()", + "expectedUiSchemaText": "Value\ndate.timeZone()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-date-timeZone-example-1" + }, + { + "id": "runtime:domain-date-weekday-base", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday()", + "expectedUiSchemaText": "Value\ndate.weekday()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-date-weekday-base" + }, + { + "id": "runtime:domain-date-weekday-example-1", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday()", + "expectedUiSchemaText": "Value\ndate.weekday()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-weekday-example-1" + }, + { + "id": "runtime:domain-date-weekday-example-2", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "(abbreviated=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-weekday-example-2" + }, + { + "id": "runtime:domain-date-weekday-example-3", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "(context=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday(context=true)", + "expectedUiSchemaText": "Value\ndate.weekday(context=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["example"], + "scenarioId": "domain-date-weekday-example-3" + }, + { + "id": "runtime:domain-date-weekday-arg-abbreviated", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday arg abbreviated", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "(abbreviated=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated"], + "origins": ["arg"], + "scenarioId": "domain-date-weekday-arg-abbreviated" + }, + { + "id": "runtime:domain-date-weekday-arg-context", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday arg context", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "(context=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday(context=true)", + "expectedUiSchemaText": "Value\ndate.weekday(context=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["context"], + "origins": ["arg"], + "scenarioId": "domain-date-weekday-arg-context" + }, + { + "id": "runtime:domain-date-weekday-pair-abbreviated-context", + "sourceType": "domain", + "command": "date.weekday", + "label": "date.weekday pair abbreviated/context", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "date.weekday", + "params": "(abbreviated=true, context=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", + "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["abbreviated", "context"], + "origins": ["pair"], + "scenarioId": "domain-date-weekday-pair-abbreviated-context" + }, + { + "id": "runtime:domain-finance-accountName-base", + "sourceType": "domain", + "command": "finance.accountName", + "label": "finance.accountName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.accountName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.accountName()", + "expectedUiSchemaText": "Value\nfinance.accountName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-accountName-base" + }, + { + "id": "runtime:domain-finance-accountName-example-1", + "sourceType": "domain", + "command": "finance.accountName", + "label": "finance.accountName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.accountName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.accountName()", + "expectedUiSchemaText": "Value\nfinance.accountName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-accountName-example-1" + }, + { + "id": "runtime:domain-finance-accountNumber-base", + "sourceType": "domain", + "command": "finance.accountNumber", + "label": "finance.accountNumber", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.accountNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.accountNumber()", + "expectedUiSchemaText": "Value\nfinance.accountNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-accountNumber-base" + }, + { + "id": "runtime:domain-finance-accountNumber-example-1", + "sourceType": "domain", + "command": "finance.accountNumber", + "label": "finance.accountNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.accountNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.accountNumber()", + "expectedUiSchemaText": "Value\nfinance.accountNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-accountNumber-example-1" + }, + { + "id": "runtime:domain-finance-accountNumber-example-2", + "sourceType": "domain", + "command": "finance.accountNumber", + "label": "finance.accountNumber example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.accountNumber", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.accountNumber(length=5)", + "expectedUiSchemaText": "Value\nfinance.accountNumber(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-accountNumber-example-2" + }, + { + "id": "runtime:domain-finance-accountNumber-arg-length", + "sourceType": "domain", + "command": "finance.accountNumber", + "label": "finance.accountNumber arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.accountNumber", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.accountNumber(length=4)", + "expectedUiSchemaText": "Value\nfinance.accountNumber(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-finance-accountNumber-arg-length" + }, + { + "id": "runtime:domain-finance-amount-base", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount()", + "expectedUiSchemaText": "Value\nfinance.amount()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-amount-base" + }, + { + "id": "runtime:domain-finance-amount-example-1", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount()", + "expectedUiSchemaText": "Value\nfinance.amount()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-1" + }, + { + "id": "runtime:domain-finance-amount-example-2", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(autoFormat=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-2" + }, + { + "id": "runtime:domain-finance-amount-example-3", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(dec=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(dec=2)", + "expectedUiSchemaText": "Value\nfinance.amount(dec=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-3" + }, + { + "id": "runtime:domain-finance-amount-example-4", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(max=100)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(max=100)", + "expectedUiSchemaText": "Value\nfinance.amount(max=100)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-4" + }, + { + "id": "runtime:domain-finance-amount-example-5", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(max=10, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(max=10, min=1)", + "expectedUiSchemaText": "Value\nfinance.amount(max=10, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-5" + }, + { + "id": "runtime:domain-finance-amount-example-6", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount example 6", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedUiSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec", "max", "min", "symbol"], + "origins": ["example"], + "scenarioId": "domain-finance-amount-example-6" + }, + { + "id": "runtime:domain-finance-amount-arg-autoFormat", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount arg autoFormat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(autoFormat=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-autoFormat" + }, + { + "id": "runtime:domain-finance-amount-arg-dec", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount arg dec", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(dec=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(dec=2)", + "expectedUiSchemaText": "Value\nfinance.amount(dec=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-dec" + }, + { + "id": "runtime:domain-finance-amount-arg-max", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount arg max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(max=100)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(max=100)", + "expectedUiSchemaText": "Value\nfinance.amount(max=100)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-max" + }, + { + "id": "runtime:domain-finance-amount-arg-min", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(min=1)", + "expectedUiSchemaText": "Value\nfinance.amount(min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-min" + }, + { + "id": "runtime:domain-finance-amount-arg-symbol", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount arg symbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedUiSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["symbol"], + "origins": ["arg"], + "scenarioId": "domain-finance-amount-arg-symbol" + }, + { + "id": "runtime:domain-finance-amount-pair-autoFormat-dec", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount pair autoFormat/dec", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(autoFormat=true, dec=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", + "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["autoFormat", "dec"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-autoFormat-dec" + }, + { + "id": "runtime:domain-finance-amount-pair-dec-max", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount pair dec/max", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(dec=2, max=100)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(dec=2, max=100)", + "expectedUiSchemaText": "Value\nfinance.amount(dec=2, max=100)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["dec", "max"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-dec-max" + }, + { + "id": "runtime:domain-finance-amount-pair-max-min", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount pair max/min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(max=100, min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(max=100, min=1)", + "expectedUiSchemaText": "Value\nfinance.amount(max=100, min=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-max-min" + }, + { + "id": "runtime:domain-finance-amount-pair-min-symbol", + "sourceType": "domain", + "command": "finance.amount", + "label": "finance.amount pair min/symbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.amount", + "params": "(min=1, symbol=\"$\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", + "expectedUiSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "symbol"], + "origins": ["pair"], + "scenarioId": "domain-finance-amount-pair-min-symbol" + }, + { + "id": "runtime:domain-finance-bic-base", + "sourceType": "domain", + "command": "finance.bic", + "label": "finance.bic", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bic", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bic()", + "expectedUiSchemaText": "Value\nfinance.bic()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-bic-base" + }, + { + "id": "runtime:domain-finance-bic-example-1", + "sourceType": "domain", + "command": "finance.bic", + "label": "finance.bic example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bic", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bic()", + "expectedUiSchemaText": "Value\nfinance.bic()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeBranchCode"], + "origins": ["example"], + "scenarioId": "domain-finance-bic-example-1" + }, + { + "id": "runtime:domain-finance-bic-example-2", + "sourceType": "domain", + "command": "finance.bic", + "label": "finance.bic example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bic", + "params": "(includeBranchCode=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedUiSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeBranchCode"], + "origins": ["example"], + "scenarioId": "domain-finance-bic-example-2" + }, + { + "id": "runtime:domain-finance-bic-arg-includeBranchCode", + "sourceType": "domain", + "command": "finance.bic", + "label": "finance.bic arg includeBranchCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bic", + "params": "(includeBranchCode=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedUiSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["includeBranchCode"], + "origins": ["arg"], + "scenarioId": "domain-finance-bic-arg-includeBranchCode" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-base", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-bitcoinAddress-base" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-example-1", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type", "network"], + "origins": ["example"], + "scenarioId": "domain-finance-bitcoinAddress-example-1" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-example-2", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "(type=\"bech32\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type", "network"], + "origins": ["example"], + "scenarioId": "domain-finance-bitcoinAddress-example-2" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-example-3", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "(network=\"testnet\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type", "network"], + "origins": ["example"], + "scenarioId": "domain-finance-bitcoinAddress-example-3" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-arg-type", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress arg type", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "(type=\"bech32\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type"], + "origins": ["arg"], + "scenarioId": "domain-finance-bitcoinAddress-arg-type" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-arg-network", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress arg network", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "(network=\"testnet\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(network=\"testnet\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["network"], + "origins": ["arg"], + "scenarioId": "domain-finance-bitcoinAddress-arg-network" + }, + { + "id": "runtime:domain-finance-bitcoinAddress-pair-type-network", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "label": "finance.bitcoinAddress pair type/network", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.bitcoinAddress", + "params": "(type=\"bech32\", network=\"testnet\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\", network=\"testnet\")", + "expectedUiSchemaText": "Value\nfinance.bitcoinAddress(type=\"bech32\", network=\"testnet\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["type", "network"], + "origins": ["pair"], + "scenarioId": "domain-finance-bitcoinAddress-pair-type-network" + }, + { + "id": "runtime:domain-finance-creditCardCVV-base", + "sourceType": "domain", + "command": "finance.creditCardCVV", + "label": "finance.creditCardCVV", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardCVV", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardCVV()", + "expectedUiSchemaText": "Value\nfinance.creditCardCVV()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-creditCardCVV-base" + }, + { + "id": "runtime:domain-finance-creditCardCVV-example-1", + "sourceType": "domain", + "command": "finance.creditCardCVV", + "label": "finance.creditCardCVV example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardCVV", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardCVV()", + "expectedUiSchemaText": "Value\nfinance.creditCardCVV()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardCVV-example-1" + }, + { + "id": "runtime:domain-finance-creditCardIssuer-base", + "sourceType": "domain", + "command": "finance.creditCardIssuer", + "label": "finance.creditCardIssuer", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardIssuer", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedUiSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-creditCardIssuer-base" + }, + { + "id": "runtime:domain-finance-creditCardIssuer-example-1", + "sourceType": "domain", + "command": "finance.creditCardIssuer", + "label": "finance.creditCardIssuer example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardIssuer", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedUiSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardIssuer-example-1" + }, + { + "id": "runtime:domain-finance-creditCardNumber-base", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardNumber()", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-creditCardNumber-base" + }, + { + "id": "runtime:domain-finance-creditCardNumber-example-1", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardNumber()", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["issuer"], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardNumber-example-1" + }, + { + "id": "runtime:domain-finance-creditCardNumber-example-2", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "params": "(issuer=\"Visa\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardNumber(issuer=\"Visa\")", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber(issuer=\"Visa\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["issuer"], + "origins": ["example"], + "scenarioId": "domain-finance-creditCardNumber-example-2" + }, + { + "id": "runtime:domain-finance-creditCardNumber-arg-issuer", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "label": "finance.creditCardNumber arg issuer", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.creditCardNumber", + "params": "(issuer=\"finance-creditCardNumber-issuer\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", + "expectedUiSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["issuer"], + "origins": ["arg"], + "scenarioId": "domain-finance-creditCardNumber-arg-issuer" + }, + { + "id": "runtime:domain-finance-currencyCode-base", + "sourceType": "domain", + "command": "finance.currencyCode", + "label": "finance.currencyCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencyCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencyCode()", + "expectedUiSchemaText": "Value\nfinance.currencyCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-currencyCode-base" + }, + { + "id": "runtime:domain-finance-currencyCode-example-1", + "sourceType": "domain", + "command": "finance.currencyCode", + "label": "finance.currencyCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencyCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencyCode()", + "expectedUiSchemaText": "Value\nfinance.currencyCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-currencyCode-example-1" + }, + { + "id": "runtime:domain-finance-currencyName-base", + "sourceType": "domain", + "command": "finance.currencyName", + "label": "finance.currencyName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencyName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencyName()", + "expectedUiSchemaText": "Value\nfinance.currencyName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-currencyName-base" + }, + { + "id": "runtime:domain-finance-currencyName-example-1", + "sourceType": "domain", + "command": "finance.currencyName", + "label": "finance.currencyName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencyName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencyName()", + "expectedUiSchemaText": "Value\nfinance.currencyName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-currencyName-example-1" + }, + { + "id": "runtime:domain-finance-currencyNumericCode-base", + "sourceType": "domain", + "command": "finance.currencyNumericCode", + "label": "finance.currencyNumericCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencyNumericCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedUiSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-currencyNumericCode-base" + }, + { + "id": "runtime:domain-finance-currencyNumericCode-example-1", + "sourceType": "domain", + "command": "finance.currencyNumericCode", + "label": "finance.currencyNumericCode example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencyNumericCode", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedUiSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-currencyNumericCode-example-1" + }, + { + "id": "runtime:domain-finance-currencySymbol-base", + "sourceType": "domain", + "command": "finance.currencySymbol", + "label": "finance.currencySymbol", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencySymbol", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencySymbol()", + "expectedUiSchemaText": "Value\nfinance.currencySymbol()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-currencySymbol-base" + }, + { + "id": "runtime:domain-finance-currencySymbol-example-1", + "sourceType": "domain", + "command": "finance.currencySymbol", + "label": "finance.currencySymbol example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.currencySymbol", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.currencySymbol()", + "expectedUiSchemaText": "Value\nfinance.currencySymbol()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-currencySymbol-example-1" + }, + { + "id": "runtime:domain-finance-ethereumAddress-base", + "sourceType": "domain", + "command": "finance.ethereumAddress", + "label": "finance.ethereumAddress", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.ethereumAddress", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.ethereumAddress()", + "expectedUiSchemaText": "Value\nfinance.ethereumAddress()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-ethereumAddress-base" + }, + { + "id": "runtime:domain-finance-ethereumAddress-example-1", + "sourceType": "domain", + "command": "finance.ethereumAddress", + "label": "finance.ethereumAddress example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.ethereumAddress", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.ethereumAddress()", + "expectedUiSchemaText": "Value\nfinance.ethereumAddress()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-ethereumAddress-example-1" + }, + { + "id": "runtime:domain-finance-iban-base", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban()", + "expectedUiSchemaText": "Value\nfinance.iban()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-iban-base" + }, + { + "id": "runtime:domain-finance-iban-example-1", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban()", + "expectedUiSchemaText": "Value\nfinance.iban()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["countryCode", "formatted"], + "origins": ["example"], + "scenarioId": "domain-finance-iban-example-1" + }, + { + "id": "runtime:domain-finance-iban-example-2", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "(countryCode=\"GB\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["countryCode", "formatted"], + "origins": ["example"], + "scenarioId": "domain-finance-iban-example-2" + }, + { + "id": "runtime:domain-finance-iban-example-3", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "(formatted=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedUiSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["countryCode", "formatted"], + "origins": ["example"], + "scenarioId": "domain-finance-iban-example-3" + }, + { + "id": "runtime:domain-finance-iban-arg-countryCode", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban arg countryCode", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "(countryCode=\"GB\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["countryCode"], + "origins": ["arg"], + "scenarioId": "domain-finance-iban-arg-countryCode" + }, + { + "id": "runtime:domain-finance-iban-arg-formatted", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban arg formatted", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "(formatted=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedUiSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["formatted"], + "origins": ["arg"], + "scenarioId": "domain-finance-iban-arg-formatted" + }, + { + "id": "runtime:domain-finance-iban-pair-countryCode-formatted", + "sourceType": "domain", + "command": "finance.iban", + "label": "finance.iban pair countryCode/formatted", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.iban", + "params": "(countryCode=\"GB\", formatted=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", + "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["countryCode", "formatted"], + "origins": ["pair"], + "scenarioId": "domain-finance-iban-pair-countryCode-formatted" + }, + { + "id": "runtime:domain-finance-litecoinAddress-base", + "sourceType": "domain", + "command": "finance.litecoinAddress", + "label": "finance.litecoinAddress", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.litecoinAddress", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.litecoinAddress()", + "expectedUiSchemaText": "Value\nfinance.litecoinAddress()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-litecoinAddress-base" + }, + { + "id": "runtime:domain-finance-litecoinAddress-example-1", + "sourceType": "domain", + "command": "finance.litecoinAddress", + "label": "finance.litecoinAddress example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.litecoinAddress", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.litecoinAddress()", + "expectedUiSchemaText": "Value\nfinance.litecoinAddress()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-litecoinAddress-example-1" + }, + { + "id": "runtime:domain-finance-pin-base", + "sourceType": "domain", + "command": "finance.pin", + "label": "finance.pin", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.pin", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.pin()", + "expectedUiSchemaText": "Value\nfinance.pin()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-pin-base" + }, + { + "id": "runtime:domain-finance-pin-example-1", + "sourceType": "domain", + "command": "finance.pin", + "label": "finance.pin example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.pin", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.pin()", + "expectedUiSchemaText": "Value\nfinance.pin()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-pin-example-1" + }, + { + "id": "runtime:domain-finance-pin-example-2", + "sourceType": "domain", + "command": "finance.pin", + "label": "finance.pin example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.pin", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.pin(length=5)", + "expectedUiSchemaText": "Value\nfinance.pin(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-finance-pin-example-2" + }, + { + "id": "runtime:domain-finance-pin-arg-length", + "sourceType": "domain", + "command": "finance.pin", + "label": "finance.pin arg length", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.pin", + "params": "(length=4)", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.pin(length=4)", + "expectedUiSchemaText": "Value\nfinance.pin(length=4)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-finance-pin-arg-length" + }, + { + "id": "runtime:domain-finance-routingNumber-base", + "sourceType": "domain", + "command": "finance.routingNumber", + "label": "finance.routingNumber", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.routingNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.routingNumber()", + "expectedUiSchemaText": "Value\nfinance.routingNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-routingNumber-base" + }, + { + "id": "runtime:domain-finance-routingNumber-example-1", + "sourceType": "domain", + "command": "finance.routingNumber", + "label": "finance.routingNumber example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.routingNumber", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.routingNumber()", + "expectedUiSchemaText": "Value\nfinance.routingNumber()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-routingNumber-example-1" + }, + { + "id": "runtime:domain-finance-transactionDescription-base", + "sourceType": "domain", + "command": "finance.transactionDescription", + "label": "finance.transactionDescription", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.transactionDescription", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.transactionDescription()", + "expectedUiSchemaText": "Value\nfinance.transactionDescription()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-transactionDescription-base" + }, + { + "id": "runtime:domain-finance-transactionDescription-example-1", + "sourceType": "domain", + "command": "finance.transactionDescription", + "label": "finance.transactionDescription example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.transactionDescription", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.transactionDescription()", + "expectedUiSchemaText": "Value\nfinance.transactionDescription()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-transactionDescription-example-1" + }, + { + "id": "runtime:domain-finance-transactionType-base", + "sourceType": "domain", + "command": "finance.transactionType", + "label": "finance.transactionType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.transactionType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.transactionType()", + "expectedUiSchemaText": "Value\nfinance.transactionType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-finance-transactionType-base" + }, + { + "id": "runtime:domain-finance-transactionType-example-1", + "sourceType": "domain", + "command": "finance.transactionType", + "label": "finance.transactionType example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "finance.transactionType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfinance.transactionType()", + "expectedUiSchemaText": "Value\nfinance.transactionType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-finance-transactionType-example-1" + }, + { + "id": "runtime:domain-food-adjective-base", + "sourceType": "domain", + "command": "food.adjective", + "label": "food.adjective", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.adjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.adjective()", + "expectedUiSchemaText": "Value\nfood.adjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-adjective-base" + }, + { + "id": "runtime:domain-food-adjective-example-1", + "sourceType": "domain", + "command": "food.adjective", + "label": "food.adjective example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.adjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.adjective()", + "expectedUiSchemaText": "Value\nfood.adjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-adjective-example-1" + }, + { + "id": "runtime:domain-food-description-base", + "sourceType": "domain", + "command": "food.description", + "label": "food.description", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.description", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.description()", + "expectedUiSchemaText": "Value\nfood.description()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-description-base" + }, + { + "id": "runtime:domain-food-description-example-1", + "sourceType": "domain", + "command": "food.description", + "label": "food.description example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.description", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.description()", + "expectedUiSchemaText": "Value\nfood.description()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-description-example-1" + }, + { + "id": "runtime:domain-food-dish-base", + "sourceType": "domain", + "command": "food.dish", + "label": "food.dish", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.dish", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.dish()", + "expectedUiSchemaText": "Value\nfood.dish()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-dish-base" + }, + { + "id": "runtime:domain-food-dish-example-1", + "sourceType": "domain", + "command": "food.dish", + "label": "food.dish example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.dish", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.dish()", + "expectedUiSchemaText": "Value\nfood.dish()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-dish-example-1" + }, + { + "id": "runtime:domain-food-ethnicCategory-base", + "sourceType": "domain", + "command": "food.ethnicCategory", + "label": "food.ethnicCategory", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.ethnicCategory", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.ethnicCategory()", + "expectedUiSchemaText": "Value\nfood.ethnicCategory()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-ethnicCategory-base" + }, + { + "id": "runtime:domain-food-ethnicCategory-example-1", + "sourceType": "domain", + "command": "food.ethnicCategory", + "label": "food.ethnicCategory example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.ethnicCategory", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.ethnicCategory()", + "expectedUiSchemaText": "Value\nfood.ethnicCategory()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-ethnicCategory-example-1" + }, + { + "id": "runtime:domain-food-fruit-base", + "sourceType": "domain", + "command": "food.fruit", + "label": "food.fruit", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.fruit", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.fruit()", + "expectedUiSchemaText": "Value\nfood.fruit()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-fruit-base" + }, + { + "id": "runtime:domain-food-fruit-example-1", + "sourceType": "domain", + "command": "food.fruit", + "label": "food.fruit example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.fruit", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.fruit()", + "expectedUiSchemaText": "Value\nfood.fruit()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-fruit-example-1" + }, + { + "id": "runtime:domain-food-ingredient-base", + "sourceType": "domain", + "command": "food.ingredient", + "label": "food.ingredient", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.ingredient", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.ingredient()", + "expectedUiSchemaText": "Value\nfood.ingredient()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-ingredient-base" + }, + { + "id": "runtime:domain-food-ingredient-example-1", + "sourceType": "domain", + "command": "food.ingredient", + "label": "food.ingredient example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.ingredient", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.ingredient()", + "expectedUiSchemaText": "Value\nfood.ingredient()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-ingredient-example-1" + }, + { + "id": "runtime:domain-food-meat-base", + "sourceType": "domain", + "command": "food.meat", + "label": "food.meat", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.meat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.meat()", + "expectedUiSchemaText": "Value\nfood.meat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-meat-base" + }, + { + "id": "runtime:domain-food-meat-example-1", + "sourceType": "domain", + "command": "food.meat", + "label": "food.meat example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.meat", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.meat()", + "expectedUiSchemaText": "Value\nfood.meat()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-meat-example-1" + }, + { + "id": "runtime:domain-food-spice-base", + "sourceType": "domain", + "command": "food.spice", + "label": "food.spice", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.spice", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.spice()", + "expectedUiSchemaText": "Value\nfood.spice()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-spice-base" + }, + { + "id": "runtime:domain-food-spice-example-1", + "sourceType": "domain", + "command": "food.spice", + "label": "food.spice example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.spice", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.spice()", + "expectedUiSchemaText": "Value\nfood.spice()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-spice-example-1" + }, + { + "id": "runtime:domain-food-vegetable-base", + "sourceType": "domain", + "command": "food.vegetable", + "label": "food.vegetable", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.vegetable", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.vegetable()", + "expectedUiSchemaText": "Value\nfood.vegetable()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-food-vegetable-base" + }, + { + "id": "runtime:domain-food-vegetable-example-1", + "sourceType": "domain", + "command": "food.vegetable", + "label": "food.vegetable example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "food.vegetable", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nfood.vegetable()", + "expectedUiSchemaText": "Value\nfood.vegetable()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-food-vegetable-example-1" + }, + { + "id": "runtime:domain-git-branch-base", + "sourceType": "domain", + "command": "git.branch", + "label": "git.branch", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.branch", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.branch()", + "expectedUiSchemaText": "Value\ngit.branch()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-branch-base" + }, + { + "id": "runtime:domain-git-branch-example-1", + "sourceType": "domain", + "command": "git.branch", + "label": "git.branch example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.branch", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.branch()", + "expectedUiSchemaText": "Value\ngit.branch()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-branch-example-1" + }, + { + "id": "runtime:domain-git-commitDate-base", + "sourceType": "domain", + "command": "git.commitDate", + "label": "git.commitDate", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitDate", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitDate()", + "expectedUiSchemaText": "Value\ngit.commitDate()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitDate-base" + }, + { + "id": "runtime:domain-git-commitDate-example-1", + "sourceType": "domain", + "command": "git.commitDate", + "label": "git.commitDate example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitDate", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitDate()", + "expectedUiSchemaText": "Value\ngit.commitDate()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitDate-example-1" + }, + { + "id": "runtime:domain-git-commitEntry-base", + "sourceType": "domain", + "command": "git.commitEntry", + "label": "git.commitEntry", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitEntry", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitEntry()", + "expectedUiSchemaText": "Value\ngit.commitEntry()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitEntry-base" + }, + { + "id": "runtime:domain-git-commitEntry-example-1", + "sourceType": "domain", + "command": "git.commitEntry", + "label": "git.commitEntry example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitEntry", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitEntry()", + "expectedUiSchemaText": "Value\ngit.commitEntry()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitEntry-example-1" + }, + { + "id": "runtime:domain-git-commitMessage-base", + "sourceType": "domain", + "command": "git.commitMessage", + "label": "git.commitMessage", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitMessage", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitMessage()", + "expectedUiSchemaText": "Value\ngit.commitMessage()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitMessage-base" + }, + { + "id": "runtime:domain-git-commitMessage-example-1", + "sourceType": "domain", + "command": "git.commitMessage", + "label": "git.commitMessage example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitMessage", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitMessage()", + "expectedUiSchemaText": "Value\ngit.commitMessage()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitMessage-example-1" + }, + { + "id": "runtime:domain-git-commitSha-base", + "sourceType": "domain", + "command": "git.commitSha", + "label": "git.commitSha", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitSha", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitSha()", + "expectedUiSchemaText": "Value\ngit.commitSha()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-git-commitSha-base" + }, + { + "id": "runtime:domain-git-commitSha-example-1", + "sourceType": "domain", + "command": "git.commitSha", + "label": "git.commitSha example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "git.commitSha", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ngit.commitSha()", + "expectedUiSchemaText": "Value\ngit.commitSha()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-git-commitSha-example-1" + }, + { + "id": "runtime:domain-hacker-abbreviation-base", + "sourceType": "domain", + "command": "hacker.abbreviation", + "label": "hacker.abbreviation", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.abbreviation", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.abbreviation()", + "expectedUiSchemaText": "Value\nhacker.abbreviation()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-abbreviation-base" + }, + { + "id": "runtime:domain-hacker-abbreviation-example-1", + "sourceType": "domain", + "command": "hacker.abbreviation", + "label": "hacker.abbreviation example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.abbreviation", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.abbreviation()", + "expectedUiSchemaText": "Value\nhacker.abbreviation()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-abbreviation-example-1" + }, + { + "id": "runtime:domain-hacker-adjective-base", + "sourceType": "domain", + "command": "hacker.adjective", + "label": "hacker.adjective", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.adjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.adjective()", + "expectedUiSchemaText": "Value\nhacker.adjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-adjective-base" + }, + { + "id": "runtime:domain-hacker-adjective-example-1", + "sourceType": "domain", + "command": "hacker.adjective", + "label": "hacker.adjective example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.adjective", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.adjective()", + "expectedUiSchemaText": "Value\nhacker.adjective()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-adjective-example-1" + }, + { + "id": "runtime:domain-hacker-ingverb-base", + "sourceType": "domain", + "command": "hacker.ingverb", + "label": "hacker.ingverb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.ingverb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.ingverb()", + "expectedUiSchemaText": "Value\nhacker.ingverb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-ingverb-base" + }, + { + "id": "runtime:domain-hacker-ingverb-example-1", + "sourceType": "domain", + "command": "hacker.ingverb", + "label": "hacker.ingverb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.ingverb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.ingverb()", + "expectedUiSchemaText": "Value\nhacker.ingverb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-ingverb-example-1" + }, + { + "id": "runtime:domain-hacker-noun-base", + "sourceType": "domain", + "command": "hacker.noun", + "label": "hacker.noun", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.noun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.noun()", + "expectedUiSchemaText": "Value\nhacker.noun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-noun-base" + }, + { + "id": "runtime:domain-hacker-noun-example-1", + "sourceType": "domain", + "command": "hacker.noun", + "label": "hacker.noun example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.noun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.noun()", + "expectedUiSchemaText": "Value\nhacker.noun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-noun-example-1" + }, + { + "id": "runtime:domain-hacker-phrase-base", + "sourceType": "domain", + "command": "hacker.phrase", + "label": "hacker.phrase", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.phrase", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.phrase()", + "expectedUiSchemaText": "Value\nhacker.phrase()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-phrase-base" + }, + { + "id": "runtime:domain-hacker-phrase-example-1", + "sourceType": "domain", + "command": "hacker.phrase", + "label": "hacker.phrase example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.phrase", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.phrase()", + "expectedUiSchemaText": "Value\nhacker.phrase()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-phrase-example-1" + }, + { + "id": "runtime:domain-hacker-verb-base", + "sourceType": "domain", + "command": "hacker.verb", + "label": "hacker.verb", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.verb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.verb()", + "expectedUiSchemaText": "Value\nhacker.verb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-hacker-verb-base" + }, + { + "id": "runtime:domain-hacker-verb-example-1", + "sourceType": "domain", + "command": "hacker.verb", + "label": "hacker.verb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "hacker.verb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nhacker.verb()", + "expectedUiSchemaText": "Value\nhacker.verb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-hacker-verb-example-1" + }, + { + "id": "runtime:domain-image-avatar-base", + "sourceType": "domain", + "command": "image.avatar", + "label": "image.avatar", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.avatar", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.avatar()", + "expectedUiSchemaText": "Value\nimage.avatar()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-avatar-base" + }, + { + "id": "runtime:domain-image-avatar-example-1", + "sourceType": "domain", + "command": "image.avatar", + "label": "image.avatar example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.avatar", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.avatar()", + "expectedUiSchemaText": "Value\nimage.avatar()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-avatar-example-1" + }, + { + "id": "runtime:domain-image-avatarGitHub-base", + "sourceType": "domain", + "command": "image.avatarGitHub", + "label": "image.avatarGitHub", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.avatarGitHub", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.avatarGitHub()", + "expectedUiSchemaText": "Value\nimage.avatarGitHub()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-avatarGitHub-base" + }, + { + "id": "runtime:domain-image-avatarGitHub-example-1", + "sourceType": "domain", + "command": "image.avatarGitHub", + "label": "image.avatarGitHub example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.avatarGitHub", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.avatarGitHub()", + "expectedUiSchemaText": "Value\nimage.avatarGitHub()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-avatarGitHub-example-1" + }, + { + "id": "runtime:domain-image-dataUri-base", + "sourceType": "domain", + "command": "image.dataUri", + "label": "image.dataUri", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.dataUri", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.dataUri()", + "expectedUiSchemaText": "Value\nimage.dataUri()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-dataUri-base" + }, + { + "id": "runtime:domain-image-dataUri-example-1", + "sourceType": "domain", + "command": "image.dataUri", + "label": "image.dataUri example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.dataUri", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.dataUri()", + "expectedUiSchemaText": "Value\nimage.dataUri()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-dataUri-example-1" + }, + { + "id": "runtime:domain-image-personPortrait-base", + "sourceType": "domain", + "command": "image.personPortrait", + "label": "image.personPortrait", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.personPortrait", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.personPortrait()", + "expectedUiSchemaText": "Value\nimage.personPortrait()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-personPortrait-base" + }, + { + "id": "runtime:domain-image-personPortrait-example-1", + "sourceType": "domain", + "command": "image.personPortrait", + "label": "image.personPortrait example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.personPortrait", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.personPortrait()", + "expectedUiSchemaText": "Value\nimage.personPortrait()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-personPortrait-example-1" + }, + { + "id": "runtime:domain-image-url-base", + "sourceType": "domain", + "command": "image.url", + "label": "image.url", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url()", + "expectedUiSchemaText": "Value\nimage.url()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-url-base" + }, + { + "id": "runtime:domain-image-url-example-1", + "sourceType": "domain", + "command": "image.url", + "label": "image.url example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url()", + "expectedUiSchemaText": "Value\nimage.url()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["height", "width"], + "origins": ["example"], + "scenarioId": "domain-image-url-example-1" + }, + { + "id": "runtime:domain-image-url-example-2", + "sourceType": "domain", + "command": "image.url", + "label": "image.url example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "(height=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url(height=1)", + "expectedUiSchemaText": "Value\nimage.url(height=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["height", "width"], + "origins": ["example"], + "scenarioId": "domain-image-url-example-2" + }, + { + "id": "runtime:domain-image-url-example-3", + "sourceType": "domain", + "command": "image.url", + "label": "image.url example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "(width=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url(width=1)", + "expectedUiSchemaText": "Value\nimage.url(width=1)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["height", "width"], + "origins": ["example"], + "scenarioId": "domain-image-url-example-3" + }, + { + "id": "runtime:domain-image-url-arg-height", + "sourceType": "domain", + "command": "image.url", + "label": "image.url arg height", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "(height=2)", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url(height=2)", + "expectedUiSchemaText": "Value\nimage.url(height=2)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["height"], + "origins": ["arg"], + "scenarioId": "domain-image-url-arg-height" + }, + { + "id": "runtime:domain-image-url-arg-width", + "sourceType": "domain", + "command": "image.url", + "label": "image.url arg width", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "(width=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url(width=3)", + "expectedUiSchemaText": "Value\nimage.url(width=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["width"], + "origins": ["arg"], + "scenarioId": "domain-image-url-arg-width" + }, + { + "id": "runtime:domain-image-url-pair-height-width", + "sourceType": "domain", + "command": "image.url", + "label": "image.url pair height/width", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.url", + "params": "(height=2, width=3)", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.url(height=2, width=3)", + "expectedUiSchemaText": "Value\nimage.url(height=2, width=3)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["height", "width"], + "origins": ["pair"], + "scenarioId": "domain-image-url-pair-height-width" + }, + { + "id": "runtime:domain-image-urlPicsumPhotos-base", + "sourceType": "domain", + "command": "image.urlPicsumPhotos", + "label": "image.urlPicsumPhotos", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.urlPicsumPhotos", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedUiSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-image-urlPicsumPhotos-base" + }, + { + "id": "runtime:domain-image-urlPicsumPhotos-example-1", + "sourceType": "domain", + "command": "image.urlPicsumPhotos", + "label": "image.urlPicsumPhotos example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "image.urlPicsumPhotos", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedUiSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-image-urlPicsumPhotos-example-1" + }, + { + "id": "runtime:domain-internet-displayName-base", + "sourceType": "domain", + "command": "internet.displayName", + "label": "internet.displayName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.displayName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.displayName()", + "expectedUiSchemaText": "Value\ninternet.displayName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-displayName-base" + }, + { + "id": "runtime:domain-internet-displayName-example-1", + "sourceType": "domain", + "command": "internet.displayName", + "label": "internet.displayName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.displayName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.displayName()", + "expectedUiSchemaText": "Value\ninternet.displayName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-displayName-example-1" + }, + { + "id": "runtime:domain-internet-domainName-base", + "sourceType": "domain", + "command": "internet.domainName", + "label": "internet.domainName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.domainName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.domainName()", + "expectedUiSchemaText": "Value\ninternet.domainName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-domainName-base" + }, + { + "id": "runtime:domain-internet-domainName-example-1", + "sourceType": "domain", + "command": "internet.domainName", + "label": "internet.domainName example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.domainName", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.domainName()", + "expectedUiSchemaText": "Value\ninternet.domainName()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-domainName-example-1" + }, + { + "id": "runtime:domain-internet-domainSuffix-base", + "sourceType": "domain", + "command": "internet.domainSuffix", + "label": "internet.domainSuffix", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.domainSuffix", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.domainSuffix()", + "expectedUiSchemaText": "Value\ninternet.domainSuffix()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-domainSuffix-base" + }, + { + "id": "runtime:domain-internet-domainSuffix-example-1", + "sourceType": "domain", + "command": "internet.domainSuffix", + "label": "internet.domainSuffix example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.domainSuffix", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.domainSuffix()", + "expectedUiSchemaText": "Value\ninternet.domainSuffix()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-domainSuffix-example-1" + }, + { + "id": "runtime:domain-internet-domainWord-base", + "sourceType": "domain", + "command": "internet.domainWord", + "label": "internet.domainWord", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.domainWord", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.domainWord()", + "expectedUiSchemaText": "Value\ninternet.domainWord()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-domainWord-base" + }, + { + "id": "runtime:domain-internet-domainWord-example-1", + "sourceType": "domain", + "command": "internet.domainWord", + "label": "internet.domainWord example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.domainWord", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.domainWord()", + "expectedUiSchemaText": "Value\ninternet.domainWord()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-domainWord-example-1" + }, + { + "id": "runtime:domain-internet-email-base", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email()", + "expectedUiSchemaText": "Value\ninternet.email()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-email-base" + }, + { + "id": "runtime:domain-internet-email-example-1", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email()", + "expectedUiSchemaText": "Value\ninternet.email()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-1" + }, + { + "id": "runtime:domain-internet-email-example-2", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(allowSpecialCharacters=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-2" + }, + { + "id": "runtime:domain-internet-email-example-3", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(firstName=\"Ada\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-3" + }, + { + "id": "runtime:domain-internet-email-example-4", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(lastName=\"Lovelace\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-4" + }, + { + "id": "runtime:domain-internet-email-example-5", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email example 5", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(provider=\"example.com\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedUiSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowSpecialCharacters", "firstName", "lastName", "provider"], + "origins": ["example"], + "scenarioId": "domain-internet-email-example-5" + }, + { + "id": "runtime:domain-internet-email-arg-allowSpecialCharacters", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email arg allowSpecialCharacters", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(allowSpecialCharacters=true)", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["allowSpecialCharacters"], + "origins": ["arg"], + "scenarioId": "domain-internet-email-arg-allowSpecialCharacters" + }, + { + "id": "runtime:domain-internet-email-arg-firstName", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email arg firstName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(firstName=\"Ada\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["firstName"], + "origins": ["arg"], + "scenarioId": "domain-internet-email-arg-firstName" + }, + { + "id": "runtime:domain-internet-email-arg-lastName", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email arg lastName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(lastName=\"Lovelace\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["lastName"], + "origins": ["arg"], + "scenarioId": "domain-internet-email-arg-lastName" + }, + { + "id": "runtime:domain-internet-email-arg-provider", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email arg provider", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(provider=\"example.com\")", + "value": "" + } + ], + "expectedSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedUiSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["provider"], + "origins": ["arg"], + "scenarioId": "domain-internet-email-arg-provider" + }, + { + "id": "runtime:domain-internet-email-pair-allowSpecialCharacters-firstName", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email pair allowSpecialCharacters/firstName", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "internet.email", + "params": "(allowSpecialCharacters=true, firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.weightedArrayElement([{ \"weight\": 1, \"value\": \"A\" }, { \"weight\": 2, \"value\": \"B\" }])", - "expectedUiSchemaText": "Value\nhelpers.weightedArrayElement([{ \"weight\": 1, \"value\": \"A\" }, { \"weight\": 2, \"value\": \"B\" }])", + "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "faker-helpers-weightedArrayElement-base" + "coveredArgs": ["allowSpecialCharacters", "firstName"], + "origins": ["pair"], + "scenarioId": "domain-internet-email-pair-allowSpecialCharacters-firstName" }, { - "id": "runtime:faker-helpers-weightedArrayElement-example-1", - "sourceType": "faker", - "command": "helpers.weightedArrayElement", - "label": "helpers.weightedArrayElement example 1", + "id": "runtime:domain-internet-email-pair-firstName-lastName", + "sourceType": "domain", + "command": "internet.email", + "label": "internet.email pair firstName/lastName", "rows": [ { "name": "Value", - "sourceType": "faker", - "command": "helpers.weightedArrayElement", - "params": "([{ weight: 5, value: \"sunny\" }, { weight: 1, value: \"rainy\" }])", + "sourceType": "domain", + "command": "internet.email", + "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\nhelpers.weightedArrayElement([{ weight: 5, value: \"sunny\" }, { weight: 1, value: \"rainy\" }])", - "expectedUiSchemaText": "Value\nhelpers.weightedArrayElement([{ weight: 5, value: \"sunny\" }, { weight: 1, value: \"rainy\" }])", + "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["array"], - "origins": ["example"], - "scenarioId": "faker-helpers-weightedArrayElement-example-1" + "coveredArgs": ["firstName", "lastName"], + "origins": ["pair"], + "scenarioId": "domain-internet-email-pair-firstName-lastName" }, { - "id": "runtime:domain-airline-aircraftType-base", + "id": "runtime:domain-internet-email-pair-lastName-provider", "sourceType": "domain", - "command": "airline.aircraftType", - "label": "airline.aircraftType", + "command": "internet.email", + "label": "internet.email pair lastName/provider", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.aircraftType", - "params": "()", + "command": "internet.email", + "params": "(lastName=\"Lovelace\", provider=\"example.com\")", "value": "" } ], - "expectedSchemaText": "Value\nairline.aircraftType()", - "expectedUiSchemaText": "Value\nairline.aircraftType()", + "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", + "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-airline-aircraftType-base" + "coveredArgs": ["lastName", "provider"], + "origins": ["pair"], + "scenarioId": "domain-internet-email-pair-lastName-provider" }, { - "id": "runtime:domain-airline-flightNumber-base", + "id": "runtime:domain-internet-emoji-base", "sourceType": "domain", - "command": "airline.flightNumber", - "label": "airline.flightNumber", + "command": "internet.emoji", + "label": "internet.emoji", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.flightNumber", + "command": "internet.emoji", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairline.flightNumber()", - "expectedUiSchemaText": "Value\nairline.flightNumber()", + "expectedSchemaText": "Value\ninternet.emoji()", + "expectedUiSchemaText": "Value\ninternet.emoji()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-airline-flightNumber-base" + "scenarioId": "domain-internet-emoji-base" }, { - "id": "runtime:domain-airline-iataCode-base", + "id": "runtime:domain-internet-emoji-example-1", "sourceType": "domain", - "command": "airline.iataCode", - "label": "airline.iataCode", + "command": "internet.emoji", + "label": "internet.emoji example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.iataCode", + "command": "internet.emoji", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairline.iataCode()", - "expectedUiSchemaText": "Value\nairline.iataCode()", + "expectedSchemaText": "Value\ninternet.emoji()", + "expectedUiSchemaText": "Value\ninternet.emoji()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-airline-iataCode-base" + "coveredArgs": ["types"], + "origins": ["example"], + "scenarioId": "domain-internet-emoji-example-1" }, { - "id": "runtime:domain-airline-name-base", + "id": "runtime:domain-internet-emoji-example-2", "sourceType": "domain", - "command": "airline.name", - "label": "airline.name", + "command": "internet.emoji", + "label": "internet.emoji example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.name", - "params": "()", + "command": "internet.emoji", + "params": "(types=[\"food\"])", "value": "" } ], - "expectedSchemaText": "Value\nairline.name()", - "expectedUiSchemaText": "Value\nairline.name()", + "expectedSchemaText": "Value\ninternet.emoji(types=[\"food\"])", + "expectedUiSchemaText": "Value\ninternet.emoji(types=[\"food\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-airline-name-base" + "coveredArgs": ["types"], + "origins": ["example"], + "scenarioId": "domain-internet-emoji-example-2" }, { - "id": "runtime:domain-airline-recordLocator-base", + "id": "runtime:domain-internet-emoji-arg-types", "sourceType": "domain", - "command": "airline.recordLocator", - "label": "airline.recordLocator", + "command": "internet.emoji", + "label": "internet.emoji arg types", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.recordLocator", - "params": "()", + "command": "internet.emoji", + "params": "(types=[\"food\"])", "value": "" } ], - "expectedSchemaText": "Value\nairline.recordLocator()", - "expectedUiSchemaText": "Value\nairline.recordLocator()", + "expectedSchemaText": "Value\ninternet.emoji(types=[\"food\"])", + "expectedUiSchemaText": "Value\ninternet.emoji(types=[\"food\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-airline-recordLocator-base" + "coveredArgs": ["types"], + "origins": ["arg"], + "scenarioId": "domain-internet-emoji-arg-types" }, { - "id": "runtime:domain-airline-seat-base", + "id": "runtime:domain-internet-exampleEmail-base", "sourceType": "domain", - "command": "airline.seat", - "label": "airline.seat", + "command": "internet.exampleEmail", + "label": "internet.exampleEmail", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.seat", + "command": "internet.exampleEmail", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairline.seat()", - "expectedUiSchemaText": "Value\nairline.seat()", + "expectedSchemaText": "Value\ninternet.exampleEmail()", + "expectedUiSchemaText": "Value\ninternet.exampleEmail()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-airline-seat-base" + "scenarioId": "domain-internet-exampleEmail-base" }, { - "id": "runtime:domain-airline-seat-example-1", + "id": "runtime:domain-internet-exampleEmail-example-1", "sourceType": "domain", - "command": "airline.seat", - "label": "airline.seat example 1", + "command": "internet.exampleEmail", + "label": "internet.exampleEmail example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.seat", + "command": "internet.exampleEmail", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairline.seat()", - "expectedUiSchemaText": "Value\nairline.seat()", + "expectedSchemaText": "Value\ninternet.exampleEmail()", + "expectedUiSchemaText": "Value\ninternet.exampleEmail()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["aircraftType"], + "coveredArgs": [], "origins": ["example"], - "scenarioId": "domain-airline-seat-example-1" + "scenarioId": "domain-internet-exampleEmail-example-1" }, { - "id": "runtime:domain-airline-seat-example-2", + "id": "runtime:domain-internet-httpMethod-base", "sourceType": "domain", - "command": "airline.seat", - "label": "airline.seat example 2", + "command": "internet.httpMethod", + "label": "internet.httpMethod", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.seat", - "params": "(aircraftType=\"widebody\")", + "command": "internet.httpMethod", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", - "expectedUiSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", + "expectedSchemaText": "Value\ninternet.httpMethod()", + "expectedUiSchemaText": "Value\ninternet.httpMethod()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["aircraftType"], - "origins": ["example"], - "scenarioId": "domain-airline-seat-example-2" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-httpMethod-base" }, { - "id": "runtime:domain-airline-seat-arg-aircraftType", + "id": "runtime:domain-internet-httpMethod-example-1", "sourceType": "domain", - "command": "airline.seat", - "label": "airline.seat arg aircraftType", + "command": "internet.httpMethod", + "label": "internet.httpMethod example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airline.seat", - "params": "(aircraftType=\"widebody\")", + "command": "internet.httpMethod", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", - "expectedUiSchemaText": "Value\nairline.seat(aircraftType=\"widebody\")", + "expectedSchemaText": "Value\ninternet.httpMethod()", + "expectedUiSchemaText": "Value\ninternet.httpMethod()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["aircraftType"], - "origins": ["arg"], - "scenarioId": "domain-airline-seat-arg-aircraftType" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-httpMethod-example-1" }, { - "id": "runtime:domain-airplane-iataTypeCode-base", + "id": "runtime:domain-internet-httpStatusCode-base", "sourceType": "domain", - "command": "airplane.iataTypeCode", - "label": "airplane.iataTypeCode", + "command": "internet.httpStatusCode", + "label": "internet.httpStatusCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airplane.iataTypeCode", + "command": "internet.httpStatusCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairplane.iataTypeCode()", - "expectedUiSchemaText": "Value\nairplane.iataTypeCode()", + "expectedSchemaText": "Value\ninternet.httpStatusCode()", + "expectedUiSchemaText": "Value\ninternet.httpStatusCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-airplane-iataTypeCode-base" + "scenarioId": "domain-internet-httpStatusCode-base" }, { - "id": "runtime:domain-airplane-name-base", + "id": "runtime:domain-internet-httpStatusCode-example-1", "sourceType": "domain", - "command": "airplane.name", - "label": "airplane.name", + "command": "internet.httpStatusCode", + "label": "internet.httpStatusCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airplane.name", + "command": "internet.httpStatusCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairplane.name()", - "expectedUiSchemaText": "Value\nairplane.name()", + "expectedSchemaText": "Value\ninternet.httpStatusCode()", + "expectedUiSchemaText": "Value\ninternet.httpStatusCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-airplane-name-base" + "origins": ["example"], + "scenarioId": "domain-internet-httpStatusCode-example-1" }, { - "id": "runtime:domain-airport-iataCode-base", + "id": "runtime:domain-internet-ip-base", "sourceType": "domain", - "command": "airport.iataCode", - "label": "airport.iataCode", + "command": "internet.ip", + "label": "internet.ip", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airport.iataCode", + "command": "internet.ip", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairport.iataCode()", - "expectedUiSchemaText": "Value\nairport.iataCode()", + "expectedSchemaText": "Value\ninternet.ip()", + "expectedUiSchemaText": "Value\ninternet.ip()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-airport-iataCode-base" + "scenarioId": "domain-internet-ip-base" }, { - "id": "runtime:domain-airport-name-base", + "id": "runtime:domain-internet-ip-example-1", "sourceType": "domain", - "command": "airport.name", - "label": "airport.name", + "command": "internet.ip", + "label": "internet.ip example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "airport.name", + "command": "internet.ip", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nairport.name()", - "expectedUiSchemaText": "Value\nairport.name()", + "expectedSchemaText": "Value\ninternet.ip()", + "expectedUiSchemaText": "Value\ninternet.ip()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-airport-name-base" + "origins": ["example"], + "scenarioId": "domain-internet-ip-example-1" }, { - "id": "runtime:domain-animal-bear-base", + "id": "runtime:domain-internet-ipv4-base", "sourceType": "domain", - "command": "animal.bear", - "label": "animal.bear", + "command": "internet.ipv4", + "label": "internet.ipv4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.bear", + "command": "internet.ipv4", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nanimal.bear()", - "expectedUiSchemaText": "Value\nanimal.bear()", + "expectedSchemaText": "Value\ninternet.ipv4()", + "expectedUiSchemaText": "Value\ninternet.ipv4()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-animal-bear-base" + "scenarioId": "domain-internet-ipv4-base" }, { - "id": "runtime:domain-animal-bird-base", + "id": "runtime:domain-internet-ipv4-example-1", "sourceType": "domain", - "command": "animal.bird", - "label": "animal.bird", + "command": "internet.ipv4", + "label": "internet.ipv4 example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.bird", + "command": "internet.ipv4", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nanimal.bird()", - "expectedUiSchemaText": "Value\nanimal.bird()", + "expectedSchemaText": "Value\ninternet.ipv4()", + "expectedUiSchemaText": "Value\ninternet.ipv4()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-bird-base" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["example"], + "scenarioId": "domain-internet-ipv4-example-1" }, { - "id": "runtime:domain-animal-cat-base", + "id": "runtime:domain-internet-ipv4-example-2", "sourceType": "domain", - "command": "animal.cat", - "label": "animal.cat", + "command": "internet.ipv4", + "label": "internet.ipv4 example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.cat", - "params": "()", + "command": "internet.ipv4", + "params": "(cidrBlock=\"192.168.0.0/24\")", "value": "" } ], - "expectedSchemaText": "Value\nanimal.cat()", - "expectedUiSchemaText": "Value\nanimal.cat()", + "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-cat-base" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["example"], + "scenarioId": "domain-internet-ipv4-example-2" }, { - "id": "runtime:domain-animal-cetacean-base", + "id": "runtime:domain-internet-ipv4-example-3", "sourceType": "domain", - "command": "animal.cetacean", - "label": "animal.cetacean", + "command": "internet.ipv4", + "label": "internet.ipv4 example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.cetacean", - "params": "()", + "command": "internet.ipv4", + "params": "(network=\"private-a\")", "value": "" } ], - "expectedSchemaText": "Value\nanimal.cetacean()", - "expectedUiSchemaText": "Value\nanimal.cetacean()", + "expectedSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-cetacean-base" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["example"], + "scenarioId": "domain-internet-ipv4-example-3" }, { - "id": "runtime:domain-animal-cow-base", + "id": "runtime:domain-internet-ipv4-arg-cidrBlock", "sourceType": "domain", - "command": "animal.cow", - "label": "animal.cow", + "command": "internet.ipv4", + "label": "internet.ipv4 arg cidrBlock", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.cow", - "params": "()", + "command": "internet.ipv4", + "params": "(cidrBlock=\"192.168.0.0/24\")", "value": "" } ], - "expectedSchemaText": "Value\nanimal.cow()", - "expectedUiSchemaText": "Value\nanimal.cow()", + "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-cow-base" + "coveredArgs": ["cidrBlock"], + "origins": ["arg"], + "scenarioId": "domain-internet-ipv4-arg-cidrBlock" }, { - "id": "runtime:domain-animal-crocodilia-base", + "id": "runtime:domain-internet-ipv4-arg-network", "sourceType": "domain", - "command": "animal.crocodilia", - "label": "animal.crocodilia", + "command": "internet.ipv4", + "label": "internet.ipv4 arg network", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.crocodilia", - "params": "()", + "command": "internet.ipv4", + "params": "(network=\"private-a\")", "value": "" } ], - "expectedSchemaText": "Value\nanimal.crocodilia()", - "expectedUiSchemaText": "Value\nanimal.crocodilia()", + "expectedSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-crocodilia-base" + "coveredArgs": ["network"], + "origins": ["arg"], + "scenarioId": "domain-internet-ipv4-arg-network" }, { - "id": "runtime:domain-animal-dog-base", + "id": "runtime:domain-internet-ipv4-pair-cidrBlock-network", "sourceType": "domain", - "command": "animal.dog", - "label": "animal.dog", + "command": "internet.ipv4", + "label": "internet.ipv4 pair cidrBlock/network", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.dog", - "params": "()", + "command": "internet.ipv4", + "params": "(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", "value": "" } ], - "expectedSchemaText": "Value\nanimal.dog()", - "expectedUiSchemaText": "Value\nanimal.dog()", + "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", + "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-dog-base" + "coveredArgs": ["cidrBlock", "network"], + "origins": ["pair"], + "scenarioId": "domain-internet-ipv4-pair-cidrBlock-network" }, { - "id": "runtime:domain-animal-fish-base", + "id": "runtime:domain-internet-ipv6-base", "sourceType": "domain", - "command": "animal.fish", - "label": "animal.fish", + "command": "internet.ipv6", + "label": "internet.ipv6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.fish", + "command": "internet.ipv6", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nanimal.fish()", - "expectedUiSchemaText": "Value\nanimal.fish()", + "expectedSchemaText": "Value\ninternet.ipv6()", + "expectedUiSchemaText": "Value\ninternet.ipv6()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-animal-fish-base" + "scenarioId": "domain-internet-ipv6-base" }, { - "id": "runtime:domain-animal-horse-base", + "id": "runtime:domain-internet-ipv6-example-1", "sourceType": "domain", - "command": "animal.horse", - "label": "animal.horse", + "command": "internet.ipv6", + "label": "internet.ipv6 example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.horse", + "command": "internet.ipv6", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nanimal.horse()", - "expectedUiSchemaText": "Value\nanimal.horse()", + "expectedSchemaText": "Value\ninternet.ipv6()", + "expectedUiSchemaText": "Value\ninternet.ipv6()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-horse-base" + "origins": ["example"], + "scenarioId": "domain-internet-ipv6-example-1" }, { - "id": "runtime:domain-animal-insect-base", + "id": "runtime:domain-internet-jwt-base", "sourceType": "domain", - "command": "animal.insect", - "label": "animal.insect", + "command": "internet.jwt", + "label": "internet.jwt", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.insect", + "command": "internet.jwt", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nanimal.insect()", - "expectedUiSchemaText": "Value\nanimal.insect()", + "expectedSchemaText": "Value\ninternet.jwt()", + "expectedUiSchemaText": "Value\ninternet.jwt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-animal-insect-base" + "scenarioId": "domain-internet-jwt-base" }, { - "id": "runtime:domain-animal-lion-base", + "id": "runtime:domain-internet-jwt-example-1", "sourceType": "domain", - "command": "animal.lion", - "label": "animal.lion", + "command": "internet.jwt", + "label": "internet.jwt example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.lion", + "command": "internet.jwt", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nanimal.lion()", - "expectedUiSchemaText": "Value\nanimal.lion()", + "expectedSchemaText": "Value\ninternet.jwt()", + "expectedUiSchemaText": "Value\ninternet.jwt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-lion-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-1" }, { - "id": "runtime:domain-animal-petName-base", + "id": "runtime:domain-internet-jwt-example-2", "sourceType": "domain", - "command": "animal.petName", - "label": "animal.petName", + "command": "internet.jwt", + "label": "internet.jwt example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.petName", - "params": "()", + "command": "internet.jwt", + "params": "(header={\"value\":\"sample\"})", "value": "" } ], - "expectedSchemaText": "Value\nanimal.petName()", - "expectedUiSchemaText": "Value\nanimal.petName()", + "expectedSchemaText": "Value\ninternet.jwt(header={\"value\":\"sample\"})", + "expectedUiSchemaText": "Value\ninternet.jwt(header={\"value\":\"sample\"})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-petName-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-2" }, { - "id": "runtime:domain-animal-rabbit-base", + "id": "runtime:domain-internet-jwt-example-3", "sourceType": "domain", - "command": "animal.rabbit", - "label": "animal.rabbit", + "command": "internet.jwt", + "label": "internet.jwt example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.rabbit", - "params": "()", + "command": "internet.jwt", + "params": "(payload={\"value\":\"sample\"})", "value": "" } ], - "expectedSchemaText": "Value\nanimal.rabbit()", - "expectedUiSchemaText": "Value\nanimal.rabbit()", + "expectedSchemaText": "Value\ninternet.jwt(payload={\"value\":\"sample\"})", + "expectedUiSchemaText": "Value\ninternet.jwt(payload={\"value\":\"sample\"})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-rabbit-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-3" }, { - "id": "runtime:domain-animal-rodent-base", + "id": "runtime:domain-internet-jwt-example-4", "sourceType": "domain", - "command": "animal.rodent", - "label": "animal.rodent", + "command": "internet.jwt", + "label": "internet.jwt example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.rodent", - "params": "()", + "command": "internet.jwt", + "params": "(refDate=1718755200000)", "value": "" } ], - "expectedSchemaText": "Value\nanimal.rodent()", - "expectedUiSchemaText": "Value\nanimal.rodent()", + "expectedSchemaText": "Value\ninternet.jwt(refDate=1718755200000)", + "expectedUiSchemaText": "Value\ninternet.jwt(refDate=1718755200000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-rodent-base" + "coveredArgs": ["header", "payload", "refDate"], + "origins": ["example"], + "scenarioId": "domain-internet-jwt-example-4" }, { - "id": "runtime:domain-animal-snake-base", + "id": "runtime:domain-internet-jwt-arg-header", "sourceType": "domain", - "command": "animal.snake", - "label": "animal.snake", + "command": "internet.jwt", + "label": "internet.jwt arg header", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.snake", - "params": "()", + "command": "internet.jwt", + "params": "(header={})", "value": "" } ], - "expectedSchemaText": "Value\nanimal.snake()", - "expectedUiSchemaText": "Value\nanimal.snake()", + "expectedSchemaText": "Value\ninternet.jwt(header={})", + "expectedUiSchemaText": "Value\ninternet.jwt(header={})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-snake-base" + "coveredArgs": ["header"], + "origins": ["arg"], + "scenarioId": "domain-internet-jwt-arg-header" }, { - "id": "runtime:domain-animal-type-base", + "id": "runtime:domain-internet-jwt-arg-payload", "sourceType": "domain", - "command": "animal.type", - "label": "animal.type", + "command": "internet.jwt", + "label": "internet.jwt arg payload", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "animal.type", - "params": "()", + "command": "internet.jwt", + "params": "(payload={})", "value": "" } ], - "expectedSchemaText": "Value\nanimal.type()", - "expectedUiSchemaText": "Value\nanimal.type()", + "expectedSchemaText": "Value\ninternet.jwt(payload={})", + "expectedUiSchemaText": "Value\ninternet.jwt(payload={})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-animal-type-base" + "coveredArgs": ["payload"], + "origins": ["arg"], + "scenarioId": "domain-internet-jwt-arg-payload" }, { - "id": "runtime:domain-autoIncrement-sequence-base", + "id": "runtime:domain-internet-jwt-arg-refDate", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence", + "command": "internet.jwt", + "label": "internet.jwt arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(1, 5, \"filename\", \".txt\", 3)", + "command": "internet.jwt", + "params": "(refDate=1)", "value": "" } - ], - "expectedSchemaText": "Value\nautoIncrement.sequence(1, 5, \"filename\", \".txt\", 3)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(1, 5, \"filename\", \".txt\", 3)", + ], + "expectedSchemaText": "Value\ninternet.jwt(refDate=1)", + "expectedUiSchemaText": "Value\ninternet.jwt(refDate=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-autoIncrement-sequence-base" + "coveredArgs": ["refDate"], + "origins": ["arg"], + "scenarioId": "domain-internet-jwt-arg-refDate" }, { - "id": "runtime:domain-autoIncrement-sequence-example-1", + "id": "runtime:domain-internet-jwt-pair-header-payload", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence example 1", + "command": "internet.jwt", + "label": "internet.jwt pair header/payload", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "()", + "command": "internet.jwt", + "params": "(header={}, payload={})", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence()", - "expectedUiSchemaText": "Value\nautoIncrement.sequence()", + "expectedSchemaText": "Value\ninternet.jwt(header={}, payload={})", + "expectedUiSchemaText": "Value\ninternet.jwt(header={}, payload={})", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], - "origins": ["example"], - "scenarioId": "domain-autoIncrement-sequence-example-1" + "coveredArgs": ["header", "payload"], + "origins": ["pair"], + "scenarioId": "domain-internet-jwt-pair-header-payload" }, { - "id": "runtime:domain-autoIncrement-sequence-example-2", + "id": "runtime:domain-internet-jwt-pair-payload-refDate", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence example 2", + "command": "internet.jwt", + "label": "internet.jwt pair payload/refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(start=10, step=5)", + "command": "internet.jwt", + "params": "(payload={}, refDate=1)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", + "expectedSchemaText": "Value\ninternet.jwt(payload={}, refDate=1)", + "expectedUiSchemaText": "Value\ninternet.jwt(payload={}, refDate=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], - "origins": ["example"], - "scenarioId": "domain-autoIncrement-sequence-example-2" + "coveredArgs": ["payload", "refDate"], + "origins": ["pair"], + "scenarioId": "domain-internet-jwt-pair-payload-refDate" }, { - "id": "runtime:domain-autoIncrement-sequence-example-3", + "id": "runtime:domain-internet-jwtAlgorithm-base", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence example 3", + "command": "internet.jwtAlgorithm", + "label": "internet.jwtAlgorithm", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(start=1, step=5, prefix=\"filename\", suffix=\".txt\", zeropadding=3)", + "command": "internet.jwtAlgorithm", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(start=1, step=5, prefix=\"filename\", suffix=\".txt\", zeropadding=3)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=1, step=5, prefix=\"filename\", suffix=\".txt\", zeropadding=3)", + "expectedSchemaText": "Value\ninternet.jwtAlgorithm()", + "expectedUiSchemaText": "Value\ninternet.jwtAlgorithm()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], - "origins": ["example"], - "scenarioId": "domain-autoIncrement-sequence-example-3" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-jwtAlgorithm-base" }, { - "id": "runtime:domain-autoIncrement-sequence-arg-start", + "id": "runtime:domain-internet-jwtAlgorithm-example-1", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence arg start", + "command": "internet.jwtAlgorithm", + "label": "internet.jwtAlgorithm example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(start=10)", + "command": "internet.jwtAlgorithm", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(start=10)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10)", + "expectedSchemaText": "Value\ninternet.jwtAlgorithm()", + "expectedUiSchemaText": "Value\ninternet.jwtAlgorithm()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start"], - "origins": ["arg"], - "scenarioId": "domain-autoIncrement-sequence-arg-start" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-internet-jwtAlgorithm-example-1" }, { - "id": "runtime:domain-autoIncrement-sequence-arg-step", + "id": "runtime:domain-internet-mac-base", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence arg step", + "command": "internet.mac", + "label": "internet.mac", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(step=5)", + "command": "internet.mac", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(step=5)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(step=5)", + "expectedSchemaText": "Value\ninternet.mac()", + "expectedUiSchemaText": "Value\ninternet.mac()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["step"], - "origins": ["arg"], - "scenarioId": "domain-autoIncrement-sequence-arg-step" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-mac-base" }, { - "id": "runtime:domain-autoIncrement-sequence-arg-prefix", + "id": "runtime:domain-internet-mac-example-1", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence arg prefix", + "command": "internet.mac", + "label": "internet.mac example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(prefix=\"filename\")", + "command": "internet.mac", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\")", + "expectedSchemaText": "Value\ninternet.mac()", + "expectedUiSchemaText": "Value\ninternet.mac()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-autoIncrement-sequence-arg-prefix" + "coveredArgs": ["separator"], + "origins": ["example"], + "scenarioId": "domain-internet-mac-example-1" }, { - "id": "runtime:domain-autoIncrement-sequence-arg-suffix", + "id": "runtime:domain-internet-mac-example-2", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence arg suffix", + "command": "internet.mac", + "label": "internet.mac example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(suffix=\".txt\")", + "command": "internet.mac", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\")", + "expectedSchemaText": "Value\ninternet.mac(separator=\"-\")", + "expectedUiSchemaText": "Value\ninternet.mac(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["suffix"], - "origins": ["arg"], - "scenarioId": "domain-autoIncrement-sequence-arg-suffix" + "coveredArgs": ["separator"], + "origins": ["example"], + "scenarioId": "domain-internet-mac-example-2" }, { - "id": "runtime:domain-autoIncrement-sequence-arg-zeropadding", + "id": "runtime:domain-internet-mac-arg-separator", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence arg zeropadding", + "command": "internet.mac", + "label": "internet.mac arg separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(zeropadding=3)", + "command": "internet.mac", + "params": "(separator=\":\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(zeropadding=3)", + "expectedSchemaText": "Value\ninternet.mac(separator=\":\")", + "expectedUiSchemaText": "Value\ninternet.mac(separator=\":\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["zeropadding"], + "coveredArgs": ["separator"], "origins": ["arg"], - "scenarioId": "domain-autoIncrement-sequence-arg-zeropadding" + "scenarioId": "domain-internet-mac-arg-separator" }, { - "id": "runtime:domain-autoIncrement-sequence-pair-start-step", + "id": "runtime:domain-internet-password-base", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence pair start/step", + "command": "internet.password", + "label": "internet.password", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(start=10, step=5)", + "command": "internet.password", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(start=10, step=5)", + "expectedSchemaText": "Value\ninternet.password()", + "expectedUiSchemaText": "Value\ninternet.password()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step"], - "origins": ["pair"], - "scenarioId": "domain-autoIncrement-sequence-pair-start-step" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-password-base" }, { - "id": "runtime:domain-autoIncrement-sequence-pair-step-prefix", + "id": "runtime:domain-internet-password-example-1", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence pair step/prefix", + "command": "internet.password", + "label": "internet.password example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(step=5, prefix=\"filename\")", + "command": "internet.password", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(step=5, prefix=\"filename\")", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(step=5, prefix=\"filename\")", + "expectedSchemaText": "Value\ninternet.password()", + "expectedUiSchemaText": "Value\ninternet.password()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["step", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-autoIncrement-sequence-pair-step-prefix" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-1" }, { - "id": "runtime:domain-autoIncrement-sequence-pair-prefix-suffix", + "id": "runtime:domain-internet-password-example-2", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence pair prefix/suffix", + "command": "internet.password", + "label": "internet.password example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(prefix=\"filename\", suffix=\".txt\")", + "command": "internet.password", + "params": "(length=12)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\", suffix=\".txt\")", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(prefix=\"filename\", suffix=\".txt\")", + "expectedSchemaText": "Value\ninternet.password(length=12)", + "expectedUiSchemaText": "Value\ninternet.password(length=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix", "suffix"], - "origins": ["pair"], - "scenarioId": "domain-autoIncrement-sequence-pair-prefix-suffix" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-2" }, { - "id": "runtime:domain-autoIncrement-sequence-pair-suffix-zeropadding", + "id": "runtime:domain-internet-password-example-3", "sourceType": "domain", - "command": "autoIncrement.sequence", - "label": "autoIncrement.sequence pair suffix/zeropadding", + "command": "internet.password", + "label": "internet.password example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.sequence", - "params": "(suffix=\".txt\", zeropadding=3)", + "command": "internet.password", + "params": "(memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\", zeropadding=3)", - "expectedUiSchemaText": "Value\nautoIncrement.sequence(suffix=\".txt\", zeropadding=3)", + "expectedSchemaText": "Value\ninternet.password(memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["suffix", "zeropadding"], - "origins": ["pair"], - "scenarioId": "domain-autoIncrement-sequence-pair-suffix-zeropadding" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-3" }, { - "id": "runtime:domain-autoIncrement-timestamp-base", + "id": "runtime:domain-internet-password-example-4", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp", + "command": "internet.password", + "label": "internet.password example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "()", + "command": "internet.password", + "params": "(length=12, memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp()", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp()", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-autoIncrement-timestamp-base" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-4" }, { - "id": "runtime:domain-autoIncrement-timestamp-example-1", + "id": "runtime:domain-internet-password-example-5", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp example 1", + "command": "internet.password", + "label": "internet.password example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "()", + "command": "internet.password", + "params": "(pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp()", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp()", + "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "coveredArgs": ["length", "memorable", "pattern", "prefix"], "origins": ["example"], - "scenarioId": "domain-autoIncrement-timestamp-example-1" + "scenarioId": "domain-internet-password-example-5" }, { - "id": "runtime:domain-autoIncrement-timestamp-example-2", + "id": "runtime:domain-internet-password-example-6", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp example 2", + "command": "internet.password", + "label": "internet.password example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(start=\"20/03/1969\", step=1, type=\"days\")", + "command": "internet.password", + "params": "(length=12, memorable=false, pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"20/03/1969\", step=1, type=\"days\")", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "coveredArgs": ["length", "memorable", "pattern", "prefix"], "origins": ["example"], - "scenarioId": "domain-autoIncrement-timestamp-example-2" + "scenarioId": "domain-internet-password-example-6" }, { - "id": "runtime:domain-autoIncrement-timestamp-example-3", + "id": "runtime:domain-internet-password-example-7", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp example 3", + "command": "internet.password", + "label": "internet.password example 7", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "command": "internet.password", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12 12:39:23\", step=15, type=\"minutes\", outputFormat=\"yyyy-MM-dd HH:mm:ss\")", + "expectedSchemaText": "Value\ninternet.password(prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step", "type", "outputFormat", "inputFormat"], + "coveredArgs": ["length", "memorable", "pattern", "prefix"], "origins": ["example"], - "scenarioId": "domain-autoIncrement-timestamp-example-3" + "scenarioId": "domain-internet-password-example-7" }, { - "id": "runtime:domain-autoIncrement-timestamp-arg-start", + "id": "runtime:domain-internet-password-example-8", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp arg start", + "command": "internet.password", + "label": "internet.password example 8", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(start=\"2026-06-12T12:39:23Z\")", + "command": "internet.password", + "params": "(length=12, memorable=false, pattern=\"[A-Z]\", prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\")", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\", prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=false, pattern=\"[A-Z]\", prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start"], - "origins": ["arg"], - "scenarioId": "domain-autoIncrement-timestamp-arg-start" + "coveredArgs": ["length", "memorable", "pattern", "prefix"], + "origins": ["example"], + "scenarioId": "domain-internet-password-example-8" }, { - "id": "runtime:domain-autoIncrement-timestamp-arg-step", + "id": "runtime:domain-internet-password-arg-length", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp arg step", + "command": "internet.password", + "label": "internet.password arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(step=1)", + "command": "internet.password", + "params": "(length=12)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(step=1)", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(step=1)", + "expectedSchemaText": "Value\ninternet.password(length=12)", + "expectedUiSchemaText": "Value\ninternet.password(length=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["step"], + "coveredArgs": ["length"], "origins": ["arg"], - "scenarioId": "domain-autoIncrement-timestamp-arg-step" + "scenarioId": "domain-internet-password-arg-length" }, { - "id": "runtime:domain-autoIncrement-timestamp-arg-type", + "id": "runtime:domain-internet-password-arg-memorable", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp arg type", + "command": "internet.password", + "label": "internet.password arg memorable", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(type=\"seconds\")", + "command": "internet.password", + "params": "(memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\")", + "expectedSchemaText": "Value\ninternet.password(memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["type"], + "coveredArgs": ["memorable"], "origins": ["arg"], - "scenarioId": "domain-autoIncrement-timestamp-arg-type" + "scenarioId": "domain-internet-password-arg-memorable" }, { - "id": "runtime:domain-autoIncrement-timestamp-arg-outputFormat", + "id": "runtime:domain-internet-password-arg-pattern", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp arg outputFormat", + "command": "internet.password", + "label": "internet.password arg pattern", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(outputFormat=\"iso8601\")", + "command": "internet.password", + "params": "(pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\")", + "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["outputFormat"], + "coveredArgs": ["pattern"], "origins": ["arg"], - "scenarioId": "domain-autoIncrement-timestamp-arg-outputFormat" + "scenarioId": "domain-internet-password-arg-pattern" }, { - "id": "runtime:domain-autoIncrement-timestamp-arg-inputFormat", + "id": "runtime:domain-internet-password-arg-prefix", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp arg inputFormat", + "command": "internet.password", + "label": "internet.password arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(inputFormat=\"dd/MM/yyyy\")", + "command": "internet.password", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(inputFormat=\"dd/MM/yyyy\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(inputFormat=\"dd/MM/yyyy\")", + "expectedSchemaText": "Value\ninternet.password(prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["inputFormat"], + "coveredArgs": ["prefix"], "origins": ["arg"], - "scenarioId": "domain-autoIncrement-timestamp-arg-inputFormat" + "scenarioId": "domain-internet-password-arg-prefix" }, { - "id": "runtime:domain-autoIncrement-timestamp-pair-start-step", + "id": "runtime:domain-internet-password-pair-length-memorable", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp pair start/step", + "command": "internet.password", + "label": "internet.password pair length/memorable", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(start=\"2026-06-12T12:39:23Z\", step=1)", + "command": "internet.password", + "params": "(length=12, memorable=true)", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1)", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(start=\"2026-06-12T12:39:23Z\", step=1)", + "expectedSchemaText": "Value\ninternet.password(length=12, memorable=true)", + "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["start", "step"], + "coveredArgs": ["length", "memorable"], "origins": ["pair"], - "scenarioId": "domain-autoIncrement-timestamp-pair-start-step" + "scenarioId": "domain-internet-password-pair-length-memorable" }, { - "id": "runtime:domain-autoIncrement-timestamp-pair-step-type", + "id": "runtime:domain-internet-password-pair-memorable-pattern", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp pair step/type", + "command": "internet.password", + "label": "internet.password pair memorable/pattern", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(step=1, type=\"seconds\")", + "command": "internet.password", + "params": "(memorable=true, pattern=\"[A-Z]\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(step=1, type=\"seconds\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(step=1, type=\"seconds\")", + "expectedSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", + "expectedUiSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["step", "type"], + "coveredArgs": ["memorable", "pattern"], "origins": ["pair"], - "scenarioId": "domain-autoIncrement-timestamp-pair-step-type" + "scenarioId": "domain-internet-password-pair-memorable-pattern" }, { - "id": "runtime:domain-autoIncrement-timestamp-pair-type-outputFormat", + "id": "runtime:domain-internet-password-pair-pattern-prefix", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp pair type/outputFormat", + "command": "internet.password", + "label": "internet.password pair pattern/prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(type=\"seconds\", outputFormat=\"iso8601\")", + "command": "internet.password", + "params": "(pattern=\"[A-Z]\", prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\", outputFormat=\"iso8601\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(type=\"seconds\", outputFormat=\"iso8601\")", + "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", + "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["type", "outputFormat"], + "coveredArgs": ["pattern", "prefix"], "origins": ["pair"], - "scenarioId": "domain-autoIncrement-timestamp-pair-type-outputFormat" + "scenarioId": "domain-internet-password-pair-pattern-prefix" }, { - "id": "runtime:domain-autoIncrement-timestamp-pair-outputFormat-inputFormat", + "id": "runtime:domain-internet-port-base", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "label": "autoIncrement.timestamp pair outputFormat/inputFormat", + "command": "internet.port", + "label": "internet.port", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "autoIncrement.timestamp", - "params": "(outputFormat=\"iso8601\", inputFormat=\"dd/MM/yyyy\")", + "command": "internet.port", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\", inputFormat=\"dd/MM/yyyy\")", - "expectedUiSchemaText": "Value\nautoIncrement.timestamp(outputFormat=\"iso8601\", inputFormat=\"dd/MM/yyyy\")", + "expectedSchemaText": "Value\ninternet.port()", + "expectedUiSchemaText": "Value\ninternet.port()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["outputFormat", "inputFormat"], - "origins": ["pair"], - "scenarioId": "domain-autoIncrement-timestamp-pair-outputFormat-inputFormat" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-internet-port-base" }, { - "id": "runtime:domain-book-author-base", + "id": "runtime:domain-internet-port-example-1", "sourceType": "domain", - "command": "book.author", - "label": "book.author", + "command": "internet.port", + "label": "internet.port example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "book.author", + "command": "internet.port", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nbook.author()", - "expectedUiSchemaText": "Value\nbook.author()", + "expectedSchemaText": "Value\ninternet.port()", + "expectedUiSchemaText": "Value\ninternet.port()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-book-author-base" + "origins": ["example"], + "scenarioId": "domain-internet-port-example-1" }, { - "id": "runtime:domain-book-format-base", + "id": "runtime:domain-internet-protocol-base", "sourceType": "domain", - "command": "book.format", - "label": "book.format", + "command": "internet.protocol", + "label": "internet.protocol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "book.format", + "command": "internet.protocol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nbook.format()", - "expectedUiSchemaText": "Value\nbook.format()", + "expectedSchemaText": "Value\ninternet.protocol()", + "expectedUiSchemaText": "Value\ninternet.protocol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-book-format-base" + "scenarioId": "domain-internet-protocol-base" }, { - "id": "runtime:domain-book-genre-base", + "id": "runtime:domain-internet-protocol-example-1", "sourceType": "domain", - "command": "book.genre", - "label": "book.genre", + "command": "internet.protocol", + "label": "internet.protocol example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "book.genre", + "command": "internet.protocol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nbook.genre()", - "expectedUiSchemaText": "Value\nbook.genre()", + "expectedSchemaText": "Value\ninternet.protocol()", + "expectedUiSchemaText": "Value\ninternet.protocol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-book-genre-base" + "origins": ["example"], + "scenarioId": "domain-internet-protocol-example-1" }, { - "id": "runtime:domain-book-publisher-base", + "id": "runtime:domain-internet-url-base", "sourceType": "domain", - "command": "book.publisher", - "label": "book.publisher", + "command": "internet.url", + "label": "internet.url", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "book.publisher", + "command": "internet.url", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nbook.publisher()", - "expectedUiSchemaText": "Value\nbook.publisher()", + "expectedSchemaText": "Value\ninternet.url()", + "expectedUiSchemaText": "Value\ninternet.url()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-book-publisher-base" + "scenarioId": "domain-internet-url-base" }, { - "id": "runtime:domain-book-series-base", + "id": "runtime:domain-internet-url-example-1", "sourceType": "domain", - "command": "book.series", - "label": "book.series", + "command": "internet.url", + "label": "internet.url example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "book.series", + "command": "internet.url", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nbook.series()", - "expectedUiSchemaText": "Value\nbook.series()", + "expectedSchemaText": "Value\ninternet.url()", + "expectedUiSchemaText": "Value\ninternet.url()", "expectedFileExtension": ".csv", - "pairwiseEligible": false, - "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-book-series-base" + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["appendSlash", "protocol"], + "origins": ["example"], + "scenarioId": "domain-internet-url-example-1" }, { - "id": "runtime:domain-book-title-base", + "id": "runtime:domain-internet-url-example-2", "sourceType": "domain", - "command": "book.title", - "label": "book.title", + "command": "internet.url", + "label": "internet.url example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "book.title", - "params": "()", + "command": "internet.url", + "params": "(appendSlash=true)", "value": "" } ], - "expectedSchemaText": "Value\nbook.title()", - "expectedUiSchemaText": "Value\nbook.title()", + "expectedSchemaText": "Value\ninternet.url(appendSlash=true)", + "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-book-title-base" + "coveredArgs": ["appendSlash", "protocol"], + "origins": ["example"], + "scenarioId": "domain-internet-url-example-2" }, { - "id": "runtime:domain-chemicalElement-atomicNumber-base", + "id": "runtime:domain-internet-url-example-3", "sourceType": "domain", - "command": "chemicalElement.atomicNumber", - "label": "chemicalElement.atomicNumber", + "command": "internet.url", + "label": "internet.url example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "chemicalElement.atomicNumber", - "params": "()", + "command": "internet.url", + "params": "(protocol=\"https\")", "value": "" } ], - "expectedSchemaText": "Value\nchemicalElement.atomicNumber()", - "expectedUiSchemaText": "Value\nchemicalElement.atomicNumber()", + "expectedSchemaText": "Value\ninternet.url(protocol=\"https\")", + "expectedUiSchemaText": "Value\ninternet.url(protocol=\"https\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-chemicalElement-atomicNumber-base" + "coveredArgs": ["appendSlash", "protocol"], + "origins": ["example"], + "scenarioId": "domain-internet-url-example-3" }, { - "id": "runtime:domain-chemicalElement-name-base", + "id": "runtime:domain-internet-url-arg-appendSlash", "sourceType": "domain", - "command": "chemicalElement.name", - "label": "chemicalElement.name", + "command": "internet.url", + "label": "internet.url arg appendSlash", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "chemicalElement.name", - "params": "()", + "command": "internet.url", + "params": "(appendSlash=true)", "value": "" } ], - "expectedSchemaText": "Value\nchemicalElement.name()", - "expectedUiSchemaText": "Value\nchemicalElement.name()", + "expectedSchemaText": "Value\ninternet.url(appendSlash=true)", + "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-chemicalElement-name-base" + "coveredArgs": ["appendSlash"], + "origins": ["arg"], + "scenarioId": "domain-internet-url-arg-appendSlash" }, { - "id": "runtime:domain-chemicalElement-symbol-base", + "id": "runtime:domain-internet-url-arg-protocol", "sourceType": "domain", - "command": "chemicalElement.symbol", - "label": "chemicalElement.symbol", + "command": "internet.url", + "label": "internet.url arg protocol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "chemicalElement.symbol", - "params": "()", + "command": "internet.url", + "params": "(protocol=\"https\")", "value": "" } ], - "expectedSchemaText": "Value\nchemicalElement.symbol()", - "expectedUiSchemaText": "Value\nchemicalElement.symbol()", + "expectedSchemaText": "Value\ninternet.url(protocol=\"https\")", + "expectedUiSchemaText": "Value\ninternet.url(protocol=\"https\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-chemicalElement-symbol-base" + "coveredArgs": ["protocol"], + "origins": ["arg"], + "scenarioId": "domain-internet-url-arg-protocol" }, { - "id": "runtime:domain-color-cssSupportedFunction-base", + "id": "runtime:domain-internet-url-pair-appendSlash-protocol", "sourceType": "domain", - "command": "color.cssSupportedFunction", - "label": "color.cssSupportedFunction", + "command": "internet.url", + "label": "internet.url pair appendSlash/protocol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.cssSupportedFunction", - "params": "()", + "command": "internet.url", + "params": "(appendSlash=true, protocol=\"https\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.cssSupportedFunction()", - "expectedUiSchemaText": "Value\ncolor.cssSupportedFunction()", + "expectedSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", + "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-color-cssSupportedFunction-base" + "coveredArgs": ["appendSlash", "protocol"], + "origins": ["pair"], + "scenarioId": "domain-internet-url-pair-appendSlash-protocol" }, { - "id": "runtime:domain-color-cssSupportedSpace-base", + "id": "runtime:domain-internet-userAgent-base", "sourceType": "domain", - "command": "color.cssSupportedSpace", - "label": "color.cssSupportedSpace", + "command": "internet.userAgent", + "label": "internet.userAgent", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.cssSupportedSpace", + "command": "internet.userAgent", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.cssSupportedSpace()", - "expectedUiSchemaText": "Value\ncolor.cssSupportedSpace()", + "expectedSchemaText": "Value\ninternet.userAgent()", + "expectedUiSchemaText": "Value\ninternet.userAgent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-color-cssSupportedSpace-base" + "scenarioId": "domain-internet-userAgent-base" }, { - "id": "runtime:domain-color-human-base", + "id": "runtime:domain-internet-userAgent-example-1", "sourceType": "domain", - "command": "color.human", - "label": "color.human", + "command": "internet.userAgent", + "label": "internet.userAgent example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.human", + "command": "internet.userAgent", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.human()", - "expectedUiSchemaText": "Value\ncolor.human()", + "expectedSchemaText": "Value\ninternet.userAgent()", + "expectedUiSchemaText": "Value\ninternet.userAgent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-color-human-base" + "origins": ["example"], + "scenarioId": "domain-internet-userAgent-example-1" }, { - "id": "runtime:domain-color-rgb-base", + "id": "runtime:domain-internet-username-base", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb", + "command": "internet.username", + "label": "internet.username", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", + "command": "internet.username", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb()", - "expectedUiSchemaText": "Value\ncolor.rgb()", + "expectedSchemaText": "Value\ninternet.username()", + "expectedUiSchemaText": "Value\ninternet.username()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-color-rgb-base" + "scenarioId": "domain-internet-username-base" }, { - "id": "runtime:domain-color-rgb-arg-casing", + "id": "runtime:domain-internet-username-example-1", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg casing", + "command": "internet.username", + "label": "internet.username example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(casing=\"upper\")", + "command": "internet.username", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\")", - "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\")", + "expectedSchemaText": "Value\ninternet.username()", + "expectedUiSchemaText": "Value\ninternet.username()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], - "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-casing" + "coveredArgs": ["firstName", "lastName"], + "origins": ["example"], + "scenarioId": "domain-internet-username-example-1" }, { - "id": "runtime:domain-color-rgb-arg-format", + "id": "runtime:domain-internet-username-example-2", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg format", + "command": "internet.username", + "label": "internet.username example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(format=\"hex\")", + "command": "internet.username", + "params": "(firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\")", - "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\")", + "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["format"], - "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-format" + "coveredArgs": ["firstName", "lastName"], + "origins": ["example"], + "scenarioId": "domain-internet-username-example-2" }, { - "id": "runtime:domain-color-rgb-arg-includeAlpha", + "id": "runtime:domain-internet-username-example-3", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg includeAlpha", + "command": "internet.username", + "label": "internet.username example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(includeAlpha=true)", + "command": "internet.username", + "params": "(lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true)", - "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true)", + "expectedSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeAlpha"], - "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-includeAlpha" + "coveredArgs": ["firstName", "lastName"], + "origins": ["example"], + "scenarioId": "domain-internet-username-example-3" }, { - "id": "runtime:domain-color-rgb-arg-prefix", + "id": "runtime:domain-internet-username-arg-firstName", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb arg prefix", + "command": "internet.username", + "label": "internet.username arg firstName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(prefix=\"#\")", + "command": "internet.username", + "params": "(firstName=\"Ada\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(prefix=\"#\")", - "expectedUiSchemaText": "Value\ncolor.rgb(prefix=\"#\")", + "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\")", + "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], + "coveredArgs": ["firstName"], "origins": ["arg"], - "scenarioId": "domain-color-rgb-arg-prefix" + "scenarioId": "domain-internet-username-arg-firstName" }, { - "id": "runtime:domain-color-rgb-pair-casing-format", + "id": "runtime:domain-internet-username-arg-lastName", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb pair casing/format", + "command": "internet.username", + "label": "internet.username arg lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(casing=\"upper\", format=\"hex\")", + "command": "internet.username", + "params": "(lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", - "expectedUiSchemaText": "Value\ncolor.rgb(casing=\"upper\", format=\"hex\")", + "expectedSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "format"], - "origins": ["pair"], - "scenarioId": "domain-color-rgb-pair-casing-format" + "coveredArgs": ["lastName"], + "origins": ["arg"], + "scenarioId": "domain-internet-username-arg-lastName" }, { - "id": "runtime:domain-color-rgb-pair-format-includeAlpha", + "id": "runtime:domain-internet-username-pair-firstName-lastName", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb pair format/includeAlpha", + "command": "internet.username", + "label": "internet.username pair firstName/lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(format=\"hex\", includeAlpha=true)", + "command": "internet.username", + "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", - "expectedUiSchemaText": "Value\ncolor.rgb(format=\"hex\", includeAlpha=true)", + "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["format", "includeAlpha"], + "coveredArgs": ["firstName", "lastName"], "origins": ["pair"], - "scenarioId": "domain-color-rgb-pair-format-includeAlpha" + "scenarioId": "domain-internet-username-pair-firstName-lastName" }, { - "id": "runtime:domain-color-rgb-pair-includeAlpha-prefix", + "id": "runtime:domain-literal-value-base", "sourceType": "domain", - "command": "color.rgb", - "label": "color.rgb pair includeAlpha/prefix", + "command": "literal.value", + "label": "literal.value", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.rgb", - "params": "(includeAlpha=true, prefix=\"#\")", + "command": "literal.value", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", - "expectedUiSchemaText": "Value\ncolor.rgb(includeAlpha=true, prefix=\"#\")", + "expectedSchemaText": "Value\nliteral.value()", + "expectedUiSchemaText": "Value\nliteral.value()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeAlpha", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-color-rgb-pair-includeAlpha-prefix" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-literal-value-base" }, { - "id": "runtime:domain-color-space-base", + "id": "runtime:domain-literal-value-example-1", "sourceType": "domain", - "command": "color.space", - "label": "color.space", + "command": "literal.value", + "label": "literal.value example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "color.space", - "params": "()", + "command": "literal.value", + "params": "(value=\"Pending\")", "value": "" } ], - "expectedSchemaText": "Value\ncolor.space()", - "expectedUiSchemaText": "Value\ncolor.space()", + "expectedSchemaText": "Value\nliteral.value(value=\"Pending\")", + "expectedUiSchemaText": "Value\nliteral.value(value=\"Pending\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-color-space-base" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-1" }, { - "id": "runtime:domain-commerce-department-base", + "id": "runtime:domain-literal-value-example-2", "sourceType": "domain", - "command": "commerce.department", - "label": "commerce.department", + "command": "literal.value", + "label": "literal.value example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.department", - "params": "()", + "command": "literal.value", + "params": "(value=\"\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.department()", - "expectedUiSchemaText": "Value\ncommerce.department()", + "expectedSchemaText": "Value\nliteral.value(value=\"\")", + "expectedUiSchemaText": "Value\nliteral.value(value=\"\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-department-base" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-2" }, { - "id": "runtime:domain-commerce-isbn-base", + "id": "runtime:domain-literal-value-example-3", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn", + "command": "literal.value", + "label": "literal.value example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", + "command": "literal.value", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn()", - "expectedUiSchemaText": "Value\ncommerce.isbn()", + "expectedSchemaText": "Value\nliteral.value()", + "expectedUiSchemaText": "Value\nliteral.value()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-isbn-base" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-3" }, { - "id": "runtime:domain-commerce-isbn-arg-separator", + "id": "runtime:domain-literal-value-example-4", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn arg separator", + "command": "literal.value", + "label": "literal.value example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", - "params": "(separator=\"-\")", + "command": "literal.value", + "params": "(value=1)", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\")", - "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\")", + "expectedSchemaText": "Value\nliteral.value(value=1)", + "expectedUiSchemaText": "Value\nliteral.value(value=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-commerce-isbn-arg-separator" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-literal-value-example-4" }, { - "id": "runtime:domain-commerce-isbn-arg-variant", + "id": "runtime:domain-literal-value-arg-value", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn arg variant", + "command": "literal.value", + "label": "literal.value arg value", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", - "params": "(variant=\"13\")", + "command": "literal.value", + "params": "(value=true)", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn(variant=\"13\")", - "expectedUiSchemaText": "Value\ncommerce.isbn(variant=\"13\")", + "expectedSchemaText": "Value\nliteral.value(value=true)", + "expectedUiSchemaText": "Value\nliteral.value(value=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["variant"], + "coveredArgs": ["value"], "origins": ["arg"], - "scenarioId": "domain-commerce-isbn-arg-variant" + "scenarioId": "domain-literal-value-arg-value" }, { - "id": "runtime:domain-commerce-isbn-pair-separator-variant", + "id": "runtime:domain-location-buildingNumber-base", "sourceType": "domain", - "command": "commerce.isbn", - "label": "commerce.isbn pair separator/variant", + "command": "location.buildingNumber", + "label": "location.buildingNumber", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.isbn", - "params": "(separator=\"-\", variant=\"13\")", + "command": "location.buildingNumber", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=\"13\")", - "expectedUiSchemaText": "Value\ncommerce.isbn(separator=\"-\", variant=\"13\")", + "expectedSchemaText": "Value\nlocation.buildingNumber()", + "expectedUiSchemaText": "Value\nlocation.buildingNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator", "variant"], - "origins": ["pair"], - "scenarioId": "domain-commerce-isbn-pair-separator-variant" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-buildingNumber-base" }, { - "id": "runtime:domain-commerce-price-base", + "id": "runtime:domain-location-buildingNumber-example-1", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price", + "command": "location.buildingNumber", + "label": "location.buildingNumber example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", + "command": "location.buildingNumber", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price()", - "expectedUiSchemaText": "Value\ncommerce.price()", + "expectedSchemaText": "Value\nlocation.buildingNumber()", + "expectedUiSchemaText": "Value\nlocation.buildingNumber()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-price-base" + "origins": ["example"], + "scenarioId": "domain-location-buildingNumber-example-1" }, { - "id": "runtime:domain-commerce-price-example-1", + "id": "runtime:domain-location-cardinalDirection-base", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price example 1", + "command": "location.cardinalDirection", + "label": "location.cardinalDirection", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(dec=2, max=10, min=1, symbol=\"$\")", + "command": "location.cardinalDirection", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", - "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=10, min=1, symbol=\"$\")", + "expectedSchemaText": "Value\nlocation.cardinalDirection()", + "expectedUiSchemaText": "Value\nlocation.cardinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec", "max", "min", "symbol"], - "origins": ["example"], - "scenarioId": "domain-commerce-price-example-1" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-cardinalDirection-base" }, { - "id": "runtime:domain-commerce-price-arg-dec", + "id": "runtime:domain-location-cardinalDirection-example-1", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg dec", + "command": "location.cardinalDirection", + "label": "location.cardinalDirection example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(dec=2)", + "command": "location.cardinalDirection", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(dec=2)", - "expectedUiSchemaText": "Value\ncommerce.price(dec=2)", + "expectedSchemaText": "Value\nlocation.cardinalDirection()", + "expectedUiSchemaText": "Value\nlocation.cardinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-dec" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-cardinalDirection-example-1" }, { - "id": "runtime:domain-commerce-price-arg-max", + "id": "runtime:domain-location-city-base", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg max", + "command": "location.city", + "label": "location.city", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(max=100)", + "command": "location.city", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(max=100)", - "expectedUiSchemaText": "Value\ncommerce.price(max=100)", + "expectedSchemaText": "Value\nlocation.city()", + "expectedUiSchemaText": "Value\nlocation.city()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-city-base" }, { - "id": "runtime:domain-commerce-price-arg-min", + "id": "runtime:domain-location-city-example-1", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg min", + "command": "location.city", + "label": "location.city example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(min=1)", + "command": "location.city", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(min=1)", - "expectedUiSchemaText": "Value\ncommerce.price(min=1)", + "expectedSchemaText": "Value\nlocation.city()", + "expectedUiSchemaText": "Value\nlocation.city()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-city-example-1" }, { - "id": "runtime:domain-commerce-price-arg-symbol", + "id": "runtime:domain-location-continent-base", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price arg symbol", + "command": "location.continent", + "label": "location.continent", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(symbol=\"$\")", + "command": "location.continent", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(symbol=\"$\")", - "expectedUiSchemaText": "Value\ncommerce.price(symbol=\"$\")", + "expectedSchemaText": "Value\nlocation.continent()", + "expectedUiSchemaText": "Value\nlocation.continent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["symbol"], - "origins": ["arg"], - "scenarioId": "domain-commerce-price-arg-symbol" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-continent-base" }, { - "id": "runtime:domain-commerce-price-pair-dec-max", + "id": "runtime:domain-location-continent-example-1", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price pair dec/max", + "command": "location.continent", + "label": "location.continent example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(dec=2, max=100)", + "command": "location.continent", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(dec=2, max=100)", - "expectedUiSchemaText": "Value\ncommerce.price(dec=2, max=100)", + "expectedSchemaText": "Value\nlocation.continent()", + "expectedUiSchemaText": "Value\nlocation.continent()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec", "max"], - "origins": ["pair"], - "scenarioId": "domain-commerce-price-pair-dec-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-continent-example-1" }, { - "id": "runtime:domain-commerce-price-pair-max-min", + "id": "runtime:domain-location-country-base", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price pair max/min", + "command": "location.country", + "label": "location.country", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.price", - "params": "(max=100, min=1)", + "command": "location.country", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(max=100, min=1)", - "expectedUiSchemaText": "Value\ncommerce.price(max=100, min=1)", + "expectedSchemaText": "Value\nlocation.country()", + "expectedUiSchemaText": "Value\nlocation.country()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-commerce-price-pair-max-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-country-base" }, { - "id": "runtime:domain-commerce-price-pair-min-symbol", + "id": "runtime:domain-location-country-example-1", "sourceType": "domain", - "command": "commerce.price", - "label": "commerce.price pair min/symbol", + "command": "location.country", + "label": "location.country example 1", "rows": [ { "name": "Value", - "sourceType": "domain", - "command": "commerce.price", - "params": "(min=1, symbol=\"$\")", + "sourceType": "domain", + "command": "location.country", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", - "expectedUiSchemaText": "Value\ncommerce.price(min=1, symbol=\"$\")", + "expectedSchemaText": "Value\nlocation.country()", + "expectedUiSchemaText": "Value\nlocation.country()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "symbol"], - "origins": ["pair"], - "scenarioId": "domain-commerce-price-pair-min-symbol" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-country-example-1" }, { - "id": "runtime:domain-commerce-product-base", + "id": "runtime:domain-location-countryCode-base", "sourceType": "domain", - "command": "commerce.product", - "label": "commerce.product", + "command": "location.countryCode", + "label": "location.countryCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.product", + "command": "location.countryCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.product()", - "expectedUiSchemaText": "Value\ncommerce.product()", + "expectedSchemaText": "Value\nlocation.countryCode()", + "expectedUiSchemaText": "Value\nlocation.countryCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-commerce-product-base" + "scenarioId": "domain-location-countryCode-base" }, { - "id": "runtime:domain-commerce-productAdjective-base", + "id": "runtime:domain-location-countryCode-example-1", "sourceType": "domain", - "command": "commerce.productAdjective", - "label": "commerce.productAdjective", + "command": "location.countryCode", + "label": "location.countryCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productAdjective", + "command": "location.countryCode", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productAdjective()", - "expectedUiSchemaText": "Value\ncommerce.productAdjective()", + "expectedSchemaText": "Value\nlocation.countryCode()", + "expectedUiSchemaText": "Value\nlocation.countryCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-productAdjective-base" + "coveredArgs": ["variant"], + "origins": ["example"], + "scenarioId": "domain-location-countryCode-example-1" }, { - "id": "runtime:domain-commerce-productDescription-base", + "id": "runtime:domain-location-countryCode-example-2", "sourceType": "domain", - "command": "commerce.productDescription", - "label": "commerce.productDescription", + "command": "location.countryCode", + "label": "location.countryCode example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productDescription", - "params": "()", + "command": "location.countryCode", + "params": "(variant=\"alpha-3\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productDescription()", - "expectedUiSchemaText": "Value\ncommerce.productDescription()", + "expectedSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", + "expectedUiSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-productDescription-base" + "coveredArgs": ["variant"], + "origins": ["example"], + "scenarioId": "domain-location-countryCode-example-2" }, { - "id": "runtime:domain-commerce-productMaterial-base", + "id": "runtime:domain-location-countryCode-arg-variant", "sourceType": "domain", - "command": "commerce.productMaterial", - "label": "commerce.productMaterial", + "command": "location.countryCode", + "label": "location.countryCode arg variant", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productMaterial", - "params": "()", + "command": "location.countryCode", + "params": "(variant=\"alpha-3\")", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productMaterial()", - "expectedUiSchemaText": "Value\ncommerce.productMaterial()", + "expectedSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", + "expectedUiSchemaText": "Value\nlocation.countryCode(variant=\"alpha-3\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-productMaterial-base" + "coveredArgs": ["variant"], + "origins": ["arg"], + "scenarioId": "domain-location-countryCode-arg-variant" }, { - "id": "runtime:domain-commerce-productName-base", + "id": "runtime:domain-location-county-base", "sourceType": "domain", - "command": "commerce.productName", - "label": "commerce.productName", + "command": "location.county", + "label": "location.county", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.productName", + "command": "location.county", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.productName()", - "expectedUiSchemaText": "Value\ncommerce.productName()", + "expectedSchemaText": "Value\nlocation.county()", + "expectedUiSchemaText": "Value\nlocation.county()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-commerce-productName-base" + "scenarioId": "domain-location-county-base" }, { - "id": "runtime:domain-commerce-upc-base", + "id": "runtime:domain-location-county-example-1", "sourceType": "domain", - "command": "commerce.upc", - "label": "commerce.upc", + "command": "location.county", + "label": "location.county example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.upc", + "command": "location.county", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.upc()", - "expectedUiSchemaText": "Value\ncommerce.upc()", + "expectedSchemaText": "Value\nlocation.county()", + "expectedUiSchemaText": "Value\nlocation.county()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-commerce-upc-base" + "origins": ["example"], + "scenarioId": "domain-location-county-example-1" }, { - "id": "runtime:domain-commerce-upc-arg-prefix", + "id": "runtime:domain-location-direction-base", "sourceType": "domain", - "command": "commerce.upc", - "label": "commerce.upc arg prefix", + "command": "location.direction", + "label": "location.direction", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "commerce.upc", - "params": "(prefix=\"01234\")", + "command": "location.direction", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", - "expectedUiSchemaText": "Value\ncommerce.upc(prefix=\"01234\")", + "expectedSchemaText": "Value\nlocation.direction()", + "expectedUiSchemaText": "Value\nlocation.direction()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-commerce-upc-arg-prefix" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-direction-base" }, { - "id": "runtime:domain-company-buzzAdjective-base", + "id": "runtime:domain-location-direction-example-1", "sourceType": "domain", - "command": "company.buzzAdjective", - "label": "company.buzzAdjective", + "command": "location.direction", + "label": "location.direction example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzAdjective", + "command": "location.direction", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzAdjective()", - "expectedUiSchemaText": "Value\ncompany.buzzAdjective()", + "expectedSchemaText": "Value\nlocation.direction()", + "expectedUiSchemaText": "Value\nlocation.direction()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-buzzAdjective-base" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-direction-example-1" }, { - "id": "runtime:domain-company-buzzNoun-base", + "id": "runtime:domain-location-direction-example-2", "sourceType": "domain", - "command": "company.buzzNoun", - "label": "company.buzzNoun", + "command": "location.direction", + "label": "location.direction example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzNoun", - "params": "()", + "command": "location.direction", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzNoun()", - "expectedUiSchemaText": "Value\ncompany.buzzNoun()", + "expectedSchemaText": "Value\nlocation.direction(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.direction(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-buzzNoun-base" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-direction-example-2" }, { - "id": "runtime:domain-company-buzzPhrase-base", + "id": "runtime:domain-location-direction-arg-abbreviated", "sourceType": "domain", - "command": "company.buzzPhrase", - "label": "company.buzzPhrase", + "command": "location.direction", + "label": "location.direction arg abbreviated", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzPhrase", - "params": "()", + "command": "location.direction", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzPhrase()", - "expectedUiSchemaText": "Value\ncompany.buzzPhrase()", + "expectedSchemaText": "Value\nlocation.direction(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.direction(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-buzzPhrase-base" + "coveredArgs": ["abbreviated"], + "origins": ["arg"], + "scenarioId": "domain-location-direction-arg-abbreviated" }, { - "id": "runtime:domain-company-buzzVerb-base", + "id": "runtime:domain-location-latitude-base", "sourceType": "domain", - "command": "company.buzzVerb", - "label": "company.buzzVerb", + "command": "location.latitude", + "label": "location.latitude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.buzzVerb", + "command": "location.latitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.buzzVerb()", - "expectedUiSchemaText": "Value\ncompany.buzzVerb()", + "expectedSchemaText": "Value\nlocation.latitude()", + "expectedUiSchemaText": "Value\nlocation.latitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-company-buzzVerb-base" + "scenarioId": "domain-location-latitude-base" }, { - "id": "runtime:domain-company-catchPhrase-base", + "id": "runtime:domain-location-latitude-example-1", "sourceType": "domain", - "command": "company.catchPhrase", - "label": "company.catchPhrase", + "command": "location.latitude", + "label": "location.latitude example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhrase", + "command": "location.latitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhrase()", - "expectedUiSchemaText": "Value\ncompany.catchPhrase()", + "expectedSchemaText": "Value\nlocation.latitude()", + "expectedUiSchemaText": "Value\nlocation.latitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhrase-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-1" }, { - "id": "runtime:domain-company-catchPhraseAdjective-base", + "id": "runtime:domain-location-latitude-example-2", "sourceType": "domain", - "command": "company.catchPhraseAdjective", - "label": "company.catchPhraseAdjective", + "command": "location.latitude", + "label": "location.latitude example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhraseAdjective", - "params": "()", + "command": "location.latitude", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhraseAdjective()", - "expectedUiSchemaText": "Value\ncompany.catchPhraseAdjective()", + "expectedSchemaText": "Value\nlocation.latitude(max=10, min=1)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhraseAdjective-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-2" }, { - "id": "runtime:domain-company-catchPhraseDescriptor-base", + "id": "runtime:domain-location-latitude-example-3", "sourceType": "domain", - "command": "company.catchPhraseDescriptor", - "label": "company.catchPhraseDescriptor", + "command": "location.latitude", + "label": "location.latitude example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhraseDescriptor", - "params": "()", + "command": "location.latitude", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhraseDescriptor()", - "expectedUiSchemaText": "Value\ncompany.catchPhraseDescriptor()", + "expectedSchemaText": "Value\nlocation.latitude(max=5)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhraseDescriptor-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-3" }, { - "id": "runtime:domain-company-catchPhraseNoun-base", + "id": "runtime:domain-location-latitude-example-4", "sourceType": "domain", - "command": "company.catchPhraseNoun", - "label": "company.catchPhraseNoun", + "command": "location.latitude", + "label": "location.latitude example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.catchPhraseNoun", - "params": "()", + "command": "location.latitude", + "params": "(precision=1)", "value": "" } ], - "expectedSchemaText": "Value\ncompany.catchPhraseNoun()", - "expectedUiSchemaText": "Value\ncompany.catchPhraseNoun()", + "expectedSchemaText": "Value\nlocation.latitude(precision=1)", + "expectedUiSchemaText": "Value\nlocation.latitude(precision=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-catchPhraseNoun-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-latitude-example-4" }, { - "id": "runtime:domain-company-name-base", + "id": "runtime:domain-location-latitude-arg-min", "sourceType": "domain", - "command": "company.name", - "label": "company.name", + "command": "location.latitude", + "label": "location.latitude arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "company.name", - "params": "()", + "command": "location.latitude", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ncompany.name()", - "expectedUiSchemaText": "Value\ncompany.name()", + "expectedSchemaText": "Value\nlocation.latitude(min=1)", + "expectedUiSchemaText": "Value\nlocation.latitude(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-company-name-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-location-latitude-arg-min" }, { - "id": "runtime:domain-database-collation-base", + "id": "runtime:domain-location-latitude-arg-max", "sourceType": "domain", - "command": "database.collation", - "label": "database.collation", + "command": "location.latitude", + "label": "location.latitude arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.collation", - "params": "()", + "command": "location.latitude", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.collation()", - "expectedUiSchemaText": "Value\ndatabase.collation()", + "expectedSchemaText": "Value\nlocation.latitude(max=3)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-collation-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-location-latitude-arg-max" }, { - "id": "runtime:domain-database-column-base", + "id": "runtime:domain-location-latitude-arg-precision", "sourceType": "domain", - "command": "database.column", - "label": "database.column", + "command": "location.latitude", + "label": "location.latitude arg precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.column", - "params": "()", + "command": "location.latitude", + "params": "(precision=4)", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.column()", - "expectedUiSchemaText": "Value\ndatabase.column()", + "expectedSchemaText": "Value\nlocation.latitude(precision=4)", + "expectedUiSchemaText": "Value\nlocation.latitude(precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-column-base" + "coveredArgs": ["precision"], + "origins": ["arg"], + "scenarioId": "domain-location-latitude-arg-precision" }, { - "id": "runtime:domain-database-engine-base", + "id": "runtime:domain-location-latitude-pair-min-max", "sourceType": "domain", - "command": "database.engine", - "label": "database.engine", + "command": "location.latitude", + "label": "location.latitude pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.engine", - "params": "()", + "command": "location.latitude", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.engine()", - "expectedUiSchemaText": "Value\ndatabase.engine()", + "expectedSchemaText": "Value\nlocation.latitude(min=1, max=3)", + "expectedUiSchemaText": "Value\nlocation.latitude(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-engine-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-location-latitude-pair-min-max" }, { - "id": "runtime:domain-database-mongodbObjectId-base", + "id": "runtime:domain-location-latitude-pair-max-precision", "sourceType": "domain", - "command": "database.mongodbObjectId", - "label": "database.mongodbObjectId", + "command": "location.latitude", + "label": "location.latitude pair max/precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.mongodbObjectId", - "params": "()", + "command": "location.latitude", + "params": "(max=3, precision=4)", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.mongodbObjectId()", - "expectedUiSchemaText": "Value\ndatabase.mongodbObjectId()", + "expectedSchemaText": "Value\nlocation.latitude(max=3, precision=4)", + "expectedUiSchemaText": "Value\nlocation.latitude(max=3, precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-database-mongodbObjectId-base" + "coveredArgs": ["max", "precision"], + "origins": ["pair"], + "scenarioId": "domain-location-latitude-pair-max-precision" }, { - "id": "runtime:domain-database-type-base", + "id": "runtime:domain-location-longitude-base", "sourceType": "domain", - "command": "database.type", - "label": "database.type", + "command": "location.longitude", + "label": "location.longitude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "database.type", + "command": "location.longitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndatabase.type()", - "expectedUiSchemaText": "Value\ndatabase.type()", + "expectedSchemaText": "Value\nlocation.longitude()", + "expectedUiSchemaText": "Value\nlocation.longitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-database-type-base" + "scenarioId": "domain-location-longitude-base" }, { - "id": "runtime:domain-datatype-boolean-base", + "id": "runtime:domain-location-longitude-example-1", "sourceType": "domain", - "command": "datatype.boolean", - "label": "datatype.boolean", + "command": "location.longitude", + "label": "location.longitude example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.boolean", + "command": "location.longitude", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.boolean()", - "expectedUiSchemaText": "Value\ndatatype.boolean()", + "expectedSchemaText": "Value\nlocation.longitude()", + "expectedUiSchemaText": "Value\nlocation.longitude()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-datatype-boolean-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-1" }, { - "id": "runtime:domain-datatype-boolean-arg-probability", + "id": "runtime:domain-location-longitude-example-2", "sourceType": "domain", - "command": "datatype.boolean", - "label": "datatype.boolean arg probability", + "command": "location.longitude", + "label": "location.longitude example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.boolean", - "params": "(probability=2)", + "command": "location.longitude", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.boolean(probability=2)", - "expectedUiSchemaText": "Value\ndatatype.boolean(probability=2)", + "expectedSchemaText": "Value\nlocation.longitude(max=10, min=1)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["probability"], - "origins": ["arg"], - "scenarioId": "domain-datatype-boolean-arg-probability" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-2" }, { - "id": "runtime:domain-datatype-enum-base", + "id": "runtime:domain-location-longitude-example-3", "sourceType": "domain", - "command": "datatype.enum", - "label": "datatype.enum", + "command": "location.longitude", + "label": "location.longitude example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.enum", - "params": "(\"active\", \"inactive\", \"pending\")", + "command": "location.longitude", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.enum(\"active\", \"inactive\", \"pending\")", - "expectedUiSchemaText": "Value\nenum(\"active\", \"inactive\", \"pending\")", + "expectedSchemaText": "Value\nlocation.longitude(max=5)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-datatype-enum-base" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-3" }, { - "id": "runtime:domain-datatype-enum-arg-values", + "id": "runtime:domain-location-longitude-example-4", "sourceType": "domain", - "command": "datatype.enum", - "label": "datatype.enum arg values", + "command": "location.longitude", + "label": "location.longitude example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "datatype.enum", - "params": "(values=\"datatype-enum-values\")", + "command": "location.longitude", + "params": "(precision=1)", "value": "" } ], - "expectedSchemaText": "Value\ndatatype.enum(values=\"datatype-enum-values\")", - "expectedUiSchemaText": "Value\nenum(values=\"datatype-enum-values\")", + "expectedSchemaText": "Value\nlocation.longitude(precision=1)", + "expectedUiSchemaText": "Value\nlocation.longitude(precision=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["values"], - "origins": ["arg"], - "scenarioId": "domain-datatype-enum-arg-values" + "coveredArgs": ["min", "max", "precision"], + "origins": ["example"], + "scenarioId": "domain-location-longitude-example-4" }, { - "id": "runtime:domain-date-anytime-base", + "id": "runtime:domain-location-longitude-arg-min", "sourceType": "domain", - "command": "date.anytime", - "label": "date.anytime", + "command": "location.longitude", + "label": "location.longitude arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.anytime", - "params": "()", + "command": "location.longitude", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.anytime()", - "expectedUiSchemaText": "Value\ndate.anytime()", + "expectedSchemaText": "Value\nlocation.longitude(min=1)", + "expectedUiSchemaText": "Value\nlocation.longitude(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-anytime-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-location-longitude-arg-min" }, { - "id": "runtime:domain-date-anytime-arg-refDate", + "id": "runtime:domain-location-longitude-arg-max", "sourceType": "domain", - "command": "date.anytime", - "label": "date.anytime arg refDate", + "command": "location.longitude", + "label": "location.longitude arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.anytime", - "params": "(refDate=1577836800000)", + "command": "location.longitude", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\ndate.anytime(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.anytime(refDate=1577836800000)", + "expectedSchemaText": "Value\nlocation.longitude(max=3)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-date-anytime-arg-refDate" + "scenarioId": "domain-location-longitude-arg-max" }, { - "id": "runtime:domain-date-between-base", + "id": "runtime:domain-location-longitude-arg-precision", "sourceType": "domain", - "command": "date.between", - "label": "date.between", + "command": "location.longitude", + "label": "location.longitude arg precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(1577836800000, 1609372800000)", + "command": "location.longitude", + "params": "(precision=4)", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", - "expectedUiSchemaText": "Value\ndate.between(1577836800000, 1609372800000)", + "expectedSchemaText": "Value\nlocation.longitude(precision=4)", + "expectedUiSchemaText": "Value\nlocation.longitude(precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-between-base" + "coveredArgs": ["precision"], + "origins": ["arg"], + "scenarioId": "domain-location-longitude-arg-precision" }, { - "id": "runtime:domain-date-between-arg-from", + "id": "runtime:domain-location-longitude-pair-min-max", "sourceType": "domain", - "command": "date.between", - "label": "date.between arg from", + "command": "location.longitude", + "label": "location.longitude pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(from=1577836800000, to=1609372800000)", + "command": "location.longitude", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", - "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedSchemaText": "Value\nlocation.longitude(min=1, max=3)", + "expectedUiSchemaText": "Value\nlocation.longitude(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["from"], - "origins": ["arg"], - "scenarioId": "domain-date-between-arg-from" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-location-longitude-pair-min-max" }, { - "id": "runtime:domain-date-between-arg-to", + "id": "runtime:domain-location-longitude-pair-max-precision", "sourceType": "domain", - "command": "date.between", - "label": "date.between arg to", + "command": "location.longitude", + "label": "location.longitude pair max/precision", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(to=1609372800000, from=1577836800000)", + "command": "location.longitude", + "params": "(max=3, precision=4)", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(to=1609372800000, from=1577836800000)", - "expectedUiSchemaText": "Value\ndate.between(to=1609372800000, from=1577836800000)", + "expectedSchemaText": "Value\nlocation.longitude(max=3, precision=4)", + "expectedUiSchemaText": "Value\nlocation.longitude(max=3, precision=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["to"], - "origins": ["arg"], - "scenarioId": "domain-date-between-arg-to" + "coveredArgs": ["max", "precision"], + "origins": ["pair"], + "scenarioId": "domain-location-longitude-pair-max-precision" }, { - "id": "runtime:domain-date-between-pair-from-to", + "id": "runtime:domain-location-ordinalDirection-base", "sourceType": "domain", - "command": "date.between", - "label": "date.between pair from/to", + "command": "location.ordinalDirection", + "label": "location.ordinalDirection", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.between", - "params": "(from=1577836800000, to=1609372800000)", + "command": "location.ordinalDirection", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", - "expectedUiSchemaText": "Value\ndate.between(from=1577836800000, to=1609372800000)", + "expectedSchemaText": "Value\nlocation.ordinalDirection()", + "expectedUiSchemaText": "Value\nlocation.ordinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["from", "to"], - "origins": ["pair"], - "scenarioId": "domain-date-between-pair-from-to" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-ordinalDirection-base" }, { - "id": "runtime:domain-date-birthdate-base", + "id": "runtime:domain-location-ordinalDirection-example-1", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate", + "command": "location.ordinalDirection", + "label": "location.ordinalDirection example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", + "command": "location.ordinalDirection", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate()", - "expectedUiSchemaText": "Value\ndate.birthdate()", + "expectedSchemaText": "Value\nlocation.ordinalDirection()", + "expectedUiSchemaText": "Value\nlocation.ordinalDirection()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-birthdate-base" + "origins": ["example"], + "scenarioId": "domain-location-ordinalDirection-example-1" }, { - "id": "runtime:domain-date-birthdate-example-1", + "id": "runtime:domain-location-secondaryAddress-base", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate example 1", + "command": "location.secondaryAddress", + "label": "location.secondaryAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(refDate=20000, max=69, min=16, mode=\"age\")", + "command": "location.secondaryAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(refDate=20000, max=69, min=16, mode=\"age\")", + "expectedSchemaText": "Value\nlocation.secondaryAddress()", + "expectedUiSchemaText": "Value\nlocation.secondaryAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "max", "min", "mode"], - "origins": ["example"], - "scenarioId": "domain-date-birthdate-example-1" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-secondaryAddress-base" }, { - "id": "runtime:domain-date-birthdate-arg-refDate", + "id": "runtime:domain-location-secondaryAddress-example-1", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg refDate", + "command": "location.secondaryAddress", + "label": "location.secondaryAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "command": "location.secondaryAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, min=18, max=65, mode=\"age\")", + "expectedSchemaText": "Value\nlocation.secondaryAddress()", + "expectedUiSchemaText": "Value\nlocation.secondaryAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-refDate" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-secondaryAddress-example-1" }, { - "id": "runtime:domain-date-birthdate-arg-max", + "id": "runtime:domain-location-state-base", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg max", + "command": "location.state", + "label": "location.state", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(max=65, min=18, mode=\"age\")", + "command": "location.state", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedSchemaText": "Value\nlocation.state()", + "expectedUiSchemaText": "Value\nlocation.state()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-state-base" }, { - "id": "runtime:domain-date-birthdate-arg-min", + "id": "runtime:domain-location-state-example-1", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg min", + "command": "location.state", + "label": "location.state example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(min=18, max=65, mode=\"age\")", + "command": "location.state", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(min=18, max=65, mode=\"age\")", + "expectedSchemaText": "Value\nlocation.state()", + "expectedUiSchemaText": "Value\nlocation.state()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-min" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-state-example-1" }, { - "id": "runtime:domain-date-birthdate-arg-mode", + "id": "runtime:domain-location-state-example-2", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate arg mode", + "command": "location.state", + "label": "location.state example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(mode=\"age\", min=18, max=65)", + "command": "location.state", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", - "expectedUiSchemaText": "Value\ndate.birthdate(mode=\"age\", min=18, max=65)", + "expectedSchemaText": "Value\nlocation.state(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.state(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["mode"], - "origins": ["arg"], - "scenarioId": "domain-date-birthdate-arg-mode" + "coveredArgs": ["abbreviated"], + "origins": ["example"], + "scenarioId": "domain-location-state-example-2" }, { - "id": "runtime:domain-date-birthdate-pair-refDate-max", + "id": "runtime:domain-location-state-arg-abbreviated", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate pair refDate/max", + "command": "location.state", + "label": "location.state arg abbreviated", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "command": "location.state", + "params": "(abbreviated=true)", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(refDate=1577836800000, max=65, min=18, mode=\"age\")", + "expectedSchemaText": "Value\nlocation.state(abbreviated=true)", + "expectedUiSchemaText": "Value\nlocation.state(abbreviated=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "max"], - "origins": ["pair"], - "scenarioId": "domain-date-birthdate-pair-refDate-max" + "coveredArgs": ["abbreviated"], + "origins": ["arg"], + "scenarioId": "domain-location-state-arg-abbreviated" }, { - "id": "runtime:domain-date-birthdate-pair-max-min", + "id": "runtime:domain-location-street-base", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate pair max/min", + "command": "location.street", + "label": "location.street", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(max=65, min=18, mode=\"age\")", + "command": "location.street", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", - "expectedUiSchemaText": "Value\ndate.birthdate(max=65, min=18, mode=\"age\")", + "expectedSchemaText": "Value\nlocation.street()", + "expectedUiSchemaText": "Value\nlocation.street()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-date-birthdate-pair-max-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-street-base" }, { - "id": "runtime:domain-date-birthdate-pair-min-mode", + "id": "runtime:domain-location-street-example-1", "sourceType": "domain", - "command": "date.birthdate", - "label": "date.birthdate pair min/mode", + "command": "location.street", + "label": "location.street example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.birthdate", - "params": "(min=18, mode=\"age\", max=65)", + "command": "location.street", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", - "expectedUiSchemaText": "Value\ndate.birthdate(min=18, mode=\"age\", max=65)", + "expectedSchemaText": "Value\nlocation.street()", + "expectedUiSchemaText": "Value\nlocation.street()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "mode"], - "origins": ["pair"], - "scenarioId": "domain-date-birthdate-pair-min-mode" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-street-example-1" }, { - "id": "runtime:domain-date-future-base", + "id": "runtime:domain-location-streetAddress-base", "sourceType": "domain", - "command": "date.future", - "label": "date.future", + "command": "location.streetAddress", + "label": "location.streetAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", + "command": "location.streetAddress", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.future()", - "expectedUiSchemaText": "Value\ndate.future()", + "expectedSchemaText": "Value\nlocation.streetAddress()", + "expectedUiSchemaText": "Value\nlocation.streetAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-future-base" + "scenarioId": "domain-location-streetAddress-base" }, { - "id": "runtime:domain-date-future-arg-refDate", + "id": "runtime:domain-location-streetAddress-example-1", "sourceType": "domain", - "command": "date.future", - "label": "date.future arg refDate", + "command": "location.streetAddress", + "label": "location.streetAddress example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", - "params": "(refDate=1577836800000)", + "command": "location.streetAddress", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.future(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000)", + "expectedSchemaText": "Value\nlocation.streetAddress()", + "expectedUiSchemaText": "Value\nlocation.streetAddress()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-future-arg-refDate" + "coveredArgs": ["useFullAddress"], + "origins": ["example"], + "scenarioId": "domain-location-streetAddress-example-1" }, { - "id": "runtime:domain-date-future-arg-years", + "id": "runtime:domain-location-streetAddress-example-2", "sourceType": "domain", - "command": "date.future", - "label": "date.future arg years", + "command": "location.streetAddress", + "label": "location.streetAddress example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", - "params": "(years=2)", + "command": "location.streetAddress", + "params": "(useFullAddress=true)", "value": "" } ], - "expectedSchemaText": "Value\ndate.future(years=2)", - "expectedUiSchemaText": "Value\ndate.future(years=2)", + "expectedSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", + "expectedUiSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["years"], - "origins": ["arg"], - "scenarioId": "domain-date-future-arg-years" + "coveredArgs": ["useFullAddress"], + "origins": ["example"], + "scenarioId": "domain-location-streetAddress-example-2" }, { - "id": "runtime:domain-date-future-pair-refDate-years", + "id": "runtime:domain-location-streetAddress-arg-useFullAddress", "sourceType": "domain", - "command": "date.future", - "label": "date.future pair refDate/years", + "command": "location.streetAddress", + "label": "location.streetAddress arg useFullAddress", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.future", - "params": "(refDate=1577836800000, years=2)", + "command": "location.streetAddress", + "params": "(useFullAddress=true)", "value": "" } ], - "expectedSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", - "expectedUiSchemaText": "Value\ndate.future(refDate=1577836800000, years=2)", + "expectedSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", + "expectedUiSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "years"], - "origins": ["pair"], - "scenarioId": "domain-date-future-pair-refDate-years" + "coveredArgs": ["useFullAddress"], + "origins": ["arg"], + "scenarioId": "domain-location-streetAddress-arg-useFullAddress" }, { - "id": "runtime:domain-date-month-base", + "id": "runtime:domain-location-timeZone-base", "sourceType": "domain", - "command": "date.month", - "label": "date.month", + "command": "location.timeZone", + "label": "location.timeZone", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", + "command": "location.timeZone", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.month()", - "expectedUiSchemaText": "Value\ndate.month()", + "expectedSchemaText": "Value\nlocation.timeZone()", + "expectedUiSchemaText": "Value\nlocation.timeZone()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-month-base" + "scenarioId": "domain-location-timeZone-base" }, { - "id": "runtime:domain-date-month-arg-abbreviated", + "id": "runtime:domain-location-timeZone-example-1", "sourceType": "domain", - "command": "date.month", - "label": "date.month arg abbreviated", + "command": "location.timeZone", + "label": "location.timeZone example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "(abbreviated=true)", + "command": "location.timeZone", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.month(abbreviated=true)", - "expectedUiSchemaText": "Value\ndate.month(abbreviated=true)", + "expectedSchemaText": "Value\nlocation.timeZone()", + "expectedUiSchemaText": "Value\nlocation.timeZone()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], - "origins": ["arg"], - "scenarioId": "domain-date-month-arg-abbreviated" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-timeZone-example-1" }, { - "id": "runtime:domain-date-month-arg-context", + "id": "runtime:domain-location-zipCode-base", "sourceType": "domain", - "command": "date.month", - "label": "date.month arg context", + "command": "location.zipCode", + "label": "location.zipCode", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "(context=true)", + "command": "location.zipCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.month(context=true)", - "expectedUiSchemaText": "Value\ndate.month(context=true)", + "expectedSchemaText": "Value\nlocation.zipCode()", + "expectedUiSchemaText": "Value\nlocation.zipCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["context"], - "origins": ["arg"], - "scenarioId": "domain-date-month-arg-context" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-location-zipCode-base" }, { - "id": "runtime:domain-date-month-pair-abbreviated-context", + "id": "runtime:domain-location-zipCode-example-1", "sourceType": "domain", - "command": "date.month", - "label": "date.month pair abbreviated/context", + "command": "location.zipCode", + "label": "location.zipCode example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.month", - "params": "(abbreviated=true, context=true)", + "command": "location.zipCode", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.month(abbreviated=true, context=true)", - "expectedUiSchemaText": "Value\ndate.month(abbreviated=true, context=true)", + "expectedSchemaText": "Value\nlocation.zipCode()", + "expectedUiSchemaText": "Value\nlocation.zipCode()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated", "context"], - "origins": ["pair"], - "scenarioId": "domain-date-month-pair-abbreviated-context" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-location-zipCode-example-1" }, { - "id": "runtime:domain-date-past-base", + "id": "runtime:domain-lorem-lines-base", "sourceType": "domain", - "command": "date.past", - "label": "date.past", + "command": "lorem.lines", + "label": "lorem.lines", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", + "command": "lorem.lines", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.past()", - "expectedUiSchemaText": "Value\ndate.past()", + "expectedSchemaText": "Value\nlorem.lines()", + "expectedUiSchemaText": "Value\nlorem.lines()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-date-past-base" + "scenarioId": "domain-lorem-lines-base" }, { - "id": "runtime:domain-date-past-arg-refDate", + "id": "runtime:domain-lorem-lines-example-1", "sourceType": "domain", - "command": "date.past", - "label": "date.past arg refDate", + "command": "lorem.lines", + "label": "lorem.lines example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "(refDate=1577836800000)", + "command": "lorem.lines", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.past(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000)", + "expectedSchemaText": "Value\nlorem.lines()", + "expectedUiSchemaText": "Value\nlorem.lines()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-past-arg-refDate" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-1" }, { - "id": "runtime:domain-date-past-arg-years", + "id": "runtime:domain-lorem-lines-example-2", "sourceType": "domain", - "command": "date.past", - "label": "date.past arg years", + "command": "lorem.lines", + "label": "lorem.lines example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "(years=2)", + "command": "lorem.lines", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.past(years=2)", - "expectedUiSchemaText": "Value\ndate.past(years=2)", + "expectedSchemaText": "Value\nlorem.lines(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.lines(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["years"], - "origins": ["arg"], - "scenarioId": "domain-date-past-arg-years" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-2" }, { - "id": "runtime:domain-date-past-pair-refDate-years", + "id": "runtime:domain-lorem-lines-example-3", "sourceType": "domain", - "command": "date.past", - "label": "date.past pair refDate/years", + "command": "lorem.lines", + "label": "lorem.lines example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.past", - "params": "(refDate=1577836800000, years=2)", + "command": "lorem.lines", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", - "expectedUiSchemaText": "Value\ndate.past(refDate=1577836800000, years=2)", + "expectedSchemaText": "Value\nlorem.lines(max=5)", + "expectedUiSchemaText": "Value\nlorem.lines(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate", "years"], - "origins": ["pair"], - "scenarioId": "domain-date-past-pair-refDate-years" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-3" }, { - "id": "runtime:domain-date-recent-base", + "id": "runtime:domain-lorem-lines-example-4", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent", + "command": "lorem.lines", + "label": "lorem.lines example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "()", + "command": "lorem.lines", + "params": "(lineCount=5)", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent()", - "expectedUiSchemaText": "Value\ndate.recent()", + "expectedSchemaText": "Value\nlorem.lines(lineCount=5)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-recent-base" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-4" }, { - "id": "runtime:domain-date-recent-arg-days", + "id": "runtime:domain-lorem-lines-example-5", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent arg days", + "command": "lorem.lines", + "label": "lorem.lines example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "(days=7)", + "command": "lorem.lines", + "params": "(lineCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent(days=7)", - "expectedUiSchemaText": "Value\ndate.recent(days=7)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days"], - "origins": ["arg"], - "scenarioId": "domain-date-recent-arg-days" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-5" }, { - "id": "runtime:domain-date-recent-arg-refDate", + "id": "runtime:domain-lorem-lines-example-6", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent arg refDate", + "command": "lorem.lines", + "label": "lorem.lines example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "(refDate=1577836800000)", + "command": "lorem.lines", + "params": "(lineCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.recent(refDate=1577836800000)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-date-recent-arg-refDate" + "coveredArgs": ["min", "max", "lineCount", "lineCountMax", "lineCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-lines-example-6" }, { - "id": "runtime:domain-date-recent-pair-days-refDate", + "id": "runtime:domain-lorem-lines-arg-min", "sourceType": "domain", - "command": "date.recent", - "label": "date.recent pair days/refDate", + "command": "lorem.lines", + "label": "lorem.lines arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.recent", - "params": "(days=7, refDate=1577836800000)", + "command": "lorem.lines", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.recent(days=7, refDate=1577836800000)", + "expectedSchemaText": "Value\nlorem.lines(min=1)", + "expectedUiSchemaText": "Value\nlorem.lines(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days", "refDate"], - "origins": ["pair"], - "scenarioId": "domain-date-recent-pair-days-refDate" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-lines-arg-min" }, { - "id": "runtime:domain-date-soon-base", + "id": "runtime:domain-lorem-lines-arg-max", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon", + "command": "lorem.lines", + "label": "lorem.lines arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "()", + "command": "lorem.lines", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon()", - "expectedUiSchemaText": "Value\ndate.soon()", + "expectedSchemaText": "Value\nlorem.lines(max=3)", + "expectedUiSchemaText": "Value\nlorem.lines(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-soon-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-lines-arg-max" }, { - "id": "runtime:domain-date-soon-arg-days", + "id": "runtime:domain-lorem-lines-arg-lineCount", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon arg days", + "command": "lorem.lines", + "label": "lorem.lines arg lineCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "(days=7)", + "command": "lorem.lines", + "params": "(lineCount=2)", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon(days=7)", - "expectedUiSchemaText": "Value\ndate.soon(days=7)", + "expectedSchemaText": "Value\nlorem.lines(lineCount=2)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days"], + "coveredArgs": ["lineCount"], "origins": ["arg"], - "scenarioId": "domain-date-soon-arg-days" + "scenarioId": "domain-lorem-lines-arg-lineCount" }, { - "id": "runtime:domain-date-soon-arg-refDate", + "id": "runtime:domain-lorem-lines-arg-lineCountMax", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon arg refDate", + "command": "lorem.lines", + "label": "lorem.lines arg lineCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "(refDate=1577836800000)", + "command": "lorem.lines", + "params": "(lineCountMax=2)", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon(refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.soon(refDate=1577836800000)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], + "coveredArgs": ["lineCountMax"], "origins": ["arg"], - "scenarioId": "domain-date-soon-arg-refDate" + "scenarioId": "domain-lorem-lines-arg-lineCountMax" }, { - "id": "runtime:domain-date-soon-pair-days-refDate", + "id": "runtime:domain-lorem-lines-arg-lineCountMin", "sourceType": "domain", - "command": "date.soon", - "label": "date.soon pair days/refDate", + "command": "lorem.lines", + "label": "lorem.lines arg lineCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.soon", - "params": "(days=7, refDate=1577836800000)", + "command": "lorem.lines", + "params": "(lineCountMin=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", - "expectedUiSchemaText": "Value\ndate.soon(days=7, refDate=1577836800000)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMin=1)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMin=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["days", "refDate"], - "origins": ["pair"], - "scenarioId": "domain-date-soon-pair-days-refDate" + "coveredArgs": ["lineCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-lines-arg-lineCountMin" }, { - "id": "runtime:domain-date-timeZone-base", + "id": "runtime:domain-lorem-lines-pair-min-max", "sourceType": "domain", - "command": "date.timeZone", - "label": "date.timeZone", + "command": "lorem.lines", + "label": "lorem.lines pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.timeZone", - "params": "()", + "command": "lorem.lines", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ndate.timeZone()", - "expectedUiSchemaText": "Value\ndate.timeZone()", + "expectedSchemaText": "Value\nlorem.lines(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.lines(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-timeZone-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-min-max" }, { - "id": "runtime:domain-date-weekday-base", + "id": "runtime:domain-lorem-lines-pair-max-lineCount", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday", + "command": "lorem.lines", + "label": "lorem.lines pair max/lineCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "()", + "command": "lorem.lines", + "params": "(max=3, lineCount=2)", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday()", - "expectedUiSchemaText": "Value\ndate.weekday()", + "expectedSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", + "expectedUiSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-date-weekday-base" + "coveredArgs": ["max", "lineCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-max-lineCount" }, { - "id": "runtime:domain-date-weekday-arg-abbreviated", + "id": "runtime:domain-lorem-lines-pair-lineCount-lineCountMax", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday arg abbreviated", + "command": "lorem.lines", + "label": "lorem.lines pair lineCount/lineCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "(abbreviated=true)", + "command": "lorem.lines", + "params": "(lineCount=2, lineCountMax=2)", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday(abbreviated=true)", - "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true)", + "expectedSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], - "origins": ["arg"], - "scenarioId": "domain-date-weekday-arg-abbreviated" + "coveredArgs": ["lineCount", "lineCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-lineCount-lineCountMax" }, { - "id": "runtime:domain-date-weekday-arg-context", + "id": "runtime:domain-lorem-lines-pair-lineCountMax-lineCountMin", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday arg context", + "command": "lorem.lines", + "label": "lorem.lines pair lineCountMax/lineCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "(context=true)", + "command": "lorem.lines", + "params": "(lineCountMax=2, lineCountMin=1)", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday(context=true)", - "expectedUiSchemaText": "Value\ndate.weekday(context=true)", + "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", + "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["context"], - "origins": ["arg"], - "scenarioId": "domain-date-weekday-arg-context" + "coveredArgs": ["lineCountMax", "lineCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-lines-pair-lineCountMax-lineCountMin" }, { - "id": "runtime:domain-date-weekday-pair-abbreviated-context", + "id": "runtime:domain-lorem-paragraph-base", "sourceType": "domain", - "command": "date.weekday", - "label": "date.weekday pair abbreviated/context", + "command": "lorem.paragraph", + "label": "lorem.paragraph", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "date.weekday", - "params": "(abbreviated=true, context=true)", + "command": "lorem.paragraph", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", - "expectedUiSchemaText": "Value\ndate.weekday(abbreviated=true, context=true)", + "expectedSchemaText": "Value\nlorem.paragraph()", + "expectedUiSchemaText": "Value\nlorem.paragraph()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated", "context"], - "origins": ["pair"], - "scenarioId": "domain-date-weekday-pair-abbreviated-context" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-paragraph-base" }, { - "id": "runtime:domain-finance-accountName-base", + "id": "runtime:domain-lorem-paragraph-example-1", "sourceType": "domain", - "command": "finance.accountName", - "label": "finance.accountName", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.accountName", + "command": "lorem.paragraph", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.accountName()", - "expectedUiSchemaText": "Value\nfinance.accountName()", + "expectedSchemaText": "Value\nlorem.paragraph()", + "expectedUiSchemaText": "Value\nlorem.paragraph()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-accountName-base" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-1" }, { - "id": "runtime:domain-finance-accountNumber-base", + "id": "runtime:domain-lorem-paragraph-example-2", "sourceType": "domain", - "command": "finance.accountNumber", - "label": "finance.accountNumber", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.accountNumber", - "params": "()", + "command": "lorem.paragraph", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.accountNumber()", - "expectedUiSchemaText": "Value\nfinance.accountNumber()", + "expectedSchemaText": "Value\nlorem.paragraph(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-accountNumber-base" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-2" }, { - "id": "runtime:domain-finance-accountNumber-arg-length", + "id": "runtime:domain-lorem-paragraph-example-3", "sourceType": "domain", - "command": "finance.accountNumber", - "label": "finance.accountNumber arg length", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.accountNumber", - "params": "(length=4)", + "command": "lorem.paragraph", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.accountNumber(length=4)", - "expectedUiSchemaText": "Value\nfinance.accountNumber(length=4)", + "expectedSchemaText": "Value\nlorem.paragraph(max=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-finance-accountNumber-arg-length" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-3" }, { - "id": "runtime:domain-finance-amount-base", + "id": "runtime:domain-lorem-paragraph-example-4", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "()", + "command": "lorem.paragraph", + "params": "(sentenceCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount()", - "expectedUiSchemaText": "Value\nfinance.amount()", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-amount-base" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-4" }, { - "id": "runtime:domain-finance-amount-arg-autoFormat", + "id": "runtime:domain-lorem-paragraph-example-5", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg autoFormat", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(autoFormat=true)", + "command": "lorem.paragraph", + "params": "(sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(autoFormat=true)", - "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["autoFormat"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-autoFormat" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-5" }, { - "id": "runtime:domain-finance-amount-arg-dec", + "id": "runtime:domain-lorem-paragraph-example-6", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg dec", + "command": "lorem.paragraph", + "label": "lorem.paragraph example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(dec=2)", + "command": "lorem.paragraph", + "params": "(sentenceCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(dec=2)", - "expectedUiSchemaText": "Value\nfinance.amount(dec=2)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec"], - "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-dec" + "coveredArgs": ["min", "max", "sentenceCount", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraph-example-6" }, { - "id": "runtime:domain-finance-amount-arg-max", + "id": "runtime:domain-lorem-paragraph-arg-min", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg max", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(max=100)", + "command": "lorem.paragraph", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(max=100)", - "expectedUiSchemaText": "Value\nfinance.amount(max=100)", + "expectedSchemaText": "Value\nlorem.paragraph(min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraph(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-max" + "scenarioId": "domain-lorem-paragraph-arg-min" }, { - "id": "runtime:domain-finance-amount-arg-min", + "id": "runtime:domain-lorem-paragraph-arg-max", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg min", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(min=1)", + "command": "lorem.paragraph", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(min=1)", - "expectedUiSchemaText": "Value\nfinance.amount(min=1)", + "expectedSchemaText": "Value\nlorem.paragraph(max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-min" + "scenarioId": "domain-lorem-paragraph-arg-max" }, { - "id": "runtime:domain-finance-amount-arg-symbol", + "id": "runtime:domain-lorem-paragraph-arg-sentenceCount", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount arg symbol", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg sentenceCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(symbol=\"$\")", + "command": "lorem.paragraph", + "params": "(sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(symbol=\"$\")", - "expectedUiSchemaText": "Value\nfinance.amount(symbol=\"$\")", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["symbol"], + "coveredArgs": ["sentenceCount"], "origins": ["arg"], - "scenarioId": "domain-finance-amount-arg-symbol" + "scenarioId": "domain-lorem-paragraph-arg-sentenceCount" }, { - "id": "runtime:domain-finance-amount-pair-autoFormat-dec", + "id": "runtime:domain-lorem-paragraph-arg-sentenceCountMax", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair autoFormat/dec", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg sentenceCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(autoFormat=true, dec=2)", + "command": "lorem.paragraph", + "params": "(sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", - "expectedUiSchemaText": "Value\nfinance.amount(autoFormat=true, dec=2)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["autoFormat", "dec"], - "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-autoFormat-dec" + "coveredArgs": ["sentenceCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMax" }, { - "id": "runtime:domain-finance-amount-pair-dec-max", + "id": "runtime:domain-lorem-paragraph-arg-sentenceCountMin", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair dec/max", + "command": "lorem.paragraph", + "label": "lorem.paragraph arg sentenceCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(dec=2, max=100)", + "command": "lorem.paragraph", + "params": "(sentenceCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(dec=2, max=100)", - "expectedUiSchemaText": "Value\nfinance.amount(dec=2, max=100)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["dec", "max"], - "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-dec-max" + "coveredArgs": ["sentenceCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMin" }, { - "id": "runtime:domain-finance-amount-pair-max-min", + "id": "runtime:domain-lorem-paragraph-pair-min-max", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair max/min", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(max=100, min=1)", + "command": "lorem.paragraph", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(max=100, min=1)", - "expectedUiSchemaText": "Value\nfinance.amount(max=100, min=1)", + "expectedSchemaText": "Value\nlorem.paragraph(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraph(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], + "coveredArgs": ["min", "max"], "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-max-min" + "scenarioId": "domain-lorem-paragraph-pair-min-max" }, { - "id": "runtime:domain-finance-amount-pair-min-symbol", + "id": "runtime:domain-lorem-paragraph-pair-max-sentenceCount", "sourceType": "domain", - "command": "finance.amount", - "label": "finance.amount pair min/symbol", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair max/sentenceCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.amount", - "params": "(min=1, symbol=\"$\")", + "command": "lorem.paragraph", + "params": "(max=3, sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", - "expectedUiSchemaText": "Value\nfinance.amount(min=1, symbol=\"$\")", + "expectedSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "symbol"], + "coveredArgs": ["max", "sentenceCount"], "origins": ["pair"], - "scenarioId": "domain-finance-amount-pair-min-symbol" + "scenarioId": "domain-lorem-paragraph-pair-max-sentenceCount" }, { - "id": "runtime:domain-finance-bic-base", + "id": "runtime:domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax", "sourceType": "domain", - "command": "finance.bic", - "label": "finance.bic", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair sentenceCount/sentenceCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.bic", - "params": "()", + "command": "lorem.paragraph", + "params": "(sentenceCount=4, sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.bic()", - "expectedUiSchemaText": "Value\nfinance.bic()", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-bic-base" + "coveredArgs": ["sentenceCount", "sentenceCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax" }, { - "id": "runtime:domain-finance-bic-arg-includeBranchCode", + "id": "runtime:domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin", "sourceType": "domain", - "command": "finance.bic", - "label": "finance.bic arg includeBranchCode", + "command": "lorem.paragraph", + "label": "lorem.paragraph pair sentenceCountMax/sentenceCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.bic", - "params": "(includeBranchCode=true)", + "command": "lorem.paragraph", + "params": "(sentenceCountMax=5, sentenceCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.bic(includeBranchCode=true)", - "expectedUiSchemaText": "Value\nfinance.bic(includeBranchCode=true)", + "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeBranchCode"], - "origins": ["arg"], - "scenarioId": "domain-finance-bic-arg-includeBranchCode" + "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin" }, { - "id": "runtime:domain-finance-bitcoinAddress-base", + "id": "runtime:domain-lorem-paragraphs-base", "sourceType": "domain", - "command": "finance.bitcoinAddress", - "label": "finance.bitcoinAddress", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.bitcoinAddress", + "command": "lorem.paragraphs", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.bitcoinAddress()", - "expectedUiSchemaText": "Value\nfinance.bitcoinAddress()", + "expectedSchemaText": "Value\nlorem.paragraphs()", + "expectedUiSchemaText": "Value\nlorem.paragraphs()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-bitcoinAddress-base" + "scenarioId": "domain-lorem-paragraphs-base" }, { - "id": "runtime:domain-finance-creditCardCVV-base", + "id": "runtime:domain-lorem-paragraphs-example-1", "sourceType": "domain", - "command": "finance.creditCardCVV", - "label": "finance.creditCardCVV", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardCVV", + "command": "lorem.paragraphs", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardCVV()", - "expectedUiSchemaText": "Value\nfinance.creditCardCVV()", + "expectedSchemaText": "Value\nlorem.paragraphs()", + "expectedUiSchemaText": "Value\nlorem.paragraphs()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-creditCardCVV-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-1" }, { - "id": "runtime:domain-finance-creditCardIssuer-base", + "id": "runtime:domain-lorem-paragraphs-example-2", "sourceType": "domain", - "command": "finance.creditCardIssuer", - "label": "finance.creditCardIssuer", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardIssuer", - "params": "()", + "command": "lorem.paragraphs", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardIssuer()", - "expectedUiSchemaText": "Value\nfinance.creditCardIssuer()", + "expectedSchemaText": "Value\nlorem.paragraphs(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-creditCardIssuer-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-2" }, { - "id": "runtime:domain-finance-creditCardNumber-base", + "id": "runtime:domain-lorem-paragraphs-example-3", "sourceType": "domain", - "command": "finance.creditCardNumber", - "label": "finance.creditCardNumber", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardNumber", - "params": "()", + "command": "lorem.paragraphs", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardNumber()", - "expectedUiSchemaText": "Value\nfinance.creditCardNumber()", + "expectedSchemaText": "Value\nlorem.paragraphs(max=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-creditCardNumber-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-3" }, { - "id": "runtime:domain-finance-creditCardNumber-arg-issuer", + "id": "runtime:domain-lorem-paragraphs-example-4", "sourceType": "domain", - "command": "finance.creditCardNumber", - "label": "finance.creditCardNumber arg issuer", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.creditCardNumber", - "params": "(issuer=\"finance-creditCardNumber-issuer\")", + "command": "lorem.paragraphs", + "params": "(paragraphCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", - "expectedUiSchemaText": "Value\nfinance.creditCardNumber(issuer=\"finance-creditCardNumber-issuer\")", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["issuer"], - "origins": ["arg"], - "scenarioId": "domain-finance-creditCardNumber-arg-issuer" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-4" }, { - "id": "runtime:domain-finance-currencyCode-base", + "id": "runtime:domain-lorem-paragraphs-example-5", "sourceType": "domain", - "command": "finance.currencyCode", - "label": "finance.currencyCode", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencyCode", - "params": "()", + "command": "lorem.paragraphs", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencyCode()", - "expectedUiSchemaText": "Value\nfinance.currencyCode()", + "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-currencyCode-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-5" }, { - "id": "runtime:domain-finance-currencyName-base", + "id": "runtime:domain-lorem-paragraphs-example-6", "sourceType": "domain", - "command": "finance.currencyName", - "label": "finance.currencyName", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencyName", - "params": "()", + "command": "lorem.paragraphs", + "params": "(paragraphCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencyName()", - "expectedUiSchemaText": "Value\nfinance.currencyName()", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-currencyName-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-6" }, { - "id": "runtime:domain-finance-currencyNumericCode-base", + "id": "runtime:domain-lorem-paragraphs-example-7", "sourceType": "domain", - "command": "finance.currencyNumericCode", - "label": "finance.currencyNumericCode", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs example 7", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencyNumericCode", - "params": "()", + "command": "lorem.paragraphs", + "params": "(paragraphCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencyNumericCode()", - "expectedUiSchemaText": "Value\nfinance.currencyNumericCode()", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-currencyNumericCode-base" + "coveredArgs": ["min", "max", "paragraphCount", "separator", "paragraphCountMax", "paragraphCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-paragraphs-example-7" }, { - "id": "runtime:domain-finance-currencySymbol-base", + "id": "runtime:domain-lorem-paragraphs-arg-min", "sourceType": "domain", - "command": "finance.currencySymbol", - "label": "finance.currencySymbol", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.currencySymbol", - "params": "()", + "command": "lorem.paragraphs", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.currencySymbol()", - "expectedUiSchemaText": "Value\nfinance.currencySymbol()", + "expectedSchemaText": "Value\nlorem.paragraphs(min=1)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-currencySymbol-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-min" }, { - "id": "runtime:domain-finance-ethereumAddress-base", + "id": "runtime:domain-lorem-paragraphs-arg-max", "sourceType": "domain", - "command": "finance.ethereumAddress", - "label": "finance.ethereumAddress", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.ethereumAddress", - "params": "()", + "command": "lorem.paragraphs", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.ethereumAddress()", - "expectedUiSchemaText": "Value\nfinance.ethereumAddress()", + "expectedSchemaText": "Value\nlorem.paragraphs(max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-ethereumAddress-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-max" }, { - "id": "runtime:domain-finance-iban-base", + "id": "runtime:domain-lorem-paragraphs-arg-paragraphCount", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg paragraphCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "()", + "command": "lorem.paragraphs", + "params": "(paragraphCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban()", - "expectedUiSchemaText": "Value\nfinance.iban()", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-iban-base" + "coveredArgs": ["paragraphCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-paragraphCount" }, { - "id": "runtime:domain-finance-iban-arg-countryCode", + "id": "runtime:domain-lorem-paragraphs-arg-separator", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban arg countryCode", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "(countryCode=\"GB\")", + "command": "lorem.paragraphs", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", - "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\")", + "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["countryCode"], + "coveredArgs": ["separator"], "origins": ["arg"], - "scenarioId": "domain-finance-iban-arg-countryCode" + "scenarioId": "domain-lorem-paragraphs-arg-separator" }, { - "id": "runtime:domain-finance-iban-arg-formatted", + "id": "runtime:domain-lorem-paragraphs-arg-paragraphCountMax", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban arg formatted", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg paragraphCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "(formatted=true)", + "command": "lorem.paragraphs", + "params": "(paragraphCountMax=6)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban(formatted=true)", - "expectedUiSchemaText": "Value\nfinance.iban(formatted=true)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["formatted"], + "coveredArgs": ["paragraphCountMax"], "origins": ["arg"], - "scenarioId": "domain-finance-iban-arg-formatted" + "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMax" }, { - "id": "runtime:domain-finance-iban-pair-countryCode-formatted", + "id": "runtime:domain-lorem-paragraphs-arg-paragraphCountMin", "sourceType": "domain", - "command": "finance.iban", - "label": "finance.iban pair countryCode/formatted", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs arg paragraphCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.iban", - "params": "(countryCode=\"GB\", formatted=true)", + "command": "lorem.paragraphs", + "params": "(paragraphCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", - "expectedUiSchemaText": "Value\nfinance.iban(countryCode=\"GB\", formatted=true)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["countryCode", "formatted"], - "origins": ["pair"], - "scenarioId": "domain-finance-iban-pair-countryCode-formatted" + "coveredArgs": ["paragraphCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMin" }, { - "id": "runtime:domain-finance-litecoinAddress-base", + "id": "runtime:domain-lorem-paragraphs-pair-min-max", "sourceType": "domain", - "command": "finance.litecoinAddress", - "label": "finance.litecoinAddress", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.litecoinAddress", - "params": "()", + "command": "lorem.paragraphs", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.litecoinAddress()", - "expectedUiSchemaText": "Value\nfinance.litecoinAddress()", + "expectedSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-litecoinAddress-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-min-max" }, { - "id": "runtime:domain-finance-pin-base", + "id": "runtime:domain-lorem-paragraphs-pair-max-paragraphCount", "sourceType": "domain", - "command": "finance.pin", - "label": "finance.pin", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair max/paragraphCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.pin", - "params": "()", + "command": "lorem.paragraphs", + "params": "(max=3, paragraphCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.pin()", - "expectedUiSchemaText": "Value\nfinance.pin()", + "expectedSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-pin-base" + "coveredArgs": ["max", "paragraphCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-max-paragraphCount" }, { - "id": "runtime:domain-finance-pin-arg-length", + "id": "runtime:domain-lorem-paragraphs-pair-paragraphCount-separator", "sourceType": "domain", - "command": "finance.pin", - "label": "finance.pin arg length", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair paragraphCount/separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.pin", - "params": "(length=4)", + "command": "lorem.paragraphs", + "params": "(paragraphCount=4, separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nfinance.pin(length=4)", - "expectedUiSchemaText": "Value\nfinance.pin(length=4)", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-finance-pin-arg-length" + "coveredArgs": ["paragraphCount", "separator"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-paragraphCount-separator" }, { - "id": "runtime:domain-finance-routingNumber-base", + "id": "runtime:domain-lorem-paragraphs-pair-separator-paragraphCountMax", "sourceType": "domain", - "command": "finance.routingNumber", - "label": "finance.routingNumber", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair separator/paragraphCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.routingNumber", - "params": "()", + "command": "lorem.paragraphs", + "params": "(separator=\"-\", paragraphCountMax=6)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.routingNumber()", - "expectedUiSchemaText": "Value\nfinance.routingNumber()", + "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-routingNumber-base" + "coveredArgs": ["separator", "paragraphCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-separator-paragraphCountMax" }, { - "id": "runtime:domain-finance-transactionDescription-base", + "id": "runtime:domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin", "sourceType": "domain", - "command": "finance.transactionDescription", - "label": "finance.transactionDescription", + "command": "lorem.paragraphs", + "label": "lorem.paragraphs pair paragraphCountMax/paragraphCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.transactionDescription", - "params": "()", + "command": "lorem.paragraphs", + "params": "(paragraphCountMax=6, paragraphCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\nfinance.transactionDescription()", - "expectedUiSchemaText": "Value\nfinance.transactionDescription()", + "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-finance-transactionDescription-base" + "coveredArgs": ["paragraphCountMax", "paragraphCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin" }, { - "id": "runtime:domain-finance-transactionType-base", + "id": "runtime:domain-lorem-sentence-base", "sourceType": "domain", - "command": "finance.transactionType", - "label": "finance.transactionType", + "command": "lorem.sentence", + "label": "lorem.sentence", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "finance.transactionType", + "command": "lorem.sentence", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfinance.transactionType()", - "expectedUiSchemaText": "Value\nfinance.transactionType()", + "expectedSchemaText": "Value\nlorem.sentence()", + "expectedUiSchemaText": "Value\nlorem.sentence()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-finance-transactionType-base" + "scenarioId": "domain-lorem-sentence-base" }, { - "id": "runtime:domain-food-adjective-base", + "id": "runtime:domain-lorem-sentence-example-1", "sourceType": "domain", - "command": "food.adjective", - "label": "food.adjective", + "command": "lorem.sentence", + "label": "lorem.sentence example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.adjective", + "command": "lorem.sentence", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nfood.adjective()", - "expectedUiSchemaText": "Value\nfood.adjective()", + "expectedSchemaText": "Value\nlorem.sentence()", + "expectedUiSchemaText": "Value\nlorem.sentence()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-adjective-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-1" }, { - "id": "runtime:domain-food-description-base", + "id": "runtime:domain-lorem-sentence-example-2", "sourceType": "domain", - "command": "food.description", - "label": "food.description", + "command": "lorem.sentence", + "label": "lorem.sentence example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.description", - "params": "()", + "command": "lorem.sentence", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nfood.description()", - "expectedUiSchemaText": "Value\nfood.description()", + "expectedSchemaText": "Value\nlorem.sentence(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-description-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-2" }, { - "id": "runtime:domain-food-dish-base", + "id": "runtime:domain-lorem-sentence-example-3", "sourceType": "domain", - "command": "food.dish", - "label": "food.dish", + "command": "lorem.sentence", + "label": "lorem.sentence example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.dish", - "params": "()", + "command": "lorem.sentence", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nfood.dish()", - "expectedUiSchemaText": "Value\nfood.dish()", + "expectedSchemaText": "Value\nlorem.sentence(max=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-dish-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-3" }, { - "id": "runtime:domain-food-ethnicCategory-base", + "id": "runtime:domain-lorem-sentence-example-4", "sourceType": "domain", - "command": "food.ethnicCategory", - "label": "food.ethnicCategory", + "command": "lorem.sentence", + "label": "lorem.sentence example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.ethnicCategory", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nfood.ethnicCategory()", - "expectedUiSchemaText": "Value\nfood.ethnicCategory()", + "expectedSchemaText": "Value\nlorem.sentence(wordCount=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-ethnicCategory-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-4" }, { - "id": "runtime:domain-food-fruit-base", + "id": "runtime:domain-lorem-sentence-example-5", "sourceType": "domain", - "command": "food.fruit", - "label": "food.fruit", + "command": "lorem.sentence", + "label": "lorem.sentence example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.fruit", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nfood.fruit()", - "expectedUiSchemaText": "Value\nfood.fruit()", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-fruit-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-5" }, { - "id": "runtime:domain-food-ingredient-base", + "id": "runtime:domain-lorem-sentence-example-6", "sourceType": "domain", - "command": "food.ingredient", - "label": "food.ingredient", + "command": "lorem.sentence", + "label": "lorem.sentence example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.ingredient", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nfood.ingredient()", - "expectedUiSchemaText": "Value\nfood.ingredient()", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-ingredient-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentence-example-6" }, { - "id": "runtime:domain-food-meat-base", + "id": "runtime:domain-lorem-sentence-arg-min", "sourceType": "domain", - "command": "food.meat", - "label": "food.meat", + "command": "lorem.sentence", + "label": "lorem.sentence arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.meat", - "params": "()", + "command": "lorem.sentence", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nfood.meat()", - "expectedUiSchemaText": "Value\nfood.meat()", + "expectedSchemaText": "Value\nlorem.sentence(min=1)", + "expectedUiSchemaText": "Value\nlorem.sentence(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-meat-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-min" }, { - "id": "runtime:domain-food-spice-base", + "id": "runtime:domain-lorem-sentence-arg-max", "sourceType": "domain", - "command": "food.spice", - "label": "food.spice", + "command": "lorem.sentence", + "label": "lorem.sentence arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.spice", - "params": "()", + "command": "lorem.sentence", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nfood.spice()", - "expectedUiSchemaText": "Value\nfood.spice()", + "expectedSchemaText": "Value\nlorem.sentence(max=3)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-spice-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-max" }, { - "id": "runtime:domain-food-vegetable-base", + "id": "runtime:domain-lorem-sentence-arg-wordCount", "sourceType": "domain", - "command": "food.vegetable", - "label": "food.vegetable", + "command": "lorem.sentence", + "label": "lorem.sentence arg wordCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "food.vegetable", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nfood.vegetable()", - "expectedUiSchemaText": "Value\nfood.vegetable()", + "expectedSchemaText": "Value\nlorem.sentence(wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-food-vegetable-base" + "coveredArgs": ["wordCount"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-wordCount" }, { - "id": "runtime:domain-git-branch-base", + "id": "runtime:domain-lorem-sentence-arg-wordCountMax", "sourceType": "domain", - "command": "git.branch", - "label": "git.branch", + "command": "lorem.sentence", + "label": "lorem.sentence arg wordCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.branch", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ngit.branch()", - "expectedUiSchemaText": "Value\ngit.branch()", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-branch-base" + "coveredArgs": ["wordCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-wordCountMax" }, { - "id": "runtime:domain-git-commitDate-base", + "id": "runtime:domain-lorem-sentence-arg-wordCountMin", "sourceType": "domain", - "command": "git.commitDate", - "label": "git.commitDate", + "command": "lorem.sentence", + "label": "lorem.sentence arg wordCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitDate", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitDate()", - "expectedUiSchemaText": "Value\ngit.commitDate()", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitDate-base" + "coveredArgs": ["wordCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentence-arg-wordCountMin" }, { - "id": "runtime:domain-git-commitEntry-base", + "id": "runtime:domain-lorem-sentence-pair-min-max", "sourceType": "domain", - "command": "git.commitEntry", - "label": "git.commitEntry", + "command": "lorem.sentence", + "label": "lorem.sentence pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitEntry", - "params": "()", + "command": "lorem.sentence", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitEntry()", - "expectedUiSchemaText": "Value\ngit.commitEntry()", + "expectedSchemaText": "Value\nlorem.sentence(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.sentence(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitEntry-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-min-max" }, { - "id": "runtime:domain-git-commitMessage-base", + "id": "runtime:domain-lorem-sentence-pair-max-wordCount", "sourceType": "domain", - "command": "git.commitMessage", - "label": "git.commitMessage", + "command": "lorem.sentence", + "label": "lorem.sentence pair max/wordCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitMessage", - "params": "()", + "command": "lorem.sentence", + "params": "(max=3, wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitMessage()", - "expectedUiSchemaText": "Value\ngit.commitMessage()", + "expectedSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitMessage-base" + "coveredArgs": ["max", "wordCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-max-wordCount" }, { - "id": "runtime:domain-git-commitSha-base", + "id": "runtime:domain-lorem-sentence-pair-wordCount-wordCountMax", "sourceType": "domain", - "command": "git.commitSha", - "label": "git.commitSha", + "command": "lorem.sentence", + "label": "lorem.sentence pair wordCount/wordCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "git.commitSha", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCount=4, wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ngit.commitSha()", - "expectedUiSchemaText": "Value\ngit.commitSha()", + "expectedSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-git-commitSha-base" + "coveredArgs": ["wordCount", "wordCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-wordCount-wordCountMax" }, { - "id": "runtime:domain-hacker-abbreviation-base", + "id": "runtime:domain-lorem-sentence-pair-wordCountMax-wordCountMin", "sourceType": "domain", - "command": "hacker.abbreviation", - "label": "hacker.abbreviation", + "command": "lorem.sentence", + "label": "lorem.sentence pair wordCountMax/wordCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.abbreviation", - "params": "()", + "command": "lorem.sentence", + "params": "(wordCountMax=5, wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\nhacker.abbreviation()", - "expectedUiSchemaText": "Value\nhacker.abbreviation()", + "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-abbreviation-base" + "coveredArgs": ["wordCountMax", "wordCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentence-pair-wordCountMax-wordCountMin" }, { - "id": "runtime:domain-hacker-adjective-base", + "id": "runtime:domain-lorem-sentences-base", "sourceType": "domain", - "command": "hacker.adjective", - "label": "hacker.adjective", + "command": "lorem.sentences", + "label": "lorem.sentences", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.adjective", + "command": "lorem.sentences", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhacker.adjective()", - "expectedUiSchemaText": "Value\nhacker.adjective()", + "expectedSchemaText": "Value\nlorem.sentences()", + "expectedUiSchemaText": "Value\nlorem.sentences()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-hacker-adjective-base" + "scenarioId": "domain-lorem-sentences-base" }, { - "id": "runtime:domain-hacker-ingverb-base", + "id": "runtime:domain-lorem-sentences-example-1", "sourceType": "domain", - "command": "hacker.ingverb", - "label": "hacker.ingverb", + "command": "lorem.sentences", + "label": "lorem.sentences example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.ingverb", + "command": "lorem.sentences", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nhacker.ingverb()", - "expectedUiSchemaText": "Value\nhacker.ingverb()", + "expectedSchemaText": "Value\nlorem.sentences()", + "expectedUiSchemaText": "Value\nlorem.sentences()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-ingverb-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-1" }, { - "id": "runtime:domain-hacker-noun-base", + "id": "runtime:domain-lorem-sentences-example-2", "sourceType": "domain", - "command": "hacker.noun", - "label": "hacker.noun", + "command": "lorem.sentences", + "label": "lorem.sentences example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.noun", - "params": "()", + "command": "lorem.sentences", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nhacker.noun()", - "expectedUiSchemaText": "Value\nhacker.noun()", + "expectedSchemaText": "Value\nlorem.sentences(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-noun-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-2" }, { - "id": "runtime:domain-hacker-phrase-base", + "id": "runtime:domain-lorem-sentences-example-3", "sourceType": "domain", - "command": "hacker.phrase", - "label": "hacker.phrase", + "command": "lorem.sentences", + "label": "lorem.sentences example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.phrase", - "params": "()", + "command": "lorem.sentences", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nhacker.phrase()", - "expectedUiSchemaText": "Value\nhacker.phrase()", + "expectedSchemaText": "Value\nlorem.sentences(max=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-phrase-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-3" }, { - "id": "runtime:domain-hacker-verb-base", + "id": "runtime:domain-lorem-sentences-example-4", "sourceType": "domain", - "command": "hacker.verb", - "label": "hacker.verb", + "command": "lorem.sentences", + "label": "lorem.sentences example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "hacker.verb", - "params": "()", + "command": "lorem.sentences", + "params": "(sentenceCount=5)", "value": "" } ], - "expectedSchemaText": "Value\nhacker.verb()", - "expectedUiSchemaText": "Value\nhacker.verb()", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-hacker-verb-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-4" }, { - "id": "runtime:domain-image-avatar-base", + "id": "runtime:domain-lorem-sentences-example-5", "sourceType": "domain", - "command": "image.avatar", - "label": "image.avatar", + "command": "lorem.sentences", + "label": "lorem.sentences example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.avatar", - "params": "()", + "command": "lorem.sentences", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nimage.avatar()", - "expectedUiSchemaText": "Value\nimage.avatar()", + "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-avatar-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-5" }, { - "id": "runtime:domain-image-avatarGitHub-base", + "id": "runtime:domain-lorem-sentences-example-6", "sourceType": "domain", - "command": "image.avatarGitHub", - "label": "image.avatarGitHub", + "command": "lorem.sentences", + "label": "lorem.sentences example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.avatarGitHub", - "params": "()", + "command": "lorem.sentences", + "params": "(sentenceCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\nimage.avatarGitHub()", - "expectedUiSchemaText": "Value\nimage.avatarGitHub()", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-avatarGitHub-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-6" }, { - "id": "runtime:domain-image-dataUri-base", + "id": "runtime:domain-lorem-sentences-example-7", "sourceType": "domain", - "command": "image.dataUri", - "label": "image.dataUri", + "command": "lorem.sentences", + "label": "lorem.sentences example 7", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.dataUri", - "params": "()", + "command": "lorem.sentences", + "params": "(sentenceCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\nimage.dataUri()", - "expectedUiSchemaText": "Value\nimage.dataUri()", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-dataUri-base" + "coveredArgs": ["min", "max", "sentenceCount", "separator", "sentenceCountMax", "sentenceCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-sentences-example-7" }, { - "id": "runtime:domain-image-personPortrait-base", + "id": "runtime:domain-lorem-sentences-arg-min", "sourceType": "domain", - "command": "image.personPortrait", - "label": "image.personPortrait", + "command": "lorem.sentences", + "label": "lorem.sentences arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.personPortrait", - "params": "()", + "command": "lorem.sentences", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nimage.personPortrait()", - "expectedUiSchemaText": "Value\nimage.personPortrait()", + "expectedSchemaText": "Value\nlorem.sentences(min=1)", + "expectedUiSchemaText": "Value\nlorem.sentences(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-personPortrait-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-min" }, { - "id": "runtime:domain-image-url-base", + "id": "runtime:domain-lorem-sentences-arg-max", "sourceType": "domain", - "command": "image.url", - "label": "image.url", + "command": "lorem.sentences", + "label": "lorem.sentences arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "()", + "command": "lorem.sentences", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nimage.url()", - "expectedUiSchemaText": "Value\nimage.url()", + "expectedSchemaText": "Value\nlorem.sentences(max=3)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-url-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-max" }, { - "id": "runtime:domain-image-url-arg-height", + "id": "runtime:domain-lorem-sentences-arg-sentenceCount", "sourceType": "domain", - "command": "image.url", - "label": "image.url arg height", + "command": "lorem.sentences", + "label": "lorem.sentences arg sentenceCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "(height=2)", + "command": "lorem.sentences", + "params": "(sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\nimage.url(height=2)", - "expectedUiSchemaText": "Value\nimage.url(height=2)", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["height"], + "coveredArgs": ["sentenceCount"], "origins": ["arg"], - "scenarioId": "domain-image-url-arg-height" + "scenarioId": "domain-lorem-sentences-arg-sentenceCount" }, { - "id": "runtime:domain-image-url-arg-width", + "id": "runtime:domain-lorem-sentences-arg-separator", "sourceType": "domain", - "command": "image.url", - "label": "image.url arg width", + "command": "lorem.sentences", + "label": "lorem.sentences arg separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "(width=3)", + "command": "lorem.sentences", + "params": "(separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\nimage.url(width=3)", - "expectedUiSchemaText": "Value\nimage.url(width=3)", + "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["width"], + "coveredArgs": ["separator"], "origins": ["arg"], - "scenarioId": "domain-image-url-arg-width" + "scenarioId": "domain-lorem-sentences-arg-separator" }, { - "id": "runtime:domain-image-url-pair-height-width", + "id": "runtime:domain-lorem-sentences-arg-sentenceCountMax", "sourceType": "domain", - "command": "image.url", - "label": "image.url pair height/width", + "command": "lorem.sentences", + "label": "lorem.sentences arg sentenceCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.url", - "params": "(height=2, width=3)", + "command": "lorem.sentences", + "params": "(sentenceCountMax=6)", "value": "" } ], - "expectedSchemaText": "Value\nimage.url(height=2, width=3)", - "expectedUiSchemaText": "Value\nimage.url(height=2, width=3)", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["height", "width"], - "origins": ["pair"], - "scenarioId": "domain-image-url-pair-height-width" + "coveredArgs": ["sentenceCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-sentenceCountMax" }, { - "id": "runtime:domain-image-urlLoremFlickr-base", + "id": "runtime:domain-lorem-sentences-arg-sentenceCountMin", "sourceType": "domain", - "command": "image.urlLoremFlickr", - "label": "image.urlLoremFlickr", + "command": "lorem.sentences", + "label": "lorem.sentences arg sentenceCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.urlLoremFlickr", - "params": "()", + "command": "lorem.sentences", + "params": "(sentenceCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\nimage.urlLoremFlickr()", - "expectedUiSchemaText": "Value\nimage.urlLoremFlickr()", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-urlLoremFlickr-base" + "coveredArgs": ["sentenceCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-sentences-arg-sentenceCountMin" }, { - "id": "runtime:domain-image-urlPicsumPhotos-base", + "id": "runtime:domain-lorem-sentences-pair-min-max", "sourceType": "domain", - "command": "image.urlPicsumPhotos", - "label": "image.urlPicsumPhotos", + "command": "lorem.sentences", + "label": "lorem.sentences pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "image.urlPicsumPhotos", - "params": "()", + "command": "lorem.sentences", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nimage.urlPicsumPhotos()", - "expectedUiSchemaText": "Value\nimage.urlPicsumPhotos()", + "expectedSchemaText": "Value\nlorem.sentences(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.sentences(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-image-urlPicsumPhotos-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-min-max" }, { - "id": "runtime:domain-internet-displayName-base", + "id": "runtime:domain-lorem-sentences-pair-max-sentenceCount", "sourceType": "domain", - "command": "internet.displayName", - "label": "internet.displayName", + "command": "lorem.sentences", + "label": "lorem.sentences pair max/sentenceCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.displayName", - "params": "()", + "command": "lorem.sentences", + "params": "(max=3, sentenceCount=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.displayName()", - "expectedUiSchemaText": "Value\ninternet.displayName()", + "expectedSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", + "expectedUiSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-displayName-base" + "coveredArgs": ["max", "sentenceCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-max-sentenceCount" }, { - "id": "runtime:domain-internet-domainName-base", + "id": "runtime:domain-lorem-sentences-pair-sentenceCount-separator", "sourceType": "domain", - "command": "internet.domainName", - "label": "internet.domainName", + "command": "lorem.sentences", + "label": "lorem.sentences pair sentenceCount/separator", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.domainName", - "params": "()", + "command": "lorem.sentences", + "params": "(sentenceCount=4, separator=\"-\")", "value": "" } ], - "expectedSchemaText": "Value\ninternet.domainName()", - "expectedUiSchemaText": "Value\ninternet.domainName()", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-domainName-base" + "coveredArgs": ["sentenceCount", "separator"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-sentenceCount-separator" }, { - "id": "runtime:domain-internet-domainSuffix-base", + "id": "runtime:domain-lorem-sentences-pair-separator-sentenceCountMax", "sourceType": "domain", - "command": "internet.domainSuffix", - "label": "internet.domainSuffix", + "command": "lorem.sentences", + "label": "lorem.sentences pair separator/sentenceCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.domainSuffix", - "params": "()", + "command": "lorem.sentences", + "params": "(separator=\"-\", sentenceCountMax=6)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.domainSuffix()", - "expectedUiSchemaText": "Value\ninternet.domainSuffix()", + "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", + "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-domainSuffix-base" + "coveredArgs": ["separator", "sentenceCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-separator-sentenceCountMax" }, { - "id": "runtime:domain-internet-domainWord-base", + "id": "runtime:domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin", "sourceType": "domain", - "command": "internet.domainWord", - "label": "internet.domainWord", + "command": "lorem.sentences", + "label": "lorem.sentences pair sentenceCountMax/sentenceCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.domainWord", - "params": "()", + "command": "lorem.sentences", + "params": "(sentenceCountMax=6, sentenceCountMin=7)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.domainWord()", - "expectedUiSchemaText": "Value\ninternet.domainWord()", + "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", + "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-domainWord-base" + "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin" }, { - "id": "runtime:domain-internet-email-base", + "id": "runtime:domain-lorem-slug-base", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email", + "command": "lorem.slug", + "label": "lorem.slug", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", + "command": "lorem.slug", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email()", - "expectedUiSchemaText": "Value\ninternet.email()", + "expectedSchemaText": "Value\nlorem.slug()", + "expectedUiSchemaText": "Value\nlorem.slug()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-email-base" + "scenarioId": "domain-lorem-slug-base" }, { - "id": "runtime:domain-internet-email-arg-allowSpecialCharacters", + "id": "runtime:domain-lorem-slug-example-1", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg allowSpecialCharacters", + "command": "lorem.slug", + "label": "lorem.slug example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(allowSpecialCharacters=true)", + "command": "lorem.slug", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", - "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true)", + "expectedSchemaText": "Value\nlorem.slug()", + "expectedUiSchemaText": "Value\nlorem.slug()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowSpecialCharacters"], - "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-allowSpecialCharacters" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-1" }, { - "id": "runtime:domain-internet-email-arg-firstName", + "id": "runtime:domain-lorem-slug-example-2", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg firstName", + "command": "lorem.slug", + "label": "lorem.slug example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(firstName=\"Ada\")", + "command": "lorem.slug", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\")", - "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\")", + "expectedSchemaText": "Value\nlorem.slug(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.slug(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName"], - "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-firstName" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-2" }, { - "id": "runtime:domain-internet-email-arg-lastName", + "id": "runtime:domain-lorem-slug-example-3", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg lastName", + "command": "lorem.slug", + "label": "lorem.slug example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(lastName=\"Lovelace\")", + "command": "lorem.slug", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\")", + "expectedSchemaText": "Value\nlorem.slug(max=5)", + "expectedUiSchemaText": "Value\nlorem.slug(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lastName"], - "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-lastName" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-3" }, { - "id": "runtime:domain-internet-email-arg-provider", + "id": "runtime:domain-lorem-slug-example-4", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email arg provider", + "command": "lorem.slug", + "label": "lorem.slug example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(provider=\"example.com\")", + "command": "lorem.slug", + "params": "(wordCount=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(provider=\"example.com\")", - "expectedUiSchemaText": "Value\ninternet.email(provider=\"example.com\")", + "expectedSchemaText": "Value\nlorem.slug(wordCount=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["provider"], - "origins": ["arg"], - "scenarioId": "domain-internet-email-arg-provider" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-4" }, { - "id": "runtime:domain-internet-email-pair-allowSpecialCharacters-firstName", + "id": "runtime:domain-lorem-slug-example-5", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email pair allowSpecialCharacters/firstName", + "command": "lorem.slug", + "label": "lorem.slug example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(allowSpecialCharacters=true, firstName=\"Ada\")", + "command": "lorem.slug", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", - "expectedUiSchemaText": "Value\ninternet.email(allowSpecialCharacters=true, firstName=\"Ada\")", + "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowSpecialCharacters", "firstName"], - "origins": ["pair"], - "scenarioId": "domain-internet-email-pair-allowSpecialCharacters-firstName" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-5" }, { - "id": "runtime:domain-internet-email-pair-firstName-lastName", + "id": "runtime:domain-lorem-slug-example-6", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email pair firstName/lastName", + "command": "lorem.slug", + "label": "lorem.slug example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", + "command": "lorem.slug", + "params": "(wordCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.email(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedSchemaText": "Value\nlorem.slug(wordCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName", "lastName"], - "origins": ["pair"], - "scenarioId": "domain-internet-email-pair-firstName-lastName" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-slug-example-6" }, { - "id": "runtime:domain-internet-email-pair-lastName-provider", + "id": "runtime:domain-lorem-slug-arg-min", "sourceType": "domain", - "command": "internet.email", - "label": "internet.email pair lastName/provider", + "command": "lorem.slug", + "label": "lorem.slug arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.email", - "params": "(lastName=\"Lovelace\", provider=\"example.com\")", + "command": "lorem.slug", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", - "expectedUiSchemaText": "Value\ninternet.email(lastName=\"Lovelace\", provider=\"example.com\")", + "expectedSchemaText": "Value\nlorem.slug(min=1)", + "expectedUiSchemaText": "Value\nlorem.slug(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lastName", "provider"], - "origins": ["pair"], - "scenarioId": "domain-internet-email-pair-lastName-provider" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-min" }, { - "id": "runtime:domain-internet-emoji-base", + "id": "runtime:domain-lorem-slug-arg-max", "sourceType": "domain", - "command": "internet.emoji", - "label": "internet.emoji", + "command": "lorem.slug", + "label": "lorem.slug arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.emoji", - "params": "()", + "command": "lorem.slug", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.emoji()", - "expectedUiSchemaText": "Value\ninternet.emoji()", + "expectedSchemaText": "Value\nlorem.slug(max=3)", + "expectedUiSchemaText": "Value\nlorem.slug(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-emoji-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-max" }, { - "id": "runtime:domain-internet-emoji-arg-types", + "id": "runtime:domain-lorem-slug-arg-wordCount", "sourceType": "domain", - "command": "internet.emoji", - "label": "internet.emoji arg types", + "command": "lorem.slug", + "label": "lorem.slug arg wordCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.emoji", - "params": "(types=[\"food\"])", + "command": "lorem.slug", + "params": "(wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.emoji(types=[\"food\"])", - "expectedUiSchemaText": "Value\ninternet.emoji(types=[\"food\"])", + "expectedSchemaText": "Value\nlorem.slug(wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["types"], + "coveredArgs": ["wordCount"], "origins": ["arg"], - "scenarioId": "domain-internet-emoji-arg-types" + "scenarioId": "domain-lorem-slug-arg-wordCount" }, { - "id": "runtime:domain-internet-exampleEmail-base", + "id": "runtime:domain-lorem-slug-arg-wordCountMax", "sourceType": "domain", - "command": "internet.exampleEmail", - "label": "internet.exampleEmail", + "command": "lorem.slug", + "label": "lorem.slug arg wordCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.exampleEmail", - "params": "()", + "command": "lorem.slug", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.exampleEmail()", - "expectedUiSchemaText": "Value\ninternet.exampleEmail()", + "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-exampleEmail-base" + "coveredArgs": ["wordCountMax"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-wordCountMax" }, { - "id": "runtime:domain-internet-httpMethod-base", + "id": "runtime:domain-lorem-slug-arg-wordCountMin", "sourceType": "domain", - "command": "internet.httpMethod", - "label": "internet.httpMethod", + "command": "lorem.slug", + "label": "lorem.slug arg wordCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.httpMethod", - "params": "()", + "command": "lorem.slug", + "params": "(wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.httpMethod()", - "expectedUiSchemaText": "Value\ninternet.httpMethod()", + "expectedSchemaText": "Value\nlorem.slug(wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-httpMethod-base" + "coveredArgs": ["wordCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-slug-arg-wordCountMin" }, { - "id": "runtime:domain-internet-httpStatusCode-base", + "id": "runtime:domain-lorem-slug-pair-min-max", "sourceType": "domain", - "command": "internet.httpStatusCode", - "label": "internet.httpStatusCode", + "command": "lorem.slug", + "label": "lorem.slug pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.httpStatusCode", - "params": "()", + "command": "lorem.slug", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.httpStatusCode()", - "expectedUiSchemaText": "Value\ninternet.httpStatusCode()", + "expectedSchemaText": "Value\nlorem.slug(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.slug(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-httpStatusCode-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-min-max" }, { - "id": "runtime:domain-internet-ip-base", + "id": "runtime:domain-lorem-slug-pair-max-wordCount", "sourceType": "domain", - "command": "internet.ip", - "label": "internet.ip", + "command": "lorem.slug", + "label": "lorem.slug pair max/wordCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ip", - "params": "()", + "command": "lorem.slug", + "params": "(max=3, wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ip()", - "expectedUiSchemaText": "Value\ninternet.ip()", + "expectedSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-ip-base" + "coveredArgs": ["max", "wordCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-max-wordCount" }, { - "id": "runtime:domain-internet-ipv4-base", + "id": "runtime:domain-lorem-slug-pair-wordCount-wordCountMax", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4", + "command": "lorem.slug", + "label": "lorem.slug pair wordCount/wordCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "()", + "command": "lorem.slug", + "params": "(wordCount=4, wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4()", - "expectedUiSchemaText": "Value\ninternet.ipv4()", + "expectedSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-ipv4-base" + "coveredArgs": ["wordCount", "wordCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-wordCount-wordCountMax" }, { - "id": "runtime:domain-internet-ipv4-arg-cidrBlock", + "id": "runtime:domain-lorem-slug-pair-wordCountMax-wordCountMin", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4 arg cidrBlock", + "command": "lorem.slug", + "label": "lorem.slug pair wordCountMax/wordCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "(cidrBlock=\"192.168.0.0/24\")", + "command": "lorem.slug", + "params": "(wordCountMax=5, wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", - "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\")", + "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["cidrBlock"], - "origins": ["arg"], - "scenarioId": "domain-internet-ipv4-arg-cidrBlock" + "coveredArgs": ["wordCountMax", "wordCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-slug-pair-wordCountMax-wordCountMin" }, { - "id": "runtime:domain-internet-ipv4-arg-network", + "id": "runtime:domain-lorem-text-base", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4 arg network", + "command": "lorem.text", + "label": "lorem.text", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "(network=\"private-a\")", + "command": "lorem.text", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", - "expectedUiSchemaText": "Value\ninternet.ipv4(network=\"private-a\")", + "expectedSchemaText": "Value\nlorem.text()", + "expectedUiSchemaText": "Value\nlorem.text()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["network"], - "origins": ["arg"], - "scenarioId": "domain-internet-ipv4-arg-network" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-text-base" }, { - "id": "runtime:domain-internet-ipv4-pair-cidrBlock-network", + "id": "runtime:domain-lorem-text-example-1", "sourceType": "domain", - "command": "internet.ipv4", - "label": "internet.ipv4 pair cidrBlock/network", + "command": "lorem.text", + "label": "lorem.text example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv4", - "params": "(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", + "command": "lorem.text", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", - "expectedUiSchemaText": "Value\ninternet.ipv4(cidrBlock=\"192.168.0.0/24\", network=\"private-a\")", + "expectedSchemaText": "Value\nlorem.text()", + "expectedUiSchemaText": "Value\nlorem.text()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["cidrBlock", "network"], - "origins": ["pair"], - "scenarioId": "domain-internet-ipv4-pair-cidrBlock-network" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-lorem-text-example-1" }, { - "id": "runtime:domain-internet-ipv6-base", + "id": "runtime:domain-lorem-word-base", "sourceType": "domain", - "command": "internet.ipv6", - "label": "internet.ipv6", + "command": "lorem.word", + "label": "lorem.word", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.ipv6", + "command": "lorem.word", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.ipv6()", - "expectedUiSchemaText": "Value\ninternet.ipv6()", + "expectedSchemaText": "Value\nlorem.word()", + "expectedUiSchemaText": "Value\nlorem.word()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-internet-ipv6-base" + "scenarioId": "domain-lorem-word-base" }, { - "id": "runtime:domain-internet-jwt-base", + "id": "runtime:domain-lorem-word-example-1", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt", + "command": "lorem.word", + "label": "lorem.word example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", + "command": "lorem.word", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt()", - "expectedUiSchemaText": "Value\ninternet.jwt()", + "expectedSchemaText": "Value\nlorem.word()", + "expectedUiSchemaText": "Value\nlorem.word()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-jwt-base" + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-1" }, { - "id": "runtime:domain-internet-jwt-arg-header", + "id": "runtime:domain-lorem-word-example-2", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt arg header", + "command": "lorem.word", + "label": "lorem.word example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(header={})", + "command": "lorem.word", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(header={})", - "expectedUiSchemaText": "Value\ninternet.jwt(header={})", + "expectedSchemaText": "Value\nlorem.word(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.word(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["header"], - "origins": ["arg"], - "scenarioId": "domain-internet-jwt-arg-header" + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-2" }, { - "id": "runtime:domain-internet-jwt-arg-payload", + "id": "runtime:domain-lorem-word-example-3", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt arg payload", + "command": "lorem.word", + "label": "lorem.word example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(payload={})", + "command": "lorem.word", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(payload={})", - "expectedUiSchemaText": "Value\ninternet.jwt(payload={})", + "expectedSchemaText": "Value\nlorem.word(max=5)", + "expectedUiSchemaText": "Value\nlorem.word(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["payload"], - "origins": ["arg"], - "scenarioId": "domain-internet-jwt-arg-payload" + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-3" }, { - "id": "runtime:domain-internet-jwt-arg-refDate", + "id": "runtime:domain-lorem-word-example-4", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt arg refDate", + "command": "lorem.word", + "label": "lorem.word example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(refDate=4)", + "command": "lorem.word", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(refDate=4)", - "expectedUiSchemaText": "Value\ninternet.jwt(refDate=4)", + "expectedSchemaText": "Value\nlorem.word(length=5)", + "expectedUiSchemaText": "Value\nlorem.word(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-internet-jwt-arg-refDate" + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-4" }, { - "id": "runtime:domain-internet-jwt-pair-header-payload", + "id": "runtime:domain-lorem-word-example-5", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt pair header/payload", + "command": "lorem.word", + "label": "lorem.word example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(header={}, payload={})", + "command": "lorem.word", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(header={}, payload={})", - "expectedUiSchemaText": "Value\ninternet.jwt(header={}, payload={})", + "expectedSchemaText": "Value\nlorem.word(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nlorem.word(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["header", "payload"], - "origins": ["pair"], - "scenarioId": "domain-internet-jwt-pair-header-payload" + "coveredArgs": ["min", "max", "length", "strategy"], + "origins": ["example"], + "scenarioId": "domain-lorem-word-example-5" }, { - "id": "runtime:domain-internet-jwt-pair-payload-refDate", + "id": "runtime:domain-lorem-word-arg-min", "sourceType": "domain", - "command": "internet.jwt", - "label": "internet.jwt pair payload/refDate", + "command": "lorem.word", + "label": "lorem.word arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwt", - "params": "(payload={}, refDate=4)", + "command": "lorem.word", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwt(payload={}, refDate=4)", - "expectedUiSchemaText": "Value\ninternet.jwt(payload={}, refDate=4)", + "expectedSchemaText": "Value\nlorem.word(min=1)", + "expectedUiSchemaText": "Value\nlorem.word(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["payload", "refDate"], - "origins": ["pair"], - "scenarioId": "domain-internet-jwt-pair-payload-refDate" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-min" }, { - "id": "runtime:domain-internet-jwtAlgorithm-base", + "id": "runtime:domain-lorem-word-arg-max", "sourceType": "domain", - "command": "internet.jwtAlgorithm", - "label": "internet.jwtAlgorithm", + "command": "lorem.word", + "label": "lorem.word arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.jwtAlgorithm", - "params": "()", + "command": "lorem.word", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.jwtAlgorithm()", - "expectedUiSchemaText": "Value\ninternet.jwtAlgorithm()", + "expectedSchemaText": "Value\nlorem.word(max=3)", + "expectedUiSchemaText": "Value\nlorem.word(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-jwtAlgorithm-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-max" }, { - "id": "runtime:domain-internet-mac-base", + "id": "runtime:domain-lorem-word-arg-length", "sourceType": "domain", - "command": "internet.mac", - "label": "internet.mac", + "command": "lorem.word", + "label": "lorem.word arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.mac", - "params": "()", + "command": "lorem.word", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.mac()", - "expectedUiSchemaText": "Value\ninternet.mac()", + "expectedSchemaText": "Value\nlorem.word(length=4)", + "expectedUiSchemaText": "Value\nlorem.word(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-mac-base" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-lorem-word-arg-length" }, { - "id": "runtime:domain-internet-mac-arg-separator", + "id": "runtime:domain-lorem-word-arg-strategy", "sourceType": "domain", - "command": "internet.mac", - "label": "internet.mac arg separator", + "command": "lorem.word", + "label": "lorem.word arg strategy", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.mac", - "params": "(separator=\"-\")", + "command": "lorem.word", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\ninternet.mac(separator=\"-\")", - "expectedUiSchemaText": "Value\ninternet.mac(separator=\"-\")", + "expectedSchemaText": "Value\nlorem.word(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nlorem.word(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], + "coveredArgs": ["strategy"], "origins": ["arg"], - "scenarioId": "domain-internet-mac-arg-separator" + "scenarioId": "domain-lorem-word-arg-strategy" }, { - "id": "runtime:domain-internet-password-base", + "id": "runtime:domain-lorem-word-pair-min-max", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password", + "command": "lorem.word", + "label": "lorem.word pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "()", + "command": "lorem.word", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password()", - "expectedUiSchemaText": "Value\ninternet.password()", + "expectedSchemaText": "Value\nlorem.word(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.word(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-password-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-word-pair-min-max" }, { - "id": "runtime:domain-internet-password-example-1", + "id": "runtime:domain-lorem-word-pair-max-length", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password example 1", + "command": "lorem.word", + "label": "lorem.word pair max/length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", + "command": "lorem.word", + "params": "(max=3, length=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", + "expectedSchemaText": "Value\nlorem.word(max=3, length=4)", + "expectedUiSchemaText": "Value\nlorem.word(max=3, length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "memorable", "pattern", "prefix"], - "origins": ["example"], - "scenarioId": "domain-internet-password-example-1" + "coveredArgs": ["max", "length"], + "origins": ["pair"], + "scenarioId": "domain-lorem-word-pair-max-length" }, { - "id": "runtime:domain-internet-password-arg-length", + "id": "runtime:domain-lorem-word-pair-length-strategy", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg length", + "command": "lorem.word", + "label": "lorem.word pair length/strategy", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(length=12)", + "command": "lorem.word", + "params": "(length=4, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=12)", - "expectedUiSchemaText": "Value\ninternet.password(length=12)", + "expectedSchemaText": "Value\nlorem.word(length=4, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nlorem.word(length=4, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-length" + "coveredArgs": ["length", "strategy"], + "origins": ["pair"], + "scenarioId": "domain-lorem-word-pair-length-strategy" }, { - "id": "runtime:domain-internet-password-arg-memorable", + "id": "runtime:domain-lorem-words-base", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg memorable", + "command": "lorem.words", + "label": "lorem.words", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(memorable=true)", + "command": "lorem.words", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(memorable=true)", - "expectedUiSchemaText": "Value\ninternet.password(memorable=true)", + "expectedSchemaText": "Value\nlorem.words()", + "expectedUiSchemaText": "Value\nlorem.words()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["memorable"], - "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-memorable" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-lorem-words-base" }, { - "id": "runtime:domain-internet-password-arg-pattern", + "id": "runtime:domain-lorem-words-example-1", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg pattern", + "command": "lorem.words", + "label": "lorem.words example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(pattern=\"[A-Z]\")", + "command": "lorem.words", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", - "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\")", + "expectedSchemaText": "Value\nlorem.words()", + "expectedUiSchemaText": "Value\nlorem.words()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern"], - "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-pattern" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-1" }, { - "id": "runtime:domain-internet-password-arg-prefix", + "id": "runtime:domain-lorem-words-example-2", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password arg prefix", + "command": "lorem.words", + "label": "lorem.words example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(prefix=\"#\")", + "command": "lorem.words", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(prefix=\"#\")", + "expectedSchemaText": "Value\nlorem.words(max=10, min=1)", + "expectedUiSchemaText": "Value\nlorem.words(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-internet-password-arg-prefix" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-2" }, { - "id": "runtime:domain-internet-password-pair-length-memorable", + "id": "runtime:domain-lorem-words-example-3", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password pair length/memorable", + "command": "lorem.words", + "label": "lorem.words example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(length=12, memorable=true)", + "command": "lorem.words", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=12, memorable=true)", - "expectedUiSchemaText": "Value\ninternet.password(length=12, memorable=true)", + "expectedSchemaText": "Value\nlorem.words(max=5)", + "expectedUiSchemaText": "Value\nlorem.words(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "memorable"], - "origins": ["pair"], - "scenarioId": "domain-internet-password-pair-length-memorable" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-3" }, { - "id": "runtime:domain-internet-password-pair-memorable-pattern", + "id": "runtime:domain-lorem-words-example-4", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password pair memorable/pattern", + "command": "lorem.words", + "label": "lorem.words example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(memorable=true, pattern=\"[A-Z]\")", + "command": "lorem.words", + "params": "(wordCount=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", - "expectedUiSchemaText": "Value\ninternet.password(memorable=true, pattern=\"[A-Z]\")", + "expectedSchemaText": "Value\nlorem.words(wordCount=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCount=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["memorable", "pattern"], - "origins": ["pair"], - "scenarioId": "domain-internet-password-pair-memorable-pattern" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-4" }, { - "id": "runtime:domain-internet-password-pair-pattern-prefix", + "id": "runtime:domain-lorem-words-example-5", "sourceType": "domain", - "command": "internet.password", - "label": "internet.password pair pattern/prefix", + "command": "lorem.words", + "label": "lorem.words example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.password", - "params": "(pattern=\"[A-Z]\", prefix=\"#\")", + "command": "lorem.words", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(pattern=\"[A-Z]\", prefix=\"#\")", + "expectedSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["pattern", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-internet-password-pair-pattern-prefix" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-5" }, { - "id": "runtime:domain-internet-port-base", + "id": "runtime:domain-lorem-words-example-6", "sourceType": "domain", - "command": "internet.port", - "label": "internet.port", + "command": "lorem.words", + "label": "lorem.words example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.port", - "params": "()", + "command": "lorem.words", + "params": "(wordCountMin=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.port()", - "expectedUiSchemaText": "Value\ninternet.port()", + "expectedSchemaText": "Value\nlorem.words(wordCountMin=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMin=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-port-base" + "coveredArgs": ["min", "max", "wordCount", "wordCountMax", "wordCountMin"], + "origins": ["example"], + "scenarioId": "domain-lorem-words-example-6" }, { - "id": "runtime:domain-internet-protocol-base", + "id": "runtime:domain-lorem-words-arg-min", "sourceType": "domain", - "command": "internet.protocol", - "label": "internet.protocol", + "command": "lorem.words", + "label": "lorem.words arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.protocol", - "params": "()", + "command": "lorem.words", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.protocol()", - "expectedUiSchemaText": "Value\ninternet.protocol()", + "expectedSchemaText": "Value\nlorem.words(min=1)", + "expectedUiSchemaText": "Value\nlorem.words(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-protocol-base" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-min" }, { - "id": "runtime:domain-internet-url-base", + "id": "runtime:domain-lorem-words-arg-max", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url", + "command": "lorem.words", + "label": "lorem.words arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "()", + "command": "lorem.words", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url()", - "expectedUiSchemaText": "Value\ninternet.url()", + "expectedSchemaText": "Value\nlorem.words(max=3)", + "expectedUiSchemaText": "Value\nlorem.words(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-url-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-max" }, { - "id": "runtime:domain-internet-url-arg-appendSlash", + "id": "runtime:domain-lorem-words-arg-wordCount", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url arg appendSlash", + "command": "lorem.words", + "label": "lorem.words arg wordCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "(appendSlash=true)", + "command": "lorem.words", + "params": "(wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url(appendSlash=true)", - "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true)", + "expectedSchemaText": "Value\nlorem.words(wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.words(wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["appendSlash"], + "coveredArgs": ["wordCount"], "origins": ["arg"], - "scenarioId": "domain-internet-url-arg-appendSlash" + "scenarioId": "domain-lorem-words-arg-wordCount" }, { - "id": "runtime:domain-internet-url-arg-protocol", + "id": "runtime:domain-lorem-words-arg-wordCountMax", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url arg protocol", + "command": "lorem.words", + "label": "lorem.words arg wordCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "(protocol=\"https\")", + "command": "lorem.words", + "params": "(wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url(protocol=\"https\")", - "expectedUiSchemaText": "Value\ninternet.url(protocol=\"https\")", + "expectedSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["protocol"], + "coveredArgs": ["wordCountMax"], "origins": ["arg"], - "scenarioId": "domain-internet-url-arg-protocol" + "scenarioId": "domain-lorem-words-arg-wordCountMax" }, { - "id": "runtime:domain-internet-url-pair-appendSlash-protocol", + "id": "runtime:domain-lorem-words-arg-wordCountMin", "sourceType": "domain", - "command": "internet.url", - "label": "internet.url pair appendSlash/protocol", + "command": "lorem.words", + "label": "lorem.words arg wordCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.url", - "params": "(appendSlash=true, protocol=\"https\")", + "command": "lorem.words", + "params": "(wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", - "expectedUiSchemaText": "Value\ninternet.url(appendSlash=true, protocol=\"https\")", + "expectedSchemaText": "Value\nlorem.words(wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["appendSlash", "protocol"], - "origins": ["pair"], - "scenarioId": "domain-internet-url-pair-appendSlash-protocol" + "coveredArgs": ["wordCountMin"], + "origins": ["arg"], + "scenarioId": "domain-lorem-words-arg-wordCountMin" }, { - "id": "runtime:domain-internet-userAgent-base", + "id": "runtime:domain-lorem-words-pair-min-max", "sourceType": "domain", - "command": "internet.userAgent", - "label": "internet.userAgent", + "command": "lorem.words", + "label": "lorem.words pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.userAgent", - "params": "()", + "command": "lorem.words", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.userAgent()", - "expectedUiSchemaText": "Value\ninternet.userAgent()", + "expectedSchemaText": "Value\nlorem.words(min=1, max=3)", + "expectedUiSchemaText": "Value\nlorem.words(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-userAgent-base" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-min-max" }, { - "id": "runtime:domain-internet-username-base", + "id": "runtime:domain-lorem-words-pair-max-wordCount", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username", + "command": "lorem.words", + "label": "lorem.words pair max/wordCount", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "()", + "command": "lorem.words", + "params": "(max=3, wordCount=4)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username()", - "expectedUiSchemaText": "Value\ninternet.username()", + "expectedSchemaText": "Value\nlorem.words(max=3, wordCount=4)", + "expectedUiSchemaText": "Value\nlorem.words(max=3, wordCount=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-internet-username-base" + "coveredArgs": ["max", "wordCount"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-max-wordCount" }, { - "id": "runtime:domain-internet-username-arg-firstName", + "id": "runtime:domain-lorem-words-pair-wordCount-wordCountMax", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username arg firstName", + "command": "lorem.words", + "label": "lorem.words pair wordCount/wordCountMax", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "(firstName=\"Ada\")", + "command": "lorem.words", + "params": "(wordCount=4, wordCountMax=5)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\")", - "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\")", + "expectedSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", + "expectedUiSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName"], - "origins": ["arg"], - "scenarioId": "domain-internet-username-arg-firstName" + "coveredArgs": ["wordCount", "wordCountMax"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-wordCount-wordCountMax" }, { - "id": "runtime:domain-internet-username-arg-lastName", + "id": "runtime:domain-lorem-words-pair-wordCountMax-wordCountMin", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username arg lastName", + "command": "lorem.words", + "label": "lorem.words pair wordCountMax/wordCountMin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "(lastName=\"Lovelace\")", + "command": "lorem.words", + "params": "(wordCountMax=5, wordCountMin=6)", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.username(lastName=\"Lovelace\")", + "expectedSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", + "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lastName"], - "origins": ["arg"], - "scenarioId": "domain-internet-username-arg-lastName" + "coveredArgs": ["wordCountMax", "wordCountMin"], + "origins": ["pair"], + "scenarioId": "domain-lorem-words-pair-wordCountMax-wordCountMin" }, { - "id": "runtime:domain-internet-username-pair-firstName-lastName", + "id": "runtime:domain-music-album-base", "sourceType": "domain", - "command": "internet.username", - "label": "internet.username pair firstName/lastName", + "command": "music.album", + "label": "music.album", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "internet.username", - "params": "(firstName=\"Ada\", lastName=\"Lovelace\")", + "command": "music.album", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", - "expectedUiSchemaText": "Value\ninternet.username(firstName=\"Ada\", lastName=\"Lovelace\")", + "expectedSchemaText": "Value\nmusic.album()", + "expectedUiSchemaText": "Value\nmusic.album()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["firstName", "lastName"], - "origins": ["pair"], - "scenarioId": "domain-internet-username-pair-firstName-lastName" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-album-base" }, { - "id": "runtime:domain-literal-value-base", + "id": "runtime:domain-music-album-example-1", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value", + "command": "music.album", + "label": "music.album example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", + "command": "music.album", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value()", - "expectedUiSchemaText": "Value\nliteral.value()", + "expectedSchemaText": "Value\nmusic.album()", + "expectedUiSchemaText": "Value\nmusic.album()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-literal-value-base" + "origins": ["example"], + "scenarioId": "domain-music-album-example-1" }, { - "id": "runtime:domain-literal-value-example-1", + "id": "runtime:domain-music-artist-base", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value example 1", + "command": "music.artist", + "label": "music.artist", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "(\"Pending\")", + "command": "music.artist", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(\"Pending\")", - "expectedUiSchemaText": "Value\nliteral.value(\"Pending\")", + "expectedSchemaText": "Value\nmusic.artist()", + "expectedUiSchemaText": "Value\nmusic.artist()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], - "origins": ["example"], - "scenarioId": "domain-literal-value-example-1" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-artist-base" }, { - "id": "runtime:domain-literal-value-example-2", + "id": "runtime:domain-music-artist-example-1", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value example 2", + "command": "music.artist", + "label": "music.artist example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "(\"\")", + "command": "music.artist", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(\"\")", - "expectedUiSchemaText": "Value\nliteral.value(\"\")", + "expectedSchemaText": "Value\nmusic.artist()", + "expectedUiSchemaText": "Value\nmusic.artist()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], + "coveredArgs": [], "origins": ["example"], - "scenarioId": "domain-literal-value-example-2" + "scenarioId": "domain-music-artist-example-1" }, { - "id": "runtime:domain-literal-value-arg-value", + "id": "runtime:domain-music-genre-base", "sourceType": "domain", - "command": "literal.value", - "label": "literal.value arg value", + "command": "music.genre", + "label": "music.genre", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "literal.value", - "params": "(value=true)", + "command": "music.genre", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(value=true)", - "expectedUiSchemaText": "Value\nliteral.value(value=true)", + "expectedSchemaText": "Value\nmusic.genre()", + "expectedUiSchemaText": "Value\nmusic.genre()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], - "origins": ["arg"], - "scenarioId": "domain-literal-value-arg-value" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-music-genre-base" }, { - "id": "runtime:domain-location-buildingNumber-base", + "id": "runtime:domain-music-genre-example-1", "sourceType": "domain", - "command": "location.buildingNumber", - "label": "location.buildingNumber", + "command": "music.genre", + "label": "music.genre example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.buildingNumber", + "command": "music.genre", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.buildingNumber()", - "expectedUiSchemaText": "Value\nlocation.buildingNumber()", + "expectedSchemaText": "Value\nmusic.genre()", + "expectedUiSchemaText": "Value\nmusic.genre()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-buildingNumber-base" + "origins": ["example"], + "scenarioId": "domain-music-genre-example-1" }, { - "id": "runtime:domain-location-cardinalDirection-base", + "id": "runtime:domain-music-songName-base", "sourceType": "domain", - "command": "location.cardinalDirection", - "label": "location.cardinalDirection", + "command": "music.songName", + "label": "music.songName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.cardinalDirection", + "command": "music.songName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.cardinalDirection()", - "expectedUiSchemaText": "Value\nlocation.cardinalDirection()", + "expectedSchemaText": "Value\nmusic.songName()", + "expectedUiSchemaText": "Value\nmusic.songName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-cardinalDirection-base" + "scenarioId": "domain-music-songName-base" }, { - "id": "runtime:domain-location-city-base", + "id": "runtime:domain-music-songName-example-1", "sourceType": "domain", - "command": "location.city", - "label": "location.city", + "command": "music.songName", + "label": "music.songName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.city", + "command": "music.songName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.city()", - "expectedUiSchemaText": "Value\nlocation.city()", + "expectedSchemaText": "Value\nmusic.songName()", + "expectedUiSchemaText": "Value\nmusic.songName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-city-base" + "origins": ["example"], + "scenarioId": "domain-music-songName-example-1" }, { - "id": "runtime:domain-location-continent-base", + "id": "runtime:domain-number-bigInt-base", "sourceType": "domain", - "command": "location.continent", - "label": "location.continent", + "command": "number.bigInt", + "label": "number.bigInt", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.continent", + "command": "number.bigInt", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.continent()", - "expectedUiSchemaText": "Value\nlocation.continent()", + "expectedSchemaText": "Value\nnumber.bigInt()", + "expectedUiSchemaText": "Value\nnumber.bigInt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-continent-base" + "scenarioId": "domain-number-bigInt-base" }, { - "id": "runtime:domain-location-country-base", + "id": "runtime:domain-number-bigInt-example-1", "sourceType": "domain", - "command": "location.country", - "label": "location.country", + "command": "number.bigInt", + "label": "number.bigInt example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.country", + "command": "number.bigInt", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.country()", - "expectedUiSchemaText": "Value\nlocation.country()", + "expectedSchemaText": "Value\nnumber.bigInt()", + "expectedUiSchemaText": "Value\nnumber.bigInt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-country-base" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-number-bigInt-example-1" }, { - "id": "runtime:domain-location-countryCode-base", + "id": "runtime:domain-number-bigInt-example-2", "sourceType": "domain", - "command": "location.countryCode", - "label": "location.countryCode", + "command": "number.bigInt", + "label": "number.bigInt example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.countryCode", - "params": "()", + "command": "number.bigInt", + "params": "(value=true)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.countryCode()", - "expectedUiSchemaText": "Value\nlocation.countryCode()", + "expectedSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedUiSchemaText": "Value\nnumber.bigInt(value=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-countryCode-base" + "coveredArgs": ["value"], + "origins": ["example"], + "scenarioId": "domain-number-bigInt-example-2" }, { - "id": "runtime:domain-location-county-base", + "id": "runtime:domain-number-bigInt-arg-value", "sourceType": "domain", - "command": "location.county", - "label": "location.county", + "command": "number.bigInt", + "label": "number.bigInt arg value", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.county", - "params": "()", + "command": "number.bigInt", + "params": "(value=true)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.county()", - "expectedUiSchemaText": "Value\nlocation.county()", + "expectedSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedUiSchemaText": "Value\nnumber.bigInt(value=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-county-base" + "coveredArgs": ["value"], + "origins": ["arg"], + "scenarioId": "domain-number-bigInt-arg-value" }, { - "id": "runtime:domain-location-direction-base", + "id": "runtime:domain-number-binary-base", "sourceType": "domain", - "command": "location.direction", - "label": "location.direction", + "command": "number.binary", + "label": "number.binary", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.direction", + "command": "number.binary", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.direction()", - "expectedUiSchemaText": "Value\nlocation.direction()", + "expectedSchemaText": "Value\nnumber.binary()", + "expectedUiSchemaText": "Value\nnumber.binary()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-direction-base" + "scenarioId": "domain-number-binary-base" }, { - "id": "runtime:domain-location-direction-arg-abbreviated", + "id": "runtime:domain-number-binary-example-1", "sourceType": "domain", - "command": "location.direction", - "label": "location.direction arg abbreviated", + "command": "number.binary", + "label": "number.binary example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.direction", - "params": "(abbreviated=true)", + "command": "number.binary", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.direction(abbreviated=true)", - "expectedUiSchemaText": "Value\nlocation.direction(abbreviated=true)", + "expectedSchemaText": "Value\nnumber.binary()", + "expectedUiSchemaText": "Value\nnumber.binary()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], - "origins": ["arg"], - "scenarioId": "domain-location-direction-arg-abbreviated" + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-binary-example-1" }, { - "id": "runtime:domain-location-latitude-base", + "id": "runtime:domain-number-binary-example-2", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude", + "command": "number.binary", + "label": "number.binary example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "()", + "command": "number.binary", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude()", - "expectedUiSchemaText": "Value\nlocation.latitude()", + "expectedSchemaText": "Value\nnumber.binary(max=5)", + "expectedUiSchemaText": "Value\nnumber.binary(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-latitude-base" + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-binary-example-2" }, { - "id": "runtime:domain-location-latitude-arg-min", + "id": "runtime:domain-number-binary-example-3", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude arg min", + "command": "number.binary", + "label": "number.binary example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(min=1)", + "command": "number.binary", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(min=1)", - "expectedUiSchemaText": "Value\nlocation.latitude(min=1)", + "expectedSchemaText": "Value\nnumber.binary(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.binary(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-location-latitude-arg-min" + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-binary-example-3" }, { - "id": "runtime:domain-location-latitude-arg-max", + "id": "runtime:domain-number-binary-arg-max", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude arg max", + "command": "number.binary", + "label": "number.binary arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", + "command": "number.binary", "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(max=3)", - "expectedUiSchemaText": "Value\nlocation.latitude(max=3)", + "expectedSchemaText": "Value\nnumber.binary(max=3)", + "expectedUiSchemaText": "Value\nnumber.binary(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-location-latitude-arg-max" + "scenarioId": "domain-number-binary-arg-max" }, { - "id": "runtime:domain-location-latitude-arg-precision", + "id": "runtime:domain-number-binary-arg-min", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude arg precision", + "command": "number.binary", + "label": "number.binary arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(precision=4)", + "command": "number.binary", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(precision=4)", - "expectedUiSchemaText": "Value\nlocation.latitude(precision=4)", + "expectedSchemaText": "Value\nnumber.binary(min=1)", + "expectedUiSchemaText": "Value\nnumber.binary(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["precision"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-location-latitude-arg-precision" + "scenarioId": "domain-number-binary-arg-min" }, { - "id": "runtime:domain-location-latitude-pair-min-max", + "id": "runtime:domain-number-binary-pair-max-min", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude pair min/max", + "command": "number.binary", + "label": "number.binary pair max/min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(min=1, max=3)", + "command": "number.binary", + "params": "(max=3, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(min=1, max=3)", - "expectedUiSchemaText": "Value\nlocation.latitude(min=1, max=3)", + "expectedSchemaText": "Value\nnumber.binary(max=3, min=1)", + "expectedUiSchemaText": "Value\nnumber.binary(max=3, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], + "coveredArgs": ["max", "min"], "origins": ["pair"], - "scenarioId": "domain-location-latitude-pair-min-max" + "scenarioId": "domain-number-binary-pair-max-min" }, { - "id": "runtime:domain-location-latitude-pair-max-precision", + "id": "runtime:domain-number-float-base", "sourceType": "domain", - "command": "location.latitude", - "label": "location.latitude pair max/precision", + "command": "number.float", + "label": "number.float", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.latitude", - "params": "(max=3, precision=4)", + "command": "number.float", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.latitude(max=3, precision=4)", - "expectedUiSchemaText": "Value\nlocation.latitude(max=3, precision=4)", + "expectedSchemaText": "Value\nnumber.float()", + "expectedUiSchemaText": "Value\nnumber.float()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "precision"], - "origins": ["pair"], - "scenarioId": "domain-location-latitude-pair-max-precision" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-float-base" }, { - "id": "runtime:domain-location-longitude-base", + "id": "runtime:domain-number-float-example-1", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude", + "command": "number.float", + "label": "number.float example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", + "command": "number.float", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude()", - "expectedUiSchemaText": "Value\nlocation.longitude()", + "expectedSchemaText": "Value\nnumber.float()", + "expectedUiSchemaText": "Value\nnumber.float()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-longitude-base" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-1" }, { - "id": "runtime:domain-location-longitude-arg-min", + "id": "runtime:domain-number-float-example-2", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude arg min", + "command": "number.float", + "label": "number.float example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(min=1)", + "command": "number.float", + "params": "(fractionDigits=2)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(min=1)", - "expectedUiSchemaText": "Value\nlocation.longitude(min=1)", + "expectedSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-location-longitude-arg-min" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-2" }, { - "id": "runtime:domain-location-longitude-arg-max", + "id": "runtime:domain-number-float-example-3", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude arg max", + "command": "number.float", + "label": "number.float example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(max=3)", + "command": "number.float", + "params": "(multipleOf=0.5)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(max=3)", - "expectedUiSchemaText": "Value\nlocation.longitude(max=3)", + "expectedSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(multipleOf=0.5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-location-longitude-arg-max" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-3" }, { - "id": "runtime:domain-location-longitude-arg-precision", + "id": "runtime:domain-number-float-example-4", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude arg precision", + "command": "number.float", + "label": "number.float example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(precision=4)", + "command": "number.float", + "params": "(min=1, max=10)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(precision=4)", - "expectedUiSchemaText": "Value\nlocation.longitude(precision=4)", + "expectedSchemaText": "Value\nnumber.float(min=1, max=10)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, max=10)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["precision"], - "origins": ["arg"], - "scenarioId": "domain-location-longitude-arg-precision" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-4" }, { - "id": "runtime:domain-location-longitude-pair-min-max", + "id": "runtime:domain-number-float-example-5", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude pair min/max", + "command": "number.float", + "label": "number.float example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(min=1, max=3)", + "command": "number.float", + "params": "(min=1, max=10, fractionDigits=2)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(min=1, max=3)", - "expectedUiSchemaText": "Value\nlocation.longitude(min=1, max=3)", + "expectedSchemaText": "Value\nnumber.float(min=1, max=10, fractionDigits=2)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, max=10, fractionDigits=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-location-longitude-pair-min-max" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-5" }, { - "id": "runtime:domain-location-longitude-pair-max-precision", + "id": "runtime:domain-number-float-example-6", "sourceType": "domain", - "command": "location.longitude", - "label": "location.longitude pair max/precision", + "command": "number.float", + "label": "number.float example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.longitude", - "params": "(max=3, precision=4)", + "command": "number.float", + "params": "(min=1, max=10, multipleOf=0.5)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.longitude(max=3, precision=4)", - "expectedUiSchemaText": "Value\nlocation.longitude(max=3, precision=4)", + "expectedSchemaText": "Value\nnumber.float(min=1, max=10, multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, max=10, multipleOf=0.5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "precision"], - "origins": ["pair"], - "scenarioId": "domain-location-longitude-pair-max-precision" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-6" }, { - "id": "runtime:domain-location-ordinalDirection-base", + "id": "runtime:domain-number-float-example-7", "sourceType": "domain", - "command": "location.ordinalDirection", - "label": "location.ordinalDirection", + "command": "number.float", + "label": "number.float example 7", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.ordinalDirection", - "params": "()", + "command": "number.float", + "params": "(max=10)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.ordinalDirection()", - "expectedUiSchemaText": "Value\nlocation.ordinalDirection()", + "expectedSchemaText": "Value\nnumber.float(max=10)", + "expectedUiSchemaText": "Value\nnumber.float(max=10)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-ordinalDirection-base" + "coveredArgs": ["fractionDigits", "max", "min", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-float-example-7" }, { - "id": "runtime:domain-location-secondaryAddress-base", + "id": "runtime:domain-number-float-arg-fractionDigits", "sourceType": "domain", - "command": "location.secondaryAddress", - "label": "location.secondaryAddress", + "command": "number.float", + "label": "number.float arg fractionDigits", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.secondaryAddress", - "params": "()", + "command": "number.float", + "params": "(fractionDigits=2)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.secondaryAddress()", - "expectedUiSchemaText": "Value\nlocation.secondaryAddress()", + "expectedSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-secondaryAddress-base" + "coveredArgs": ["fractionDigits"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-fractionDigits" }, { - "id": "runtime:domain-location-state-base", + "id": "runtime:domain-number-float-arg-max", "sourceType": "domain", - "command": "location.state", - "label": "location.state", + "command": "number.float", + "label": "number.float arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.state", - "params": "()", + "command": "number.float", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.state()", - "expectedUiSchemaText": "Value\nlocation.state()", + "expectedSchemaText": "Value\nnumber.float(max=3)", + "expectedUiSchemaText": "Value\nnumber.float(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-state-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-max" }, { - "id": "runtime:domain-location-state-arg-abbreviated", + "id": "runtime:domain-number-float-arg-min", "sourceType": "domain", - "command": "location.state", - "label": "location.state arg abbreviated", + "command": "number.float", + "label": "number.float arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.state", - "params": "(abbreviated=true)", + "command": "number.float", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.state(abbreviated=true)", - "expectedUiSchemaText": "Value\nlocation.state(abbreviated=true)", + "expectedSchemaText": "Value\nnumber.float(min=1)", + "expectedUiSchemaText": "Value\nnumber.float(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["abbreviated"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-location-state-arg-abbreviated" + "scenarioId": "domain-number-float-arg-min" }, { - "id": "runtime:domain-location-street-base", + "id": "runtime:domain-number-float-arg-multipleOf", "sourceType": "domain", - "command": "location.street", - "label": "location.street", + "command": "number.float", + "label": "number.float arg multipleOf", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.street", - "params": "()", + "command": "number.float", + "params": "(multipleOf=0.5)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.street()", - "expectedUiSchemaText": "Value\nlocation.street()", + "expectedSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(multipleOf=0.5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-street-base" + "coveredArgs": ["multipleOf"], + "origins": ["arg"], + "scenarioId": "domain-number-float-arg-multipleOf" }, { - "id": "runtime:domain-location-streetAddress-base", + "id": "runtime:domain-number-float-pair-fractionDigits-max", "sourceType": "domain", - "command": "location.streetAddress", - "label": "location.streetAddress", + "command": "number.float", + "label": "number.float pair fractionDigits/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.streetAddress", - "params": "()", + "command": "number.float", + "params": "(fractionDigits=2, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.streetAddress()", - "expectedUiSchemaText": "Value\nlocation.streetAddress()", + "expectedSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", + "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-streetAddress-base" + "coveredArgs": ["fractionDigits", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-float-pair-fractionDigits-max" }, { - "id": "runtime:domain-location-streetAddress-arg-useFullAddress", + "id": "runtime:domain-number-float-pair-max-min", "sourceType": "domain", - "command": "location.streetAddress", - "label": "location.streetAddress arg useFullAddress", + "command": "number.float", + "label": "number.float pair max/min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.streetAddress", - "params": "(useFullAddress=true)", + "command": "number.float", + "params": "(max=3, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", - "expectedUiSchemaText": "Value\nlocation.streetAddress(useFullAddress=true)", + "expectedSchemaText": "Value\nnumber.float(max=3, min=1)", + "expectedUiSchemaText": "Value\nnumber.float(max=3, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["useFullAddress"], - "origins": ["arg"], - "scenarioId": "domain-location-streetAddress-arg-useFullAddress" + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-number-float-pair-max-min" }, { - "id": "runtime:domain-location-timeZone-base", + "id": "runtime:domain-number-float-pair-min-multipleOf", "sourceType": "domain", - "command": "location.timeZone", - "label": "location.timeZone", + "command": "number.float", + "label": "number.float pair min/multipleOf", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.timeZone", - "params": "()", + "command": "number.float", + "params": "(min=1, multipleOf=0.5)", "value": "" } ], - "expectedSchemaText": "Value\nlocation.timeZone()", - "expectedUiSchemaText": "Value\nlocation.timeZone()", + "expectedSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", + "expectedUiSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-location-timeZone-base" + "coveredArgs": ["min", "multipleOf"], + "origins": ["pair"], + "scenarioId": "domain-number-float-pair-min-multipleOf" }, { - "id": "runtime:domain-location-zipCode-base", + "id": "runtime:domain-number-hex-base", "sourceType": "domain", - "command": "location.zipCode", - "label": "location.zipCode", + "command": "number.hex", + "label": "number.hex", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "location.zipCode", + "command": "number.hex", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlocation.zipCode()", - "expectedUiSchemaText": "Value\nlocation.zipCode()", + "expectedSchemaText": "Value\nnumber.hex()", + "expectedUiSchemaText": "Value\nnumber.hex()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-location-zipCode-base" + "scenarioId": "domain-number-hex-base" }, { - "id": "runtime:domain-lorem-lines-base", + "id": "runtime:domain-number-hex-example-1", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines", + "command": "number.hex", + "label": "number.hex example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", + "command": "number.hex", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines()", - "expectedUiSchemaText": "Value\nlorem.lines()", + "expectedSchemaText": "Value\nnumber.hex()", + "expectedUiSchemaText": "Value\nnumber.hex()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-lines-base" + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-hex-example-1" }, { - "id": "runtime:domain-lorem-lines-arg-min", + "id": "runtime:domain-number-hex-example-2", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg min", + "command": "number.hex", + "label": "number.hex example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(min=1)", + "command": "number.hex", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(min=1)", - "expectedUiSchemaText": "Value\nlorem.lines(min=1)", + "expectedSchemaText": "Value\nnumber.hex(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.hex(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-min" + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-hex-example-2" }, { - "id": "runtime:domain-lorem-lines-arg-max", + "id": "runtime:domain-number-hex-example-3", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg max", + "command": "number.hex", + "label": "number.hex example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(max=3)", + "command": "number.hex", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(max=3)", - "expectedUiSchemaText": "Value\nlorem.lines(max=3)", + "expectedSchemaText": "Value\nnumber.hex(max=5)", + "expectedUiSchemaText": "Value\nnumber.hex(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-max" + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-hex-example-3" }, { - "id": "runtime:domain-lorem-lines-arg-lineCount", + "id": "runtime:domain-number-hex-arg-min", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg lineCount", + "command": "number.hex", + "label": "number.hex arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCount=2)", + "command": "number.hex", + "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCount=2)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2)", + "expectedSchemaText": "Value\nnumber.hex(min=1)", + "expectedUiSchemaText": "Value\nnumber.hex(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCount"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-lineCount" + "scenarioId": "domain-number-hex-arg-min" }, { - "id": "runtime:domain-lorem-lines-arg-lineCountMax", + "id": "runtime:domain-number-hex-arg-max", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg lineCountMax", + "command": "number.hex", + "label": "number.hex arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCountMax=2)", + "command": "number.hex", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2)", + "expectedSchemaText": "Value\nnumber.hex(max=3)", + "expectedUiSchemaText": "Value\nnumber.hex(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCountMax"], + "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-lineCountMax" + "scenarioId": "domain-number-hex-arg-max" }, { - "id": "runtime:domain-lorem-lines-arg-lineCountMin", + "id": "runtime:domain-number-hex-pair-min-max", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines arg lineCountMin", + "command": "number.hex", + "label": "number.hex pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCountMin=1)", + "command": "number.hex", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCountMin=1)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCountMin=1)", + "expectedSchemaText": "Value\nnumber.hex(min=1, max=3)", + "expectedUiSchemaText": "Value\nnumber.hex(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-lines-arg-lineCountMin" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-hex-pair-min-max" }, { - "id": "runtime:domain-lorem-lines-pair-min-max", + "id": "runtime:domain-number-int-base", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair min/max", + "command": "number.int", + "label": "number.int", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(min=1, max=3)", + "command": "number.int", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.lines(min=1, max=3)", + "expectedSchemaText": "Value\nnumber.int()", + "expectedUiSchemaText": "Value\nnumber.int()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-int-base" }, { - "id": "runtime:domain-lorem-lines-pair-max-lineCount", + "id": "runtime:domain-number-int-example-1", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair max/lineCount", + "command": "number.int", + "label": "number.int example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(max=3, lineCount=2)", + "command": "number.int", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", - "expectedUiSchemaText": "Value\nlorem.lines(max=3, lineCount=2)", + "expectedSchemaText": "Value\nnumber.int()", + "expectedUiSchemaText": "Value\nnumber.int()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "lineCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-max-lineCount" + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-1" }, { - "id": "runtime:domain-lorem-lines-pair-lineCount-lineCountMax", + "id": "runtime:domain-number-int-example-2", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair lineCount/lineCountMax", + "command": "number.int", + "label": "number.int example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCount=2, lineCountMax=2)", + "command": "number.int", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCount=2, lineCountMax=2)", + "expectedSchemaText": "Value\nnumber.int(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.int(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCount", "lineCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-lineCount-lineCountMax" + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-2" }, { - "id": "runtime:domain-lorem-lines-pair-lineCountMax-lineCountMin", + "id": "runtime:domain-number-int-example-3", "sourceType": "domain", - "command": "lorem.lines", - "label": "lorem.lines pair lineCountMax/lineCountMin", + "command": "number.int", + "label": "number.int example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.lines", - "params": "(lineCountMax=2, lineCountMin=1)", + "command": "number.int", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", - "expectedUiSchemaText": "Value\nlorem.lines(lineCountMax=2, lineCountMin=1)", + "expectedSchemaText": "Value\nnumber.int(max=5)", + "expectedUiSchemaText": "Value\nnumber.int(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["lineCountMax", "lineCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-lines-pair-lineCountMax-lineCountMin" + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-3" }, { - "id": "runtime:domain-lorem-paragraph-base", + "id": "runtime:domain-number-int-example-4", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph", + "command": "number.int", + "label": "number.int example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "()", + "command": "number.int", + "params": "(multipleOf=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph()", - "expectedUiSchemaText": "Value\nlorem.paragraph()", + "expectedSchemaText": "Value\nnumber.int(multipleOf=1)", + "expectedUiSchemaText": "Value\nnumber.int(multipleOf=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-paragraph-base" + "coveredArgs": ["min", "max", "multipleOf"], + "origins": ["example"], + "scenarioId": "domain-number-int-example-4" }, { - "id": "runtime:domain-lorem-paragraph-arg-min", + "id": "runtime:domain-number-int-arg-min", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg min", + "command": "number.int", + "label": "number.int arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", + "command": "number.int", "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(min=1)", - "expectedUiSchemaText": "Value\nlorem.paragraph(min=1)", + "expectedSchemaText": "Value\nnumber.int(min=1)", + "expectedUiSchemaText": "Value\nnumber.int(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-min" + "scenarioId": "domain-number-int-arg-min" }, { - "id": "runtime:domain-lorem-paragraph-arg-max", + "id": "runtime:domain-number-int-arg-max", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg max", + "command": "number.int", + "label": "number.int arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", + "command": "number.int", "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraph(max=3)", + "expectedSchemaText": "Value\nnumber.int(max=3)", + "expectedUiSchemaText": "Value\nnumber.int(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["max"], "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-max" + "scenarioId": "domain-number-int-arg-max" }, { - "id": "runtime:domain-lorem-paragraph-arg-sentenceCount", + "id": "runtime:domain-number-int-arg-multipleOf", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg sentenceCount", + "command": "number.int", + "label": "number.int arg multipleOf", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCount=4)", + "command": "number.int", + "params": "(multipleOf=4)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4)", + "expectedSchemaText": "Value\nnumber.int(multipleOf=4)", + "expectedUiSchemaText": "Value\nnumber.int(multipleOf=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount"], + "coveredArgs": ["multipleOf"], "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-sentenceCount" + "scenarioId": "domain-number-int-arg-multipleOf" }, { - "id": "runtime:domain-lorem-paragraph-arg-sentenceCountMax", + "id": "runtime:domain-number-int-pair-min-max", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg sentenceCountMax", + "command": "number.int", + "label": "number.int pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCountMax=5)", + "command": "number.int", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5)", + "expectedSchemaText": "Value\nnumber.int(min=1, max=3)", + "expectedUiSchemaText": "Value\nnumber.int(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMax" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-number-int-pair-min-max" }, { - "id": "runtime:domain-lorem-paragraph-arg-sentenceCountMin", + "id": "runtime:domain-number-int-pair-max-multipleOf", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph arg sentenceCountMin", + "command": "number.int", + "label": "number.int pair max/multipleOf", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCountMin=6)", + "command": "number.int", + "params": "(max=3, multipleOf=4)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMin=6)", + "expectedSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", + "expectedUiSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraph-arg-sentenceCountMin" + "coveredArgs": ["max", "multipleOf"], + "origins": ["pair"], + "scenarioId": "domain-number-int-pair-max-multipleOf" }, { - "id": "runtime:domain-lorem-paragraph-pair-min-max", + "id": "runtime:domain-number-octal-base", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair min/max", + "command": "number.octal", + "label": "number.octal", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(min=1, max=3)", + "command": "number.octal", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraph(min=1, max=3)", + "expectedSchemaText": "Value\nnumber.octal()", + "expectedUiSchemaText": "Value\nnumber.octal()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-octal-base" }, { - "id": "runtime:domain-lorem-paragraph-pair-max-sentenceCount", + "id": "runtime:domain-number-octal-example-1", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair max/sentenceCount", + "command": "number.octal", + "label": "number.octal example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(max=3, sentenceCount=4)", + "command": "number.octal", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraph(max=3, sentenceCount=4)", + "expectedSchemaText": "Value\nnumber.octal()", + "expectedUiSchemaText": "Value\nnumber.octal()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "sentenceCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-max-sentenceCount" + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-octal-example-1" }, { - "id": "runtime:domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax", + "id": "runtime:domain-number-octal-example-2", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair sentenceCount/sentenceCountMax", + "command": "number.octal", + "label": "number.octal example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCount=4, sentenceCountMax=5)", + "command": "number.octal", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCount=4, sentenceCountMax=5)", + "expectedSchemaText": "Value\nnumber.octal(max=5)", + "expectedUiSchemaText": "Value\nnumber.octal(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount", "sentenceCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-sentenceCount-sentenceCountMax" + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-octal-example-2" }, { - "id": "runtime:domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin", + "id": "runtime:domain-number-octal-example-3", "sourceType": "domain", - "command": "lorem.paragraph", - "label": "lorem.paragraph pair sentenceCountMax/sentenceCountMin", + "command": "number.octal", + "label": "number.octal example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraph", - "params": "(sentenceCountMax=5, sentenceCountMin=6)", + "command": "number.octal", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.paragraph(sentenceCountMax=5, sentenceCountMin=6)", + "expectedSchemaText": "Value\nnumber.octal(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.octal(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraph-pair-sentenceCountMax-sentenceCountMin" + "coveredArgs": ["max", "min"], + "origins": ["example"], + "scenarioId": "domain-number-octal-example-3" }, { - "id": "runtime:domain-lorem-paragraphs-base", + "id": "runtime:domain-number-octal-arg-max", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs", + "command": "number.octal", + "label": "number.octal arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "()", + "command": "number.octal", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs()", - "expectedUiSchemaText": "Value\nlorem.paragraphs()", + "expectedSchemaText": "Value\nnumber.octal(max=3)", + "expectedUiSchemaText": "Value\nnumber.octal(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-paragraphs-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-octal-arg-max" }, { - "id": "runtime:domain-lorem-paragraphs-arg-min", + "id": "runtime:domain-number-octal-arg-min", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg min", + "command": "number.octal", + "label": "number.octal arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", + "command": "number.octal", "params": "(min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(min=1)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1)", + "expectedSchemaText": "Value\nnumber.octal(min=1)", + "expectedUiSchemaText": "Value\nnumber.octal(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-min" + "scenarioId": "domain-number-octal-arg-min" }, { - "id": "runtime:domain-lorem-paragraphs-arg-max", + "id": "runtime:domain-number-octal-pair-max-min", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg max", + "command": "number.octal", + "label": "number.octal pair max/min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(max=3)", + "command": "number.octal", + "params": "(max=3, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3)", + "expectedSchemaText": "Value\nnumber.octal(max=3, min=1)", + "expectedUiSchemaText": "Value\nnumber.octal(max=3, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-max" + "coveredArgs": ["max", "min"], + "origins": ["pair"], + "scenarioId": "domain-number-octal-pair-max-min" }, { - "id": "runtime:domain-lorem-paragraphs-arg-paragraphCount", + "id": "runtime:domain-number-romanNumeral-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg paragraphCount", + "command": "number.romanNumeral", + "label": "number.romanNumeral", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCount=4)", + "command": "number.romanNumeral", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4)", + "expectedSchemaText": "Value\nnumber.romanNumeral()", + "expectedUiSchemaText": "Value\nnumber.romanNumeral()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-paragraphCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-number-romanNumeral-base" }, { - "id": "runtime:domain-lorem-paragraphs-arg-separator", + "id": "runtime:domain-number-romanNumeral-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg separator", + "command": "number.romanNumeral", + "label": "number.romanNumeral example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(separator=\"-\")", + "command": "number.romanNumeral", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\")", + "expectedSchemaText": "Value\nnumber.romanNumeral()", + "expectedUiSchemaText": "Value\nnumber.romanNumeral()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-separator" + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-romanNumeral-example-1" }, { - "id": "runtime:domain-lorem-paragraphs-arg-paragraphCountMax", + "id": "runtime:domain-number-romanNumeral-example-2", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg paragraphCountMax", + "command": "number.romanNumeral", + "label": "number.romanNumeral example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCountMax=6)", + "command": "number.romanNumeral", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6)", + "expectedSchemaText": "Value\nnumber.romanNumeral(max=10, min=1)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMax" + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-romanNumeral-example-2" }, { - "id": "runtime:domain-lorem-paragraphs-arg-paragraphCountMin", + "id": "runtime:domain-number-romanNumeral-example-3", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs arg paragraphCountMin", + "command": "number.romanNumeral", + "label": "number.romanNumeral example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCountMin=7)", + "command": "number.romanNumeral", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMin=7)", + "expectedSchemaText": "Value\nnumber.romanNumeral(max=5)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["min", "max"], + "origins": ["example"], + "scenarioId": "domain-number-romanNumeral-example-3" + }, + { + "id": "runtime:domain-number-romanNumeral-arg-min", + "sourceType": "domain", + "command": "number.romanNumeral", + "label": "number.romanNumeral arg min", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "number.romanNumeral", + "params": "(min=1)", + "value": "" + } + ], + "expectedSchemaText": "Value\nnumber.romanNumeral(min=1)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCountMin"], + "coveredArgs": ["min"], "origins": ["arg"], - "scenarioId": "domain-lorem-paragraphs-arg-paragraphCountMin" + "scenarioId": "domain-number-romanNumeral-arg-min" }, { - "id": "runtime:domain-lorem-paragraphs-pair-min-max", + "id": "runtime:domain-number-romanNumeral-arg-max", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair min/max", + "command": "number.romanNumeral", + "label": "number.romanNumeral arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(min=1, max=3)", + "command": "number.romanNumeral", + "params": "(max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(min=1, max=3)", + "expectedSchemaText": "Value\nnumber.romanNumeral(max=3)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-min-max" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-number-romanNumeral-arg-max" }, { - "id": "runtime:domain-lorem-paragraphs-pair-max-paragraphCount", + "id": "runtime:domain-number-romanNumeral-pair-min-max", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair max/paragraphCount", + "command": "number.romanNumeral", + "label": "number.romanNumeral pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(max=3, paragraphCount=4)", + "command": "number.romanNumeral", + "params": "(min=1, max=3)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(max=3, paragraphCount=4)", + "expectedSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", + "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "paragraphCount"], + "coveredArgs": ["min", "max"], "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-max-paragraphCount" + "scenarioId": "domain-number-romanNumeral-pair-min-max" }, { - "id": "runtime:domain-lorem-paragraphs-pair-paragraphCount-separator", + "id": "runtime:domain-person-bio-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair paragraphCount/separator", + "command": "person.bio", + "label": "person.bio", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCount=4, separator=\"-\")", + "command": "person.bio", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCount=4, separator=\"-\")", + "expectedSchemaText": "Value\nperson.bio()", + "expectedUiSchemaText": "Value\nperson.bio()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCount", "separator"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-paragraphCount-separator" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-bio-base" }, { - "id": "runtime:domain-lorem-paragraphs-pair-separator-paragraphCountMax", + "id": "runtime:domain-person-bio-example-1", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair separator/paragraphCountMax", + "command": "person.bio", + "label": "person.bio example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(separator=\"-\", paragraphCountMax=6)", + "command": "person.bio", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(separator=\"-\", paragraphCountMax=6)", + "expectedSchemaText": "Value\nperson.bio()", + "expectedUiSchemaText": "Value\nperson.bio()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator", "paragraphCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-separator-paragraphCountMax" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-bio-example-1" }, { - "id": "runtime:domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin", + "id": "runtime:domain-person-firstName-base", "sourceType": "domain", - "command": "lorem.paragraphs", - "label": "lorem.paragraphs pair paragraphCountMax/paragraphCountMin", + "command": "person.firstName", + "label": "person.firstName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.paragraphs", - "params": "(paragraphCountMax=6, paragraphCountMin=7)", + "command": "person.firstName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.paragraphs(paragraphCountMax=6, paragraphCountMin=7)", + "expectedSchemaText": "Value\nperson.firstName()", + "expectedUiSchemaText": "Value\nperson.firstName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["paragraphCountMax", "paragraphCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-paragraphs-pair-paragraphCountMax-paragraphCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-firstName-base" }, { - "id": "runtime:domain-lorem-sentence-base", + "id": "runtime:domain-person-firstName-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence", + "command": "person.firstName", + "label": "person.firstName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", + "command": "person.firstName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence()", - "expectedUiSchemaText": "Value\nlorem.sentence()", + "expectedSchemaText": "Value\nperson.firstName()", + "expectedUiSchemaText": "Value\nperson.firstName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-sentence-base" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-firstName-example-1" }, { - "id": "runtime:domain-lorem-sentence-arg-min", + "id": "runtime:domain-person-firstName-example-2", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg min", + "command": "person.firstName", + "label": "person.firstName example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(min=1)", + "command": "person.firstName", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(min=1)", - "expectedUiSchemaText": "Value\nlorem.sentence(min=1)", + "expectedSchemaText": "Value\nperson.firstName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.firstName(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-min" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-firstName-example-2" }, { - "id": "runtime:domain-lorem-sentence-arg-max", + "id": "runtime:domain-person-firstName-arg-sex", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg max", + "command": "person.firstName", + "label": "person.firstName arg sex", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(max=3)", + "command": "person.firstName", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(max=3)", - "expectedUiSchemaText": "Value\nlorem.sentence(max=3)", + "expectedSchemaText": "Value\nperson.firstName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.firstName(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["sex"], "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-max" + "scenarioId": "domain-person-firstName-arg-sex" }, { - "id": "runtime:domain-lorem-sentence-arg-wordCount", + "id": "runtime:domain-person-fullName-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg wordCount", + "command": "person.fullName", + "label": "person.fullName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCount=4)", + "command": "person.fullName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4)", + "expectedSchemaText": "Value\nperson.fullName()", + "expectedUiSchemaText": "Value\nperson.fullName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-wordCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-fullName-base" }, { - "id": "runtime:domain-lorem-sentence-arg-wordCountMax", + "id": "runtime:domain-person-fullName-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg wordCountMax", + "command": "person.fullName", + "label": "person.fullName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCountMax=5)", + "command": "person.fullName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5)", + "expectedSchemaText": "Value\nperson.fullName()", + "expectedUiSchemaText": "Value\nperson.fullName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-wordCountMax" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-fullName-example-1" }, { - "id": "runtime:domain-lorem-sentence-arg-wordCountMin", + "id": "runtime:domain-person-gender-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence arg wordCountMin", + "command": "person.gender", + "label": "person.gender", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCountMin=6)", + "command": "person.gender", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMin=6)", + "expectedSchemaText": "Value\nperson.gender()", + "expectedUiSchemaText": "Value\nperson.gender()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentence-arg-wordCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-gender-base" }, { - "id": "runtime:domain-lorem-sentence-pair-min-max", + "id": "runtime:domain-person-gender-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair min/max", + "command": "person.gender", + "label": "person.gender example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(min=1, max=3)", + "command": "person.gender", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.sentence(min=1, max=3)", + "expectedSchemaText": "Value\nperson.gender()", + "expectedUiSchemaText": "Value\nperson.gender()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-min-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-gender-example-1" }, { - "id": "runtime:domain-lorem-sentence-pair-max-wordCount", + "id": "runtime:domain-person-jobArea-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair max/wordCount", + "command": "person.jobArea", + "label": "person.jobArea", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(max=3, wordCount=4)", + "command": "person.jobArea", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentence(max=3, wordCount=4)", + "expectedSchemaText": "Value\nperson.jobArea()", + "expectedUiSchemaText": "Value\nperson.jobArea()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "wordCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-max-wordCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobArea-base" }, { - "id": "runtime:domain-lorem-sentence-pair-wordCount-wordCountMax", + "id": "runtime:domain-person-jobArea-example-1", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair wordCount/wordCountMax", + "command": "person.jobArea", + "label": "person.jobArea example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCount=4, wordCountMax=5)", + "command": "person.jobArea", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCount=4, wordCountMax=5)", + "expectedSchemaText": "Value\nperson.jobArea()", + "expectedUiSchemaText": "Value\nperson.jobArea()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount", "wordCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-wordCount-wordCountMax" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobArea-example-1" }, { - "id": "runtime:domain-lorem-sentence-pair-wordCountMax-wordCountMin", + "id": "runtime:domain-person-jobDescriptor-base", "sourceType": "domain", - "command": "lorem.sentence", - "label": "lorem.sentence pair wordCountMax/wordCountMin", + "command": "person.jobDescriptor", + "label": "person.jobDescriptor", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentence", - "params": "(wordCountMax=5, wordCountMin=6)", + "command": "person.jobDescriptor", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.sentence(wordCountMax=5, wordCountMin=6)", + "expectedSchemaText": "Value\nperson.jobDescriptor()", + "expectedUiSchemaText": "Value\nperson.jobDescriptor()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax", "wordCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentence-pair-wordCountMax-wordCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobDescriptor-base" }, { - "id": "runtime:domain-lorem-sentences-base", + "id": "runtime:domain-person-jobDescriptor-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences", + "command": "person.jobDescriptor", + "label": "person.jobDescriptor example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", + "command": "person.jobDescriptor", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences()", - "expectedUiSchemaText": "Value\nlorem.sentences()", + "expectedSchemaText": "Value\nperson.jobDescriptor()", + "expectedUiSchemaText": "Value\nperson.jobDescriptor()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-sentences-base" + "origins": ["example"], + "scenarioId": "domain-person-jobDescriptor-example-1" }, { - "id": "runtime:domain-lorem-sentences-arg-min", + "id": "runtime:domain-person-jobTitle-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg min", + "command": "person.jobTitle", + "label": "person.jobTitle", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(min=1)", + "command": "person.jobTitle", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(min=1)", - "expectedUiSchemaText": "Value\nlorem.sentences(min=1)", + "expectedSchemaText": "Value\nperson.jobTitle()", + "expectedUiSchemaText": "Value\nperson.jobTitle()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobTitle-base" }, { - "id": "runtime:domain-lorem-sentences-arg-max", + "id": "runtime:domain-person-jobTitle-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg max", + "command": "person.jobTitle", + "label": "person.jobTitle example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(max=3)", + "command": "person.jobTitle", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(max=3)", - "expectedUiSchemaText": "Value\nlorem.sentences(max=3)", + "expectedSchemaText": "Value\nperson.jobTitle()", + "expectedUiSchemaText": "Value\nperson.jobTitle()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobTitle-example-1" }, { - "id": "runtime:domain-lorem-sentences-arg-sentenceCount", + "id": "runtime:domain-person-jobType-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg sentenceCount", + "command": "person.jobType", + "label": "person.jobType", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCount=4)", + "command": "person.jobType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4)", + "expectedSchemaText": "Value\nperson.jobType()", + "expectedUiSchemaText": "Value\nperson.jobType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-sentenceCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-jobType-base" }, { - "id": "runtime:domain-lorem-sentences-arg-separator", + "id": "runtime:domain-person-jobType-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg separator", + "command": "person.jobType", + "label": "person.jobType example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(separator=\"-\")", + "command": "person.jobType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\")", + "expectedSchemaText": "Value\nperson.jobType()", + "expectedUiSchemaText": "Value\nperson.jobType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-separator" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-jobType-example-1" }, { - "id": "runtime:domain-lorem-sentences-arg-sentenceCountMax", + "id": "runtime:domain-person-lastName-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg sentenceCountMax", + "command": "person.lastName", + "label": "person.lastName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCountMax=6)", + "command": "person.lastName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6)", + "expectedSchemaText": "Value\nperson.lastName()", + "expectedUiSchemaText": "Value\nperson.lastName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-sentenceCountMax" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-lastName-base" }, { - "id": "runtime:domain-lorem-sentences-arg-sentenceCountMin", + "id": "runtime:domain-person-lastName-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences arg sentenceCountMin", + "command": "person.lastName", + "label": "person.lastName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCountMin=7)", + "command": "person.lastName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMin=7)", + "expectedSchemaText": "Value\nperson.lastName()", + "expectedUiSchemaText": "Value\nperson.lastName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-sentences-arg-sentenceCountMin" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-lastName-example-1" }, { - "id": "runtime:domain-lorem-sentences-pair-min-max", + "id": "runtime:domain-person-lastName-example-2", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair min/max", + "command": "person.lastName", + "label": "person.lastName example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(min=1, max=3)", + "command": "person.lastName", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.sentences(min=1, max=3)", + "expectedSchemaText": "Value\nperson.lastName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.lastName(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-min-max" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-lastName-example-2" }, { - "id": "runtime:domain-lorem-sentences-pair-max-sentenceCount", + "id": "runtime:domain-person-lastName-arg-sex", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair max/sentenceCount", + "command": "person.lastName", + "label": "person.lastName arg sex", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(max=3, sentenceCount=4)", + "command": "person.lastName", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", - "expectedUiSchemaText": "Value\nlorem.sentences(max=3, sentenceCount=4)", + "expectedSchemaText": "Value\nperson.lastName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.lastName(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "sentenceCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-max-sentenceCount" + "coveredArgs": ["sex"], + "origins": ["arg"], + "scenarioId": "domain-person-lastName-arg-sex" }, { - "id": "runtime:domain-lorem-sentences-pair-sentenceCount-separator", + "id": "runtime:domain-person-middleName-base", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair sentenceCount/separator", + "command": "person.middleName", + "label": "person.middleName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCount=4, separator=\"-\")", + "command": "person.middleName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCount=4, separator=\"-\")", + "expectedSchemaText": "Value\nperson.middleName()", + "expectedUiSchemaText": "Value\nperson.middleName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCount", "separator"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-sentenceCount-separator" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-middleName-base" }, { - "id": "runtime:domain-lorem-sentences-pair-separator-sentenceCountMax", + "id": "runtime:domain-person-middleName-example-1", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair separator/sentenceCountMax", + "command": "person.middleName", + "label": "person.middleName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(separator=\"-\", sentenceCountMax=6)", + "command": "person.middleName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", - "expectedUiSchemaText": "Value\nlorem.sentences(separator=\"-\", sentenceCountMax=6)", + "expectedSchemaText": "Value\nperson.middleName()", + "expectedUiSchemaText": "Value\nperson.middleName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["separator", "sentenceCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-separator-sentenceCountMax" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-middleName-example-1" }, { - "id": "runtime:domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin", + "id": "runtime:domain-person-middleName-example-2", "sourceType": "domain", - "command": "lorem.sentences", - "label": "lorem.sentences pair sentenceCountMax/sentenceCountMin", + "command": "person.middleName", + "label": "person.middleName example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.sentences", - "params": "(sentenceCountMax=6, sentenceCountMin=7)", + "command": "person.middleName", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", - "expectedUiSchemaText": "Value\nlorem.sentences(sentenceCountMax=6, sentenceCountMin=7)", + "expectedSchemaText": "Value\nperson.middleName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.middleName(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sentenceCountMax", "sentenceCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-sentences-pair-sentenceCountMax-sentenceCountMin" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-middleName-example-2" }, { - "id": "runtime:domain-lorem-slug-base", + "id": "runtime:domain-person-middleName-arg-sex", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug", + "command": "person.middleName", + "label": "person.middleName arg sex", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "()", + "command": "person.middleName", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug()", - "expectedUiSchemaText": "Value\nlorem.slug()", + "expectedSchemaText": "Value\nperson.middleName(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.middleName(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-slug-base" + "coveredArgs": ["sex"], + "origins": ["arg"], + "scenarioId": "domain-person-middleName-arg-sex" }, { - "id": "runtime:domain-lorem-slug-arg-min", + "id": "runtime:domain-person-prefix-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg min", + "command": "person.prefix", + "label": "person.prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(min=1)", + "command": "person.prefix", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(min=1)", - "expectedUiSchemaText": "Value\nlorem.slug(min=1)", + "expectedSchemaText": "Value\nperson.prefix()", + "expectedUiSchemaText": "Value\nperson.prefix()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-prefix-base" }, { - "id": "runtime:domain-lorem-slug-arg-max", + "id": "runtime:domain-person-prefix-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg max", + "command": "person.prefix", + "label": "person.prefix example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(max=3)", + "command": "person.prefix", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(max=3)", - "expectedUiSchemaText": "Value\nlorem.slug(max=3)", + "expectedSchemaText": "Value\nperson.prefix()", + "expectedUiSchemaText": "Value\nperson.prefix()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-max" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-prefix-example-1" }, { - "id": "runtime:domain-lorem-slug-arg-wordCount", + "id": "runtime:domain-person-prefix-example-2", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg wordCount", + "command": "person.prefix", + "label": "person.prefix example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCount=4)", + "command": "person.prefix", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4)", + "expectedSchemaText": "Value\nperson.prefix(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.prefix(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-wordCount" + "coveredArgs": ["sex"], + "origins": ["example"], + "scenarioId": "domain-person-prefix-example-2" }, { - "id": "runtime:domain-lorem-slug-arg-wordCountMax", + "id": "runtime:domain-person-prefix-arg-sex", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg wordCountMax", + "command": "person.prefix", + "label": "person.prefix arg sex", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCountMax=5)", + "command": "person.prefix", + "params": "(sex=\"female\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5)", + "expectedSchemaText": "Value\nperson.prefix(sex=\"female\")", + "expectedUiSchemaText": "Value\nperson.prefix(sex=\"female\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax"], + "coveredArgs": ["sex"], "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-wordCountMax" + "scenarioId": "domain-person-prefix-arg-sex" }, { - "id": "runtime:domain-lorem-slug-arg-wordCountMin", + "id": "runtime:domain-person-sex-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug arg wordCountMin", + "command": "person.sex", + "label": "person.sex", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCountMin=6)", + "command": "person.sex", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCountMin=6)", + "expectedSchemaText": "Value\nperson.sex()", + "expectedUiSchemaText": "Value\nperson.sex()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-slug-arg-wordCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-sex-base" }, { - "id": "runtime:domain-lorem-slug-pair-min-max", + "id": "runtime:domain-person-sex-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair min/max", + "command": "person.sex", + "label": "person.sex example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(min=1, max=3)", + "command": "person.sex", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.slug(min=1, max=3)", + "expectedSchemaText": "Value\nperson.sex()", + "expectedUiSchemaText": "Value\nperson.sex()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-min-max" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-sex-example-1" }, { - "id": "runtime:domain-lorem-slug-pair-max-wordCount", + "id": "runtime:domain-person-sexType-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair max/wordCount", + "command": "person.sexType", + "label": "person.sexType", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(max=3, wordCount=4)", + "command": "person.sexType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.slug(max=3, wordCount=4)", + "expectedSchemaText": "Value\nperson.sexType()", + "expectedUiSchemaText": "Value\nperson.sexType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "wordCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-max-wordCount" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-sexType-base" }, { - "id": "runtime:domain-lorem-slug-pair-wordCount-wordCountMax", + "id": "runtime:domain-person-sexType-example-1", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair wordCount/wordCountMax", + "command": "person.sexType", + "label": "person.sexType example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCount=4, wordCountMax=5)", + "command": "person.sexType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCount=4, wordCountMax=5)", + "expectedSchemaText": "Value\nperson.sexType()", + "expectedUiSchemaText": "Value\nperson.sexType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount", "wordCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-wordCount-wordCountMax" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-sexType-example-1" }, { - "id": "runtime:domain-lorem-slug-pair-wordCountMax-wordCountMin", + "id": "runtime:domain-person-suffix-base", "sourceType": "domain", - "command": "lorem.slug", - "label": "lorem.slug pair wordCountMax/wordCountMin", + "command": "person.suffix", + "label": "person.suffix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.slug", - "params": "(wordCountMax=5, wordCountMin=6)", + "command": "person.suffix", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.slug(wordCountMax=5, wordCountMin=6)", + "expectedSchemaText": "Value\nperson.suffix()", + "expectedUiSchemaText": "Value\nperson.suffix()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax", "wordCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-slug-pair-wordCountMax-wordCountMin" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-person-suffix-base" }, { - "id": "runtime:domain-lorem-text-base", + "id": "runtime:domain-person-suffix-example-1", "sourceType": "domain", - "command": "lorem.text", - "label": "lorem.text", + "command": "person.suffix", + "label": "person.suffix example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.text", + "command": "person.suffix", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.text()", - "expectedUiSchemaText": "Value\nlorem.text()", + "expectedSchemaText": "Value\nperson.suffix()", + "expectedUiSchemaText": "Value\nperson.suffix()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-lorem-text-base" + "origins": ["example"], + "scenarioId": "domain-person-suffix-example-1" }, { - "id": "runtime:domain-lorem-word-base", + "id": "runtime:domain-person-zodiacSign-base", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word", + "command": "person.zodiacSign", + "label": "person.zodiacSign", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", + "command": "person.zodiacSign", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word()", - "expectedUiSchemaText": "Value\nlorem.word()", + "expectedSchemaText": "Value\nperson.zodiacSign()", + "expectedUiSchemaText": "Value\nperson.zodiacSign()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-word-base" + "scenarioId": "domain-person-zodiacSign-base" }, { - "id": "runtime:domain-lorem-word-arg-min", + "id": "runtime:domain-person-zodiacSign-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg min", + "command": "person.zodiacSign", + "label": "person.zodiacSign example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(min=1)", + "command": "person.zodiacSign", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(min=1)", - "expectedUiSchemaText": "Value\nlorem.word(min=1)", + "expectedSchemaText": "Value\nperson.zodiacSign()", + "expectedUiSchemaText": "Value\nperson.zodiacSign()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-min" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-person-zodiacSign-example-1" }, { - "id": "runtime:domain-lorem-word-arg-max", + "id": "runtime:domain-phone-imei-base", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg max", + "command": "phone.imei", + "label": "phone.imei", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(max=3)", + "command": "phone.imei", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(max=3)", - "expectedUiSchemaText": "Value\nlorem.word(max=3)", + "expectedSchemaText": "Value\nphone.imei()", + "expectedUiSchemaText": "Value\nphone.imei()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-phone-imei-base" }, { - "id": "runtime:domain-lorem-word-arg-length", + "id": "runtime:domain-phone-imei-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg length", + "command": "phone.imei", + "label": "phone.imei example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(length=4)", + "command": "phone.imei", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(length=4)", - "expectedUiSchemaText": "Value\nlorem.word(length=4)", + "expectedSchemaText": "Value\nphone.imei()", + "expectedUiSchemaText": "Value\nphone.imei()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-phone-imei-example-1" }, { - "id": "runtime:domain-lorem-word-arg-strategy", + "id": "runtime:domain-phone-number-base", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word arg strategy", + "command": "phone.number", + "label": "phone.number", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(strategy=\"lorem-word-strategy\")", + "command": "phone.number", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(strategy=\"lorem-word-strategy\")", - "expectedUiSchemaText": "Value\nlorem.word(strategy=\"lorem-word-strategy\")", + "expectedSchemaText": "Value\nphone.number()", + "expectedUiSchemaText": "Value\nphone.number()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["strategy"], - "origins": ["arg"], - "scenarioId": "domain-lorem-word-arg-strategy" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-phone-number-base" }, { - "id": "runtime:domain-lorem-word-pair-min-max", + "id": "runtime:domain-phone-number-example-1", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word pair min/max", + "command": "phone.number", + "label": "phone.number example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(min=1, max=3)", + "command": "phone.number", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.word(min=1, max=3)", + "expectedSchemaText": "Value\nphone.number()", + "expectedUiSchemaText": "Value\nphone.number()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-word-pair-min-max" + "coveredArgs": ["style"], + "origins": ["example"], + "scenarioId": "domain-phone-number-example-1" }, { - "id": "runtime:domain-lorem-word-pair-max-length", + "id": "runtime:domain-phone-number-example-2", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word pair max/length", + "command": "phone.number", + "label": "phone.number example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(max=3, length=4)", + "command": "phone.number", + "params": "(style=\"international\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(max=3, length=4)", - "expectedUiSchemaText": "Value\nlorem.word(max=3, length=4)", + "expectedSchemaText": "Value\nphone.number(style=\"international\")", + "expectedUiSchemaText": "Value\nphone.number(style=\"international\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "length"], - "origins": ["pair"], - "scenarioId": "domain-lorem-word-pair-max-length" + "coveredArgs": ["style"], + "origins": ["example"], + "scenarioId": "domain-phone-number-example-2" }, { - "id": "runtime:domain-lorem-word-pair-length-strategy", + "id": "runtime:domain-phone-number-arg-style", "sourceType": "domain", - "command": "lorem.word", - "label": "lorem.word pair length/strategy", + "command": "phone.number", + "label": "phone.number arg style", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.word", - "params": "(length=4, strategy=\"lorem-word-strategy\")", + "command": "phone.number", + "params": "(style=\"international\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.word(length=4, strategy=\"lorem-word-strategy\")", - "expectedUiSchemaText": "Value\nlorem.word(length=4, strategy=\"lorem-word-strategy\")", + "expectedSchemaText": "Value\nphone.number(style=\"international\")", + "expectedUiSchemaText": "Value\nphone.number(style=\"international\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "strategy"], - "origins": ["pair"], - "scenarioId": "domain-lorem-word-pair-length-strategy" + "coveredArgs": ["style"], + "origins": ["arg"], + "scenarioId": "domain-phone-number-arg-style" }, { - "id": "runtime:domain-lorem-words-base", + "id": "runtime:domain-string-alpha-base", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words", + "command": "string.alpha", + "label": "string.alpha", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", + "command": "string.alpha", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words()", - "expectedUiSchemaText": "Value\nlorem.words()", + "expectedSchemaText": "Value\nstring.alpha()", + "expectedUiSchemaText": "Value\nstring.alpha()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-lorem-words-base" + "scenarioId": "domain-string-alpha-base" }, { - "id": "runtime:domain-lorem-words-arg-min", + "id": "runtime:domain-string-alpha-example-1", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg min", + "command": "string.alpha", + "label": "string.alpha example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(min=1)", + "command": "string.alpha", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(min=1)", - "expectedUiSchemaText": "Value\nlorem.words(min=1)", + "expectedSchemaText": "Value\nstring.alpha()", + "expectedUiSchemaText": "Value\nstring.alpha()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-min" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-1" }, { - "id": "runtime:domain-lorem-words-arg-max", + "id": "runtime:domain-string-alpha-example-2", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg max", + "command": "string.alpha", + "label": "string.alpha example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(max=3)", + "command": "string.alpha", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(max=3)", - "expectedUiSchemaText": "Value\nlorem.words(max=3)", + "expectedSchemaText": "Value\nstring.alpha(length=5)", + "expectedUiSchemaText": "Value\nstring.alpha(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-max" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-2" }, { - "id": "runtime:domain-lorem-words-arg-wordCount", + "id": "runtime:domain-string-alpha-example-3", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg wordCount", + "command": "string.alpha", + "label": "string.alpha example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCount=4)", + "command": "string.alpha", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.words(wordCount=4)", + "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-wordCount" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-3" }, { - "id": "runtime:domain-lorem-words-arg-wordCountMax", + "id": "runtime:domain-string-alpha-example-4", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg wordCountMax", + "command": "string.alpha", + "label": "string.alpha example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCountMax=5)", + "command": "string.alpha", + "params": "(length=5, casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5)", + "expectedSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-wordCountMax" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-4" }, { - "id": "runtime:domain-lorem-words-arg-wordCountMin", + "id": "runtime:domain-string-alpha-example-5", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words arg wordCountMin", + "command": "string.alpha", + "label": "string.alpha example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCountMin=6)", + "command": "string.alpha", + "params": "(exclude=[\"A\",\"B\",\"C\"])", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.words(wordCountMin=6)", + "expectedSchemaText": "Value\nstring.alpha(exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.alpha(exclude=[\"A\",\"B\",\"C\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMin"], - "origins": ["arg"], - "scenarioId": "domain-lorem-words-arg-wordCountMin" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-5" }, { - "id": "runtime:domain-lorem-words-pair-min-max", + "id": "runtime:domain-string-alpha-example-6", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair min/max", + "command": "string.alpha", + "label": "string.alpha example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(min=1, max=3)", + "command": "string.alpha", + "params": "(length=5, casing=\"upper\", exclude=[\"A\",\"B\",\"C\"])", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(min=1, max=3)", - "expectedUiSchemaText": "Value\nlorem.words(min=1, max=3)", + "expectedSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\", exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.alpha(length=5, casing=\"upper\", exclude=[\"A\",\"B\",\"C\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-min-max" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alpha-example-6" }, { - "id": "runtime:domain-lorem-words-pair-max-wordCount", + "id": "runtime:domain-string-alpha-arg-length", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair max/wordCount", + "command": "string.alpha", + "label": "string.alpha arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(max=3, wordCount=4)", + "command": "string.alpha", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(max=3, wordCount=4)", - "expectedUiSchemaText": "Value\nlorem.words(max=3, wordCount=4)", + "expectedSchemaText": "Value\nstring.alpha(length=4)", + "expectedUiSchemaText": "Value\nstring.alpha(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "wordCount"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-max-wordCount" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-alpha-arg-length" }, { - "id": "runtime:domain-lorem-words-pair-wordCount-wordCountMax", + "id": "runtime:domain-string-alpha-arg-casing", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair wordCount/wordCountMax", + "command": "string.alpha", + "label": "string.alpha arg casing", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCount=4, wordCountMax=5)", + "command": "string.alpha", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", - "expectedUiSchemaText": "Value\nlorem.words(wordCount=4, wordCountMax=5)", + "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCount", "wordCountMax"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-wordCount-wordCountMax" + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-string-alpha-arg-casing" }, { - "id": "runtime:domain-lorem-words-pair-wordCountMax-wordCountMin", + "id": "runtime:domain-string-alpha-arg-exclude", "sourceType": "domain", - "command": "lorem.words", - "label": "lorem.words pair wordCountMax/wordCountMin", + "command": "string.alpha", + "label": "string.alpha arg exclude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "lorem.words", - "params": "(wordCountMax=5, wordCountMin=6)", + "command": "string.alpha", + "params": "(exclude=[\"A\", \"B\"])", "value": "" } ], - "expectedSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", - "expectedUiSchemaText": "Value\nlorem.words(wordCountMax=5, wordCountMin=6)", + "expectedSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["wordCountMax", "wordCountMin"], - "origins": ["pair"], - "scenarioId": "domain-lorem-words-pair-wordCountMax-wordCountMin" + "coveredArgs": ["exclude"], + "origins": ["arg"], + "scenarioId": "domain-string-alpha-arg-exclude" }, { - "id": "runtime:domain-music-album-base", + "id": "runtime:domain-string-alpha-pair-length-casing", "sourceType": "domain", - "command": "music.album", - "label": "music.album", + "command": "string.alpha", + "label": "string.alpha pair length/casing", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.album", - "params": "()", + "command": "string.alpha", + "params": "(length=4, casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nmusic.album()", - "expectedUiSchemaText": "Value\nmusic.album()", + "expectedSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-music-album-base" + "coveredArgs": ["length", "casing"], + "origins": ["pair"], + "scenarioId": "domain-string-alpha-pair-length-casing" }, { - "id": "runtime:domain-music-artist-base", + "id": "runtime:domain-string-alpha-pair-casing-exclude", "sourceType": "domain", - "command": "music.artist", - "label": "music.artist", + "command": "string.alpha", + "label": "string.alpha pair casing/exclude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.artist", - "params": "()", + "command": "string.alpha", + "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", "value": "" } ], - "expectedSchemaText": "Value\nmusic.artist()", - "expectedUiSchemaText": "Value\nmusic.artist()", + "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-music-artist-base" + "coveredArgs": ["casing", "exclude"], + "origins": ["pair"], + "scenarioId": "domain-string-alpha-pair-casing-exclude" }, { - "id": "runtime:domain-music-genre-base", + "id": "runtime:domain-string-alphanumeric-base", "sourceType": "domain", - "command": "music.genre", - "label": "music.genre", + "command": "string.alphanumeric", + "label": "string.alphanumeric", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.genre", + "command": "string.alphanumeric", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nmusic.genre()", - "expectedUiSchemaText": "Value\nmusic.genre()", + "expectedSchemaText": "Value\nstring.alphanumeric()", + "expectedUiSchemaText": "Value\nstring.alphanumeric()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-music-genre-base" + "scenarioId": "domain-string-alphanumeric-base" }, { - "id": "runtime:domain-music-songName-base", + "id": "runtime:domain-string-alphanumeric-example-1", "sourceType": "domain", - "command": "music.songName", - "label": "music.songName", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "music.songName", + "command": "string.alphanumeric", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nmusic.songName()", - "expectedUiSchemaText": "Value\nmusic.songName()", + "expectedSchemaText": "Value\nstring.alphanumeric()", + "expectedUiSchemaText": "Value\nstring.alphanumeric()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-music-songName-base" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-1" }, { - "id": "runtime:domain-number-bigInt-base", + "id": "runtime:domain-string-alphanumeric-example-2", "sourceType": "domain", - "command": "number.bigInt", - "label": "number.bigInt", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.bigInt", - "params": "()", + "command": "string.alphanumeric", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.bigInt()", - "expectedUiSchemaText": "Value\nnumber.bigInt()", + "expectedSchemaText": "Value\nstring.alphanumeric(length=5)", + "expectedUiSchemaText": "Value\nstring.alphanumeric(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-bigInt-base" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-2" }, { - "id": "runtime:domain-number-bigInt-arg-value", + "id": "runtime:domain-string-alphanumeric-example-3", "sourceType": "domain", - "command": "number.bigInt", - "label": "number.bigInt arg value", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.bigInt", - "params": "(value=true)", + "command": "string.alphanumeric", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.bigInt(value=true)", - "expectedUiSchemaText": "Value\nnumber.bigInt(value=true)", + "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["value"], - "origins": ["arg"], - "scenarioId": "domain-number-bigInt-arg-value" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-3" }, { - "id": "runtime:domain-number-binary-base", + "id": "runtime:domain-string-alphanumeric-example-4", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary", + "command": "string.alphanumeric", + "label": "string.alphanumeric example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "()", + "command": "string.alphanumeric", + "params": "(exclude=[\"A\",\"B\",\"C\"])", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary()", - "expectedUiSchemaText": "Value\nnumber.binary()", + "expectedSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\",\"B\",\"C\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-binary-base" + "coveredArgs": ["length", "casing", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-alphanumeric-example-4" }, { - "id": "runtime:domain-number-binary-arg-max", + "id": "runtime:domain-string-alphanumeric-arg-length", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary arg max", + "command": "string.alphanumeric", + "label": "string.alphanumeric arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "(max=3)", + "command": "string.alphanumeric", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary(max=3)", - "expectedUiSchemaText": "Value\nnumber.binary(max=3)", + "expectedSchemaText": "Value\nstring.alphanumeric(length=4)", + "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["length"], "origins": ["arg"], - "scenarioId": "domain-number-binary-arg-max" + "scenarioId": "domain-string-alphanumeric-arg-length" }, { - "id": "runtime:domain-number-binary-arg-min", + "id": "runtime:domain-string-alphanumeric-arg-casing", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary arg min", + "command": "string.alphanumeric", + "label": "string.alphanumeric arg casing", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "(min=1)", + "command": "string.alphanumeric", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary(min=1)", - "expectedUiSchemaText": "Value\nnumber.binary(min=1)", + "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], + "coveredArgs": ["casing"], "origins": ["arg"], - "scenarioId": "domain-number-binary-arg-min" + "scenarioId": "domain-string-alphanumeric-arg-casing" }, { - "id": "runtime:domain-number-binary-pair-max-min", + "id": "runtime:domain-string-alphanumeric-arg-exclude", "sourceType": "domain", - "command": "number.binary", - "label": "number.binary pair max/min", + "command": "string.alphanumeric", + "label": "string.alphanumeric arg exclude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.binary", - "params": "(max=3, min=1)", + "command": "string.alphanumeric", + "params": "(exclude=[\"A\", \"B\"])", "value": "" } ], - "expectedSchemaText": "Value\nnumber.binary(max=3, min=1)", - "expectedUiSchemaText": "Value\nnumber.binary(max=3, min=1)", + "expectedSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-number-binary-pair-max-min" + "coveredArgs": ["exclude"], + "origins": ["arg"], + "scenarioId": "domain-string-alphanumeric-arg-exclude" }, { - "id": "runtime:domain-number-float-base", + "id": "runtime:domain-string-alphanumeric-pair-length-casing", "sourceType": "domain", - "command": "number.float", - "label": "number.float", + "command": "string.alphanumeric", + "label": "string.alphanumeric pair length/casing", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "()", + "command": "string.alphanumeric", + "params": "(length=4, casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float()", - "expectedUiSchemaText": "Value\nnumber.float()", + "expectedSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-float-base" + "coveredArgs": ["length", "casing"], + "origins": ["pair"], + "scenarioId": "domain-string-alphanumeric-pair-length-casing" }, { - "id": "runtime:domain-number-float-arg-fractionDigits", + "id": "runtime:domain-string-alphanumeric-pair-casing-exclude", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg fractionDigits", + "command": "string.alphanumeric", + "label": "string.alphanumeric pair casing/exclude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(fractionDigits=2)", + "command": "string.alphanumeric", + "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(fractionDigits=2)", - "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2)", + "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["fractionDigits"], - "origins": ["arg"], - "scenarioId": "domain-number-float-arg-fractionDigits" + "coveredArgs": ["casing", "exclude"], + "origins": ["pair"], + "scenarioId": "domain-string-alphanumeric-pair-casing-exclude" }, { - "id": "runtime:domain-number-float-arg-max", + "id": "runtime:domain-string-binary-base", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg max", + "command": "string.binary", + "label": "string.binary", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(max=3)", + "command": "string.binary", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(max=3)", - "expectedUiSchemaText": "Value\nnumber.float(max=3)", + "expectedSchemaText": "Value\nstring.binary()", + "expectedUiSchemaText": "Value\nstring.binary()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-float-arg-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-binary-base" }, { - "id": "runtime:domain-number-float-arg-min", + "id": "runtime:domain-string-binary-example-1", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg min", + "command": "string.binary", + "label": "string.binary example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(min=1)", + "command": "string.binary", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(min=1)", - "expectedUiSchemaText": "Value\nnumber.float(min=1)", + "expectedSchemaText": "Value\nstring.binary()", + "expectedUiSchemaText": "Value\nstring.binary()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-float-arg-min" + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-binary-example-1" }, { - "id": "runtime:domain-number-float-arg-multipleOf", + "id": "runtime:domain-string-binary-example-2", "sourceType": "domain", - "command": "number.float", - "label": "number.float arg multipleOf", + "command": "string.binary", + "label": "string.binary example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(multipleOf=0.5)", + "command": "string.binary", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(multipleOf=0.5)", - "expectedUiSchemaText": "Value\nnumber.float(multipleOf=0.5)", + "expectedSchemaText": "Value\nstring.binary(length=5)", + "expectedUiSchemaText": "Value\nstring.binary(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["multipleOf"], - "origins": ["arg"], - "scenarioId": "domain-number-float-arg-multipleOf" + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-binary-example-2" }, { - "id": "runtime:domain-number-float-pair-fractionDigits-max", + "id": "runtime:domain-string-binary-example-3", "sourceType": "domain", - "command": "number.float", - "label": "number.float pair fractionDigits/max", + "command": "string.binary", + "label": "string.binary example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(fractionDigits=2, max=3)", + "command": "string.binary", + "params": "(prefix=\"PRE-\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", - "expectedUiSchemaText": "Value\nnumber.float(fractionDigits=2, max=3)", + "expectedSchemaText": "Value\nstring.binary(prefix=\"PRE-\")", + "expectedUiSchemaText": "Value\nstring.binary(prefix=\"PRE-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["fractionDigits", "max"], - "origins": ["pair"], - "scenarioId": "domain-number-float-pair-fractionDigits-max" + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-binary-example-3" }, { - "id": "runtime:domain-number-float-pair-max-min", + "id": "runtime:domain-string-binary-arg-length", "sourceType": "domain", - "command": "number.float", - "label": "number.float pair max/min", + "command": "string.binary", + "label": "string.binary arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(max=3, min=1)", + "command": "string.binary", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(max=3, min=1)", - "expectedUiSchemaText": "Value\nnumber.float(max=3, min=1)", + "expectedSchemaText": "Value\nstring.binary(length=4)", + "expectedUiSchemaText": "Value\nstring.binary(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], - "origins": ["pair"], - "scenarioId": "domain-number-float-pair-max-min" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-binary-arg-length" }, { - "id": "runtime:domain-number-float-pair-min-multipleOf", + "id": "runtime:domain-string-binary-arg-prefix", "sourceType": "domain", - "command": "number.float", - "label": "number.float pair min/multipleOf", + "command": "string.binary", + "label": "string.binary arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.float", - "params": "(min=1, multipleOf=0.5)", + "command": "string.binary", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", - "expectedUiSchemaText": "Value\nnumber.float(min=1, multipleOf=0.5)", + "expectedSchemaText": "Value\nstring.binary(prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.binary(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "multipleOf"], - "origins": ["pair"], - "scenarioId": "domain-number-float-pair-min-multipleOf" + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-string-binary-arg-prefix" }, { - "id": "runtime:domain-number-hex-base", + "id": "runtime:domain-string-binary-pair-length-prefix", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex", + "command": "string.binary", + "label": "string.binary pair length/prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "()", + "command": "string.binary", + "params": "(length=4, prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex()", - "expectedUiSchemaText": "Value\nnumber.hex()", + "expectedSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-hex-base" + "coveredArgs": ["length", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-string-binary-pair-length-prefix" }, { - "id": "runtime:domain-number-hex-arg-min", + "id": "runtime:domain-string-counterString-base", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex arg min", + "command": "string.counterString", + "label": "string.counterString", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "(min=1)", + "command": "string.counterString", + "params": "(1, 25, \"*\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex(min=1)", - "expectedUiSchemaText": "Value\nnumber.hex(min=1)", + "expectedSchemaText": "Value\nstring.counterString(1, 25, \"*\")", + "expectedUiSchemaText": "Value\nstring.counterString(1, 25, \"*\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-hex-arg-min" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-counterString-base" }, { - "id": "runtime:domain-number-hex-arg-max", + "id": "runtime:domain-string-counterString-example-1", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex arg max", + "command": "string.counterString", + "label": "string.counterString example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "(max=3)", + "command": "string.counterString", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex(max=3)", - "expectedUiSchemaText": "Value\nnumber.hex(max=3)", + "expectedSchemaText": "Value\nstring.counterString()", + "expectedUiSchemaText": "Value\nstring.counterString()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-hex-arg-max" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-1" }, { - "id": "runtime:domain-number-hex-pair-min-max", + "id": "runtime:domain-string-counterString-example-2", "sourceType": "domain", - "command": "number.hex", - "label": "number.hex pair min/max", + "command": "string.counterString", + "label": "string.counterString example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.hex", - "params": "(min=1, max=3)", + "command": "string.counterString", + "params": "(min=15)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.hex(min=1, max=3)", - "expectedUiSchemaText": "Value\nnumber.hex(min=1, max=3)", + "expectedSchemaText": "Value\nstring.counterString(min=15)", + "expectedUiSchemaText": "Value\nstring.counterString(min=15)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-number-hex-pair-min-max" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-2" }, { - "id": "runtime:domain-number-int-base", + "id": "runtime:domain-string-counterString-example-3", "sourceType": "domain", - "command": "number.int", - "label": "number.int", + "command": "string.counterString", + "label": "string.counterString example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "()", + "command": "string.counterString", + "params": "(min=5, max=12)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int()", - "expectedUiSchemaText": "Value\nnumber.int()", + "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-int-base" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-3" }, { - "id": "runtime:domain-number-int-arg-min", + "id": "runtime:domain-string-counterString-example-4", "sourceType": "domain", - "command": "number.int", - "label": "number.int arg min", + "command": "string.counterString", + "label": "string.counterString example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(min=1)", + "command": "string.counterString", + "params": "(min=12, max=12, delimiter=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(min=1)", - "expectedUiSchemaText": "Value\nnumber.int(min=1)", + "expectedSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-int-arg-min" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-4" }, { - "id": "runtime:domain-number-int-arg-max", + "id": "runtime:domain-string-counterString-example-5", "sourceType": "domain", - "command": "number.int", - "label": "number.int arg max", + "command": "string.counterString", + "label": "string.counterString example 5", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(max=3)", + "command": "string.counterString", + "params": "(max=10, min=1)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(max=3)", - "expectedUiSchemaText": "Value\nnumber.int(max=3)", + "expectedSchemaText": "Value\nstring.counterString(max=10, min=1)", + "expectedUiSchemaText": "Value\nstring.counterString(max=10, min=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-int-arg-max" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-5" }, { - "id": "runtime:domain-number-int-arg-multipleOf", + "id": "runtime:domain-string-counterString-example-6", "sourceType": "domain", - "command": "number.int", - "label": "number.int arg multipleOf", + "command": "string.counterString", + "label": "string.counterString example 6", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(multipleOf=4)", + "command": "string.counterString", + "params": "(max=12)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(multipleOf=4)", - "expectedUiSchemaText": "Value\nnumber.int(multipleOf=4)", + "expectedSchemaText": "Value\nstring.counterString(max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(max=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["multipleOf"], - "origins": ["arg"], - "scenarioId": "domain-number-int-arg-multipleOf" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-6" }, { - "id": "runtime:domain-number-int-pair-min-max", + "id": "runtime:domain-string-counterString-example-7", "sourceType": "domain", - "command": "number.int", - "label": "number.int pair min/max", + "command": "string.counterString", + "label": "string.counterString example 7", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(min=1, max=3)", + "command": "string.counterString", + "params": "(delimiter=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(min=1, max=3)", - "expectedUiSchemaText": "Value\nnumber.int(min=1, max=3)", + "expectedSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(delimiter=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-number-int-pair-min-max" + "coveredArgs": ["min", "max", "delimiter"], + "origins": ["example"], + "scenarioId": "domain-string-counterString-example-7" }, { - "id": "runtime:domain-number-int-pair-max-multipleOf", + "id": "runtime:domain-string-counterString-arg-min", "sourceType": "domain", - "command": "number.int", - "label": "number.int pair max/multipleOf", + "command": "string.counterString", + "label": "string.counterString arg min", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.int", - "params": "(max=3, multipleOf=4)", + "command": "string.counterString", + "params": "(min=5)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", - "expectedUiSchemaText": "Value\nnumber.int(max=3, multipleOf=4)", + "expectedSchemaText": "Value\nstring.counterString(min=5)", + "expectedUiSchemaText": "Value\nstring.counterString(min=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "multipleOf"], - "origins": ["pair"], - "scenarioId": "domain-number-int-pair-max-multipleOf" + "coveredArgs": ["min"], + "origins": ["arg"], + "scenarioId": "domain-string-counterString-arg-min" }, { - "id": "runtime:domain-number-octal-base", + "id": "runtime:domain-string-counterString-arg-max", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal", + "command": "string.counterString", + "label": "string.counterString arg max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "()", + "command": "string.counterString", + "params": "(max=12)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal()", - "expectedUiSchemaText": "Value\nnumber.octal()", + "expectedSchemaText": "Value\nstring.counterString(max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(max=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-number-octal-base" + "coveredArgs": ["max"], + "origins": ["arg"], + "scenarioId": "domain-string-counterString-arg-max" }, { - "id": "runtime:domain-number-octal-arg-max", + "id": "runtime:domain-string-counterString-arg-delimiter", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal arg max", + "command": "string.counterString", + "label": "string.counterString arg delimiter", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "(max=3)", + "command": "string.counterString", + "params": "(delimiter=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal(max=3)", - "expectedUiSchemaText": "Value\nnumber.octal(max=3)", + "expectedSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(delimiter=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], + "coveredArgs": ["delimiter"], "origins": ["arg"], - "scenarioId": "domain-number-octal-arg-max" + "scenarioId": "domain-string-counterString-arg-delimiter" }, { - "id": "runtime:domain-number-octal-arg-min", + "id": "runtime:domain-string-counterString-pair-min-max", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal arg min", + "command": "string.counterString", + "label": "string.counterString pair min/max", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "(min=1)", + "command": "string.counterString", + "params": "(min=5, max=12)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal(min=1)", - "expectedUiSchemaText": "Value\nnumber.octal(min=1)", + "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-octal-arg-min" + "coveredArgs": ["min", "max"], + "origins": ["pair"], + "scenarioId": "domain-string-counterString-pair-min-max" }, { - "id": "runtime:domain-number-octal-pair-max-min", + "id": "runtime:domain-string-counterString-pair-max-delimiter", "sourceType": "domain", - "command": "number.octal", - "label": "number.octal pair max/min", + "command": "string.counterString", + "label": "string.counterString pair max/delimiter", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.octal", - "params": "(max=3, min=1)", + "command": "string.counterString", + "params": "(max=12, delimiter=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nnumber.octal(max=3, min=1)", - "expectedUiSchemaText": "Value\nnumber.octal(max=3, min=1)", + "expectedSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", + "expectedUiSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "min"], + "coveredArgs": ["max", "delimiter"], "origins": ["pair"], - "scenarioId": "domain-number-octal-pair-max-min" + "scenarioId": "domain-string-counterString-pair-max-delimiter" }, { - "id": "runtime:domain-number-romanNumeral-base", + "id": "runtime:domain-string-fromCharacters-base", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral", + "command": "string.fromCharacters", + "label": "string.fromCharacters", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "()", + "command": "string.fromCharacters", + "params": "(\"ABC123\", 4)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral()", - "expectedUiSchemaText": "Value\nnumber.romanNumeral()", + "expectedSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-number-romanNumeral-base" + "scenarioId": "domain-string-fromCharacters-base" }, { - "id": "runtime:domain-number-romanNumeral-arg-min", + "id": "runtime:domain-string-fromCharacters-example-1", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral arg min", + "command": "string.fromCharacters", + "label": "string.fromCharacters example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "(min=1)", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=6)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral(min=1)", - "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1)", + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=6)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=6)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-number-romanNumeral-arg-min" + "coveredArgs": ["characters", "length"], + "origins": ["example"], + "scenarioId": "domain-string-fromCharacters-example-1" }, { - "id": "runtime:domain-number-romanNumeral-arg-max", + "id": "runtime:domain-string-fromCharacters-example-2", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral arg max", + "command": "string.fromCharacters", + "label": "string.fromCharacters example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "(max=3)", + "command": "string.fromCharacters", + "params": "(characters=[\"A\", \"B\", \"C\"], length=4)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral(max=3)", - "expectedUiSchemaText": "Value\nnumber.romanNumeral(max=3)", + "expectedSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-number-romanNumeral-arg-max" + "coveredArgs": ["characters", "length"], + "origins": ["example"], + "scenarioId": "domain-string-fromCharacters-example-2" }, { - "id": "runtime:domain-number-romanNumeral-pair-min-max", + "id": "runtime:domain-string-fromCharacters-example-3", "sourceType": "domain", - "command": "number.romanNumeral", - "label": "number.romanNumeral pair min/max", + "command": "string.fromCharacters", + "label": "string.fromCharacters example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "number.romanNumeral", - "params": "(min=1, max=3)", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=4)", "value": "" } ], - "expectedSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", - "expectedUiSchemaText": "Value\nnumber.romanNumeral(min=1, max=3)", + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-number-romanNumeral-pair-min-max" + "coveredArgs": ["characters", "length"], + "origins": ["example"], + "scenarioId": "domain-string-fromCharacters-example-3" }, { - "id": "runtime:domain-person-bio-base", + "id": "runtime:domain-string-fromCharacters-arg-characters", "sourceType": "domain", - "command": "person.bio", - "label": "person.bio", + "command": "string.fromCharacters", + "label": "string.fromCharacters arg characters", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.bio", - "params": "()", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.bio()", - "expectedUiSchemaText": "Value\nperson.bio()", + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-bio-base" + "coveredArgs": ["characters"], + "origins": ["arg"], + "scenarioId": "domain-string-fromCharacters-arg-characters" }, { - "id": "runtime:domain-person-firstName-base", + "id": "runtime:domain-string-fromCharacters-arg-length", "sourceType": "domain", - "command": "person.firstName", - "label": "person.firstName", + "command": "string.fromCharacters", + "label": "string.fromCharacters arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.firstName", - "params": "()", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=4)", "value": "" } ], - "expectedSchemaText": "Value\nperson.firstName()", - "expectedUiSchemaText": "Value\nperson.firstName()", + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-firstName-base" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-fromCharacters-arg-length" }, { - "id": "runtime:domain-person-firstName-arg-sex", + "id": "runtime:domain-string-fromCharacters-pair-characters-length", "sourceType": "domain", - "command": "person.firstName", - "label": "person.firstName arg sex", + "command": "string.fromCharacters", + "label": "string.fromCharacters pair characters/length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.firstName", - "params": "(sex=\"male\")", + "command": "string.fromCharacters", + "params": "(characters=\"ABC123\", length=4)", "value": "" } ], - "expectedSchemaText": "Value\nperson.firstName(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.firstName(sex=\"male\")", + "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-firstName-arg-sex" + "coveredArgs": ["characters", "length"], + "origins": ["pair"], + "scenarioId": "domain-string-fromCharacters-pair-characters-length" }, { - "id": "runtime:domain-person-fullName-base", + "id": "runtime:domain-string-hexadecimal-base", "sourceType": "domain", - "command": "person.fullName", - "label": "person.fullName", + "command": "string.hexadecimal", + "label": "string.hexadecimal", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.fullName", + "command": "string.hexadecimal", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.fullName()", - "expectedUiSchemaText": "Value\nperson.fullName()", + "expectedSchemaText": "Value\nstring.hexadecimal()", + "expectedUiSchemaText": "Value\nstring.hexadecimal()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-person-fullName-base" + "scenarioId": "domain-string-hexadecimal-base" }, { - "id": "runtime:domain-person-gender-base", + "id": "runtime:domain-string-hexadecimal-example-1", "sourceType": "domain", - "command": "person.gender", - "label": "person.gender", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.gender", + "command": "string.hexadecimal", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.gender()", - "expectedUiSchemaText": "Value\nperson.gender()", + "expectedSchemaText": "Value\nstring.hexadecimal()", + "expectedUiSchemaText": "Value\nstring.hexadecimal()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-gender-base" + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-1" }, { - "id": "runtime:domain-person-jobArea-base", + "id": "runtime:domain-string-hexadecimal-example-2", "sourceType": "domain", - "command": "person.jobArea", - "label": "person.jobArea", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobArea", - "params": "()", + "command": "string.hexadecimal", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobArea()", - "expectedUiSchemaText": "Value\nperson.jobArea()", + "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobArea-base" + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-2" }, { - "id": "runtime:domain-person-jobDescriptor-base", + "id": "runtime:domain-string-hexadecimal-example-3", "sourceType": "domain", - "command": "person.jobDescriptor", - "label": "person.jobDescriptor", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobDescriptor", - "params": "()", + "command": "string.hexadecimal", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobDescriptor()", - "expectedUiSchemaText": "Value\nperson.jobDescriptor()", + "expectedSchemaText": "Value\nstring.hexadecimal(length=5)", + "expectedUiSchemaText": "Value\nstring.hexadecimal(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobDescriptor-base" + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-3" }, { - "id": "runtime:domain-person-jobTitle-base", + "id": "runtime:domain-string-hexadecimal-example-4", "sourceType": "domain", - "command": "person.jobTitle", - "label": "person.jobTitle", + "command": "string.hexadecimal", + "label": "string.hexadecimal example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobTitle", - "params": "()", + "command": "string.hexadecimal", + "params": "(prefix=\"PRE-\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobTitle()", - "expectedUiSchemaText": "Value\nperson.jobTitle()", + "expectedSchemaText": "Value\nstring.hexadecimal(prefix=\"PRE-\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(prefix=\"PRE-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobTitle-base" + "coveredArgs": ["casing", "length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-hexadecimal-example-4" }, { - "id": "runtime:domain-person-jobType-base", + "id": "runtime:domain-string-hexadecimal-arg-casing", "sourceType": "domain", - "command": "person.jobType", - "label": "person.jobType", + "command": "string.hexadecimal", + "label": "string.hexadecimal arg casing", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.jobType", - "params": "()", + "command": "string.hexadecimal", + "params": "(casing=\"upper\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.jobType()", - "expectedUiSchemaText": "Value\nperson.jobType()", + "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-jobType-base" + "coveredArgs": ["casing"], + "origins": ["arg"], + "scenarioId": "domain-string-hexadecimal-arg-casing" }, { - "id": "runtime:domain-person-lastName-base", + "id": "runtime:domain-string-hexadecimal-arg-length", "sourceType": "domain", - "command": "person.lastName", - "label": "person.lastName", + "command": "string.hexadecimal", + "label": "string.hexadecimal arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.lastName", - "params": "()", + "command": "string.hexadecimal", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nperson.lastName()", - "expectedUiSchemaText": "Value\nperson.lastName()", + "expectedSchemaText": "Value\nstring.hexadecimal(length=4)", + "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-lastName-base" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-hexadecimal-arg-length" }, { - "id": "runtime:domain-person-lastName-arg-sex", + "id": "runtime:domain-string-hexadecimal-arg-prefix", "sourceType": "domain", - "command": "person.lastName", - "label": "person.lastName arg sex", + "command": "string.hexadecimal", + "label": "string.hexadecimal arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.lastName", - "params": "(sex=\"male\")", + "command": "string.hexadecimal", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.lastName(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.lastName(sex=\"male\")", + "expectedSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], + "coveredArgs": ["prefix"], "origins": ["arg"], - "scenarioId": "domain-person-lastName-arg-sex" + "scenarioId": "domain-string-hexadecimal-arg-prefix" }, { - "id": "runtime:domain-person-middleName-base", + "id": "runtime:domain-string-hexadecimal-pair-casing-length", "sourceType": "domain", - "command": "person.middleName", - "label": "person.middleName", + "command": "string.hexadecimal", + "label": "string.hexadecimal pair casing/length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.middleName", - "params": "()", + "command": "string.hexadecimal", + "params": "(casing=\"upper\", length=4)", "value": "" } ], - "expectedSchemaText": "Value\nperson.middleName()", - "expectedUiSchemaText": "Value\nperson.middleName()", + "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", + "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-middleName-base" + "coveredArgs": ["casing", "length"], + "origins": ["pair"], + "scenarioId": "domain-string-hexadecimal-pair-casing-length" }, { - "id": "runtime:domain-person-middleName-arg-sex", + "id": "runtime:domain-string-hexadecimal-pair-length-prefix", "sourceType": "domain", - "command": "person.middleName", - "label": "person.middleName arg sex", + "command": "string.hexadecimal", + "label": "string.hexadecimal pair length/prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.middleName", - "params": "(sex=\"male\")", + "command": "string.hexadecimal", + "params": "(length=4, prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nperson.middleName(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.middleName(sex=\"male\")", + "expectedSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-middleName-arg-sex" + "coveredArgs": ["length", "prefix"], + "origins": ["pair"], + "scenarioId": "domain-string-hexadecimal-pair-length-prefix" }, { - "id": "runtime:domain-person-prefix-base", + "id": "runtime:domain-string-nanoid-base", "sourceType": "domain", - "command": "person.prefix", - "label": "person.prefix", + "command": "string.nanoid", + "label": "string.nanoid", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.prefix", + "command": "string.nanoid", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.prefix()", - "expectedUiSchemaText": "Value\nperson.prefix()", + "expectedSchemaText": "Value\nstring.nanoid()", + "expectedUiSchemaText": "Value\nstring.nanoid()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-person-prefix-base" + "scenarioId": "domain-string-nanoid-base" }, { - "id": "runtime:domain-person-prefix-arg-sex", + "id": "runtime:domain-string-nanoid-example-1", "sourceType": "domain", - "command": "person.prefix", - "label": "person.prefix arg sex", + "command": "string.nanoid", + "label": "string.nanoid example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.prefix", - "params": "(sex=\"male\")", + "command": "string.nanoid", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.prefix(sex=\"male\")", - "expectedUiSchemaText": "Value\nperson.prefix(sex=\"male\")", + "expectedSchemaText": "Value\nstring.nanoid()", + "expectedUiSchemaText": "Value\nstring.nanoid()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["sex"], - "origins": ["arg"], - "scenarioId": "domain-person-prefix-arg-sex" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-nanoid-example-1" }, { - "id": "runtime:domain-person-sex-base", + "id": "runtime:domain-string-nanoid-example-2", "sourceType": "domain", - "command": "person.sex", - "label": "person.sex", + "command": "string.nanoid", + "label": "string.nanoid example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.sex", - "params": "()", + "command": "string.nanoid", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nperson.sex()", - "expectedUiSchemaText": "Value\nperson.sex()", + "expectedSchemaText": "Value\nstring.nanoid(length=5)", + "expectedUiSchemaText": "Value\nstring.nanoid(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-sex-base" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-nanoid-example-2" }, { - "id": "runtime:domain-person-sexType-base", + "id": "runtime:domain-string-nanoid-arg-length", "sourceType": "domain", - "command": "person.sexType", - "label": "person.sexType", + "command": "string.nanoid", + "label": "string.nanoid arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.sexType", - "params": "()", + "command": "string.nanoid", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nperson.sexType()", - "expectedUiSchemaText": "Value\nperson.sexType()", + "expectedSchemaText": "Value\nstring.nanoid(length=4)", + "expectedUiSchemaText": "Value\nstring.nanoid(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-sexType-base" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-nanoid-arg-length" }, { - "id": "runtime:domain-person-suffix-base", + "id": "runtime:domain-string-numeric-base", "sourceType": "domain", - "command": "person.suffix", - "label": "person.suffix", + "command": "string.numeric", + "label": "string.numeric", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.suffix", + "command": "string.numeric", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.suffix()", - "expectedUiSchemaText": "Value\nperson.suffix()", + "expectedSchemaText": "Value\nstring.numeric()", + "expectedUiSchemaText": "Value\nstring.numeric()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-person-suffix-base" + "scenarioId": "domain-string-numeric-base" }, { - "id": "runtime:domain-person-zodiacSign-base", + "id": "runtime:domain-string-numeric-example-1", "sourceType": "domain", - "command": "person.zodiacSign", - "label": "person.zodiacSign", + "command": "string.numeric", + "label": "string.numeric example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "person.zodiacSign", + "command": "string.numeric", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nperson.zodiacSign()", - "expectedUiSchemaText": "Value\nperson.zodiacSign()", + "expectedSchemaText": "Value\nstring.numeric()", + "expectedUiSchemaText": "Value\nstring.numeric()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-person-zodiacSign-base" + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-1" }, { - "id": "runtime:domain-phone-imei-base", + "id": "runtime:domain-string-numeric-example-2", "sourceType": "domain", - "command": "phone.imei", - "label": "phone.imei", + "command": "string.numeric", + "label": "string.numeric example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "phone.imei", - "params": "()", + "command": "string.numeric", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nphone.imei()", - "expectedUiSchemaText": "Value\nphone.imei()", + "expectedSchemaText": "Value\nstring.numeric(length=5)", + "expectedUiSchemaText": "Value\nstring.numeric(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-phone-imei-base" + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-2" }, { - "id": "runtime:domain-phone-number-base", + "id": "runtime:domain-string-numeric-example-3", "sourceType": "domain", - "command": "phone.number", - "label": "phone.number", + "command": "string.numeric", + "label": "string.numeric example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "phone.number", - "params": "()", + "command": "string.numeric", + "params": "(allowLeadingZeros=true)", "value": "" } ], - "expectedSchemaText": "Value\nphone.number()", - "expectedUiSchemaText": "Value\nphone.number()", + "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-phone-number-base" + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-3" }, { - "id": "runtime:domain-phone-number-arg-style", + "id": "runtime:domain-string-numeric-example-4", "sourceType": "domain", - "command": "phone.number", - "label": "phone.number arg style", + "command": "string.numeric", + "label": "string.numeric example 4", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "phone.number", - "params": "(style=\"international\")", + "command": "string.numeric", + "params": "(exclude=[\"A\",\"B\",\"C\"])", "value": "" } ], - "expectedSchemaText": "Value\nphone.number(style=\"international\")", - "expectedUiSchemaText": "Value\nphone.number(style=\"international\")", + "expectedSchemaText": "Value\nstring.numeric(exclude=[\"A\",\"B\",\"C\"])", + "expectedUiSchemaText": "Value\nstring.numeric(exclude=[\"A\",\"B\",\"C\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["style"], - "origins": ["arg"], - "scenarioId": "domain-phone-number-arg-style" + "coveredArgs": ["length", "allowLeadingZeros", "exclude"], + "origins": ["example"], + "scenarioId": "domain-string-numeric-example-4" }, { - "id": "runtime:domain-string-alpha-base", + "id": "runtime:domain-string-numeric-arg-length", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha", + "command": "string.numeric", + "label": "string.numeric arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "()", + "command": "string.numeric", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha()", - "expectedUiSchemaText": "Value\nstring.alpha()", + "expectedSchemaText": "Value\nstring.numeric(length=4)", + "expectedUiSchemaText": "Value\nstring.numeric(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-alpha-base" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-numeric-arg-length" }, { - "id": "runtime:domain-string-alpha-arg-length", + "id": "runtime:domain-string-numeric-arg-allowLeadingZeros", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha arg length", + "command": "string.numeric", + "label": "string.numeric arg allowLeadingZeros", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(length=4)", + "command": "string.numeric", + "params": "(allowLeadingZeros=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(length=4)", - "expectedUiSchemaText": "Value\nstring.alpha(length=4)", + "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["allowLeadingZeros"], "origins": ["arg"], - "scenarioId": "domain-string-alpha-arg-length" + "scenarioId": "domain-string-numeric-arg-allowLeadingZeros" }, { - "id": "runtime:domain-string-alpha-arg-casing", + "id": "runtime:domain-string-numeric-arg-exclude", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha arg casing", + "command": "string.numeric", + "label": "string.numeric arg exclude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(casing=\"upper\")", + "command": "string.numeric", + "params": "(exclude=[\"A\", \"B\"])", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\")", + "expectedSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], + "coveredArgs": ["exclude"], "origins": ["arg"], - "scenarioId": "domain-string-alpha-arg-casing" + "scenarioId": "domain-string-numeric-arg-exclude" }, { - "id": "runtime:domain-string-alpha-arg-exclude", + "id": "runtime:domain-string-numeric-pair-length-allowLeadingZeros", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha arg exclude", + "command": "string.numeric", + "label": "string.numeric pair length/allowLeadingZeros", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(exclude=[\"A\", \"B\"])", + "command": "string.numeric", + "params": "(length=4, allowLeadingZeros=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alpha(exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", + "expectedUiSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["exclude"], - "origins": ["arg"], - "scenarioId": "domain-string-alpha-arg-exclude" + "coveredArgs": ["length", "allowLeadingZeros"], + "origins": ["pair"], + "scenarioId": "domain-string-numeric-pair-length-allowLeadingZeros" }, { - "id": "runtime:domain-string-alpha-pair-length-casing", + "id": "runtime:domain-string-numeric-pair-allowLeadingZeros-exclude", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha pair length/casing", + "command": "string.numeric", + "label": "string.numeric pair allowLeadingZeros/exclude", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(length=4, casing=\"upper\")", + "command": "string.numeric", + "params": "(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alpha(length=4, casing=\"upper\")", + "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "casing"], + "coveredArgs": ["allowLeadingZeros", "exclude"], "origins": ["pair"], - "scenarioId": "domain-string-alpha-pair-length-casing" + "scenarioId": "domain-string-numeric-pair-allowLeadingZeros-exclude" }, { - "id": "runtime:domain-string-alpha-pair-casing-exclude", + "id": "runtime:domain-string-octal-base", "sourceType": "domain", - "command": "string.alpha", - "label": "string.alpha pair casing/exclude", + "command": "string.octal", + "label": "string.octal", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alpha", - "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", + "command": "string.octal", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alpha(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nstring.octal()", + "expectedUiSchemaText": "Value\nstring.octal()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "exclude"], - "origins": ["pair"], - "scenarioId": "domain-string-alpha-pair-casing-exclude" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-octal-base" }, { - "id": "runtime:domain-string-alphanumeric-base", + "id": "runtime:domain-string-octal-example-1", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric", + "command": "string.octal", + "label": "string.octal example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", + "command": "string.octal", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric()", - "expectedUiSchemaText": "Value\nstring.alphanumeric()", + "expectedSchemaText": "Value\nstring.octal()", + "expectedUiSchemaText": "Value\nstring.octal()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-alphanumeric-base" + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-octal-example-1" }, { - "id": "runtime:domain-string-alphanumeric-arg-length", + "id": "runtime:domain-string-octal-example-2", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric arg length", + "command": "string.octal", + "label": "string.octal example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(length=4)", + "command": "string.octal", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(length=4)", - "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4)", + "expectedSchemaText": "Value\nstring.octal(length=5)", + "expectedUiSchemaText": "Value\nstring.octal(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-alphanumeric-arg-length" + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-octal-example-2" }, { - "id": "runtime:domain-string-alphanumeric-arg-casing", + "id": "runtime:domain-string-octal-example-3", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric arg casing", + "command": "string.octal", + "label": "string.octal example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(casing=\"upper\")", + "command": "string.octal", + "params": "(prefix=\"PRE-\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\")", + "expectedSchemaText": "Value\nstring.octal(prefix=\"PRE-\")", + "expectedUiSchemaText": "Value\nstring.octal(prefix=\"PRE-\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], - "origins": ["arg"], - "scenarioId": "domain-string-alphanumeric-arg-casing" + "coveredArgs": ["length", "prefix"], + "origins": ["example"], + "scenarioId": "domain-string-octal-example-3" }, { - "id": "runtime:domain-string-alphanumeric-arg-exclude", + "id": "runtime:domain-string-octal-arg-length", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric arg exclude", + "command": "string.octal", + "label": "string.octal arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(exclude=[\"A\", \"B\"])", + "command": "string.octal", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alphanumeric(exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nstring.octal(length=4)", + "expectedUiSchemaText": "Value\nstring.octal(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["exclude"], + "coveredArgs": ["length"], "origins": ["arg"], - "scenarioId": "domain-string-alphanumeric-arg-exclude" + "scenarioId": "domain-string-octal-arg-length" }, { - "id": "runtime:domain-string-alphanumeric-pair-length-casing", + "id": "runtime:domain-string-octal-arg-prefix", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric pair length/casing", + "command": "string.octal", + "label": "string.octal arg prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(length=4, casing=\"upper\")", + "command": "string.octal", + "params": "(prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.alphanumeric(length=4, casing=\"upper\")", + "expectedSchemaText": "Value\nstring.octal(prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.octal(prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "casing"], - "origins": ["pair"], - "scenarioId": "domain-string-alphanumeric-pair-length-casing" + "coveredArgs": ["prefix"], + "origins": ["arg"], + "scenarioId": "domain-string-octal-arg-prefix" }, { - "id": "runtime:domain-string-alphanumeric-pair-casing-exclude", + "id": "runtime:domain-string-octal-pair-length-prefix", "sourceType": "domain", - "command": "string.alphanumeric", - "label": "string.alphanumeric pair casing/exclude", + "command": "string.octal", + "label": "string.octal pair length/prefix", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.alphanumeric", - "params": "(casing=\"upper\", exclude=[\"A\", \"B\"])", + "command": "string.octal", + "params": "(length=4, prefix=\"#\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.alphanumeric(casing=\"upper\", exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", + "expectedUiSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "exclude"], + "coveredArgs": ["length", "prefix"], "origins": ["pair"], - "scenarioId": "domain-string-alphanumeric-pair-casing-exclude" + "scenarioId": "domain-string-octal-pair-length-prefix" }, { - "id": "runtime:domain-string-binary-base", + "id": "runtime:domain-string-sample-base", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary", + "command": "string.sample", + "label": "string.sample", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", + "command": "string.sample", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary()", - "expectedUiSchemaText": "Value\nstring.binary()", + "expectedSchemaText": "Value\nstring.sample()", + "expectedUiSchemaText": "Value\nstring.sample()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-binary-base" + "scenarioId": "domain-string-sample-base" }, { - "id": "runtime:domain-string-binary-arg-length", + "id": "runtime:domain-string-sample-example-1", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary arg length", + "command": "string.sample", + "label": "string.sample example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", - "params": "(length=4)", + "command": "string.sample", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary(length=4)", - "expectedUiSchemaText": "Value\nstring.binary(length=4)", + "expectedSchemaText": "Value\nstring.sample()", + "expectedUiSchemaText": "Value\nstring.sample()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-binary-arg-length" + "origins": ["example"], + "scenarioId": "domain-string-sample-example-1" }, { - "id": "runtime:domain-string-binary-arg-prefix", + "id": "runtime:domain-string-sample-example-2", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary arg prefix", + "command": "string.sample", + "label": "string.sample example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", - "params": "(prefix=\"#\")", + "command": "string.sample", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary(prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.binary(prefix=\"#\")", + "expectedSchemaText": "Value\nstring.sample(length=5)", + "expectedUiSchemaText": "Value\nstring.sample(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-string-binary-arg-prefix" + "coveredArgs": ["length"], + "origins": ["example"], + "scenarioId": "domain-string-sample-example-2" }, { - "id": "runtime:domain-string-binary-pair-length-prefix", + "id": "runtime:domain-string-sample-arg-length", "sourceType": "domain", - "command": "string.binary", - "label": "string.binary pair length/prefix", + "command": "string.sample", + "label": "string.sample arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.binary", - "params": "(length=4, prefix=\"#\")", + "command": "string.sample", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.binary(length=4, prefix=\"#\")", + "expectedSchemaText": "Value\nstring.sample(length=4)", + "expectedUiSchemaText": "Value\nstring.sample(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-string-binary-pair-length-prefix" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-sample-arg-length" }, { - "id": "runtime:domain-string-counterString-base", + "id": "runtime:domain-string-symbol-base", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString", + "command": "string.symbol", + "label": "string.symbol", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(1, 25, \"*\")", + "command": "string.symbol", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(1, 25, \"*\")", - "expectedUiSchemaText": "Value\nstring.counterString(1, 25, \"*\")", + "expectedSchemaText": "Value\nstring.symbol()", + "expectedUiSchemaText": "Value\nstring.symbol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-counterString-base" + "scenarioId": "domain-string-symbol-base" }, { - "id": "runtime:domain-string-counterString-example-1", + "id": "runtime:domain-string-symbol-example-1", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 1", + "command": "string.symbol", + "label": "string.symbol example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", + "command": "string.symbol", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString()", - "expectedUiSchemaText": "Value\nstring.counterString()", + "expectedSchemaText": "Value\nstring.symbol()", + "expectedUiSchemaText": "Value\nstring.symbol()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], + "coveredArgs": ["length"], "origins": ["example"], - "scenarioId": "domain-string-counterString-example-1" + "scenarioId": "domain-string-symbol-example-1" }, { - "id": "runtime:domain-string-counterString-example-2", + "id": "runtime:domain-string-symbol-example-2", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 2", + "command": "string.symbol", + "label": "string.symbol example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(15)", + "command": "string.symbol", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(15)", - "expectedUiSchemaText": "Value\nstring.counterString(15)", + "expectedSchemaText": "Value\nstring.symbol(length=5)", + "expectedUiSchemaText": "Value\nstring.symbol(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], + "coveredArgs": ["length"], "origins": ["example"], - "scenarioId": "domain-string-counterString-example-2" + "scenarioId": "domain-string-symbol-example-2" }, { - "id": "runtime:domain-string-counterString-example-3", + "id": "runtime:domain-string-symbol-arg-length", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 3", + "command": "string.symbol", + "label": "string.symbol arg length", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=5, max=12)", + "command": "string.symbol", + "params": "(length=4)", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", - "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedSchemaText": "Value\nstring.symbol(length=4)", + "expectedUiSchemaText": "Value\nstring.symbol(length=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], - "origins": ["example"], - "scenarioId": "domain-string-counterString-example-3" + "coveredArgs": ["length"], + "origins": ["arg"], + "scenarioId": "domain-string-symbol-arg-length" }, { - "id": "runtime:domain-string-counterString-example-4", + "id": "runtime:domain-string-ulid-base", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString example 4", + "command": "string.ulid", + "label": "string.ulid", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=12, max=12, delimiter=\"#\")", + "command": "string.ulid", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", - "expectedUiSchemaText": "Value\nstring.counterString(min=12, max=12, delimiter=\"#\")", + "expectedSchemaText": "Value\nstring.ulid()", + "expectedUiSchemaText": "Value\nstring.ulid()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max", "delimiter"], - "origins": ["example"], - "scenarioId": "domain-string-counterString-example-4" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-ulid-base" }, { - "id": "runtime:domain-string-counterString-arg-min", + "id": "runtime:domain-string-ulid-example-1", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString arg min", + "command": "string.ulid", + "label": "string.ulid example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=5)", + "command": "string.ulid", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=5)", - "expectedUiSchemaText": "Value\nstring.counterString(min=5)", + "expectedSchemaText": "Value\nstring.ulid()", + "expectedUiSchemaText": "Value\nstring.ulid()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min"], - "origins": ["arg"], - "scenarioId": "domain-string-counterString-arg-min" + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-string-ulid-example-1" }, { - "id": "runtime:domain-string-counterString-arg-max", + "id": "runtime:domain-string-ulid-example-2", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString arg max", + "command": "string.ulid", + "label": "string.ulid example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(max=12)", + "command": "string.ulid", + "params": "(refDate=1718755200000)", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(max=12)", - "expectedUiSchemaText": "Value\nstring.counterString(max=12)", + "expectedSchemaText": "Value\nstring.ulid(refDate=1718755200000)", + "expectedUiSchemaText": "Value\nstring.ulid(refDate=1718755200000)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max"], - "origins": ["arg"], - "scenarioId": "domain-string-counterString-arg-max" + "coveredArgs": ["refDate"], + "origins": ["example"], + "scenarioId": "domain-string-ulid-example-2" }, { - "id": "runtime:domain-string-counterString-arg-delimiter", + "id": "runtime:domain-string-ulid-arg-refDate", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString arg delimiter", + "command": "string.ulid", + "label": "string.ulid arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(delimiter=\"#\")", + "command": "string.ulid", + "params": "(refDate=1)", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(delimiter=\"#\")", - "expectedUiSchemaText": "Value\nstring.counterString(delimiter=\"#\")", + "expectedSchemaText": "Value\nstring.ulid(refDate=1)", + "expectedUiSchemaText": "Value\nstring.ulid(refDate=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["delimiter"], + "coveredArgs": ["refDate"], "origins": ["arg"], - "scenarioId": "domain-string-counterString-arg-delimiter" + "scenarioId": "domain-string-ulid-arg-refDate" }, { - "id": "runtime:domain-string-counterString-pair-min-max", + "id": "runtime:domain-string-uuid-base", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString pair min/max", + "command": "string.uuid", + "label": "string.uuid", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(min=5, max=12)", + "command": "string.uuid", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(min=5, max=12)", - "expectedUiSchemaText": "Value\nstring.counterString(min=5, max=12)", + "expectedSchemaText": "Value\nstring.uuid()", + "expectedUiSchemaText": "Value\nstring.uuid()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["min", "max"], - "origins": ["pair"], - "scenarioId": "domain-string-counterString-pair-min-max" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-string-uuid-base" }, { - "id": "runtime:domain-string-counterString-pair-max-delimiter", + "id": "runtime:domain-string-uuid-example-1", "sourceType": "domain", - "command": "string.counterString", - "label": "string.counterString pair max/delimiter", + "command": "string.uuid", + "label": "string.uuid example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.counterString", - "params": "(max=12, delimiter=\"#\")", + "command": "string.uuid", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", - "expectedUiSchemaText": "Value\nstring.counterString(max=12, delimiter=\"#\")", + "expectedSchemaText": "Value\nstring.uuid()", + "expectedUiSchemaText": "Value\nstring.uuid()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["max", "delimiter"], - "origins": ["pair"], - "scenarioId": "domain-string-counterString-pair-max-delimiter" + "coveredArgs": ["version", "refDate"], + "origins": ["example"], + "scenarioId": "domain-string-uuid-example-1" }, { - "id": "runtime:domain-string-fromCharacters-base", + "id": "runtime:domain-string-uuid-example-2", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters", + "command": "string.uuid", + "label": "string.uuid example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(\"ABC123\", 4)", + "command": "string.uuid", + "params": "(version=7)", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 4)", + "expectedSchemaText": "Value\nstring.uuid(version=7)", + "expectedUiSchemaText": "Value\nstring.uuid(version=7)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-fromCharacters-base" + "coveredArgs": ["version", "refDate"], + "origins": ["example"], + "scenarioId": "domain-string-uuid-example-2" }, { - "id": "runtime:domain-string-fromCharacters-example-1", + "id": "runtime:domain-string-uuid-example-3", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters example 1", + "command": "string.uuid", + "label": "string.uuid example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(\"ABC123\", 6)", + "command": "string.uuid", + "params": "(refDate=\"2026-06-18T00:00:00.000Z\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 6)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(\"ABC123\", 6)", + "expectedSchemaText": "Value\nstring.uuid(refDate=\"2026-06-18T00:00:00.000Z\")", + "expectedUiSchemaText": "Value\nstring.uuid(refDate=\"2026-06-18T00:00:00.000Z\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters", "length"], + "coveredArgs": ["version", "refDate"], "origins": ["example"], - "scenarioId": "domain-string-fromCharacters-example-1" + "scenarioId": "domain-string-uuid-example-3" }, { - "id": "runtime:domain-string-fromCharacters-example-2", + "id": "runtime:domain-string-uuid-arg-version", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters example 2", + "command": "string.uuid", + "label": "string.uuid arg version", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=[\"A\", \"B\", \"C\"], length=4)", + "command": "string.uuid", + "params": "(version=4)", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=[\"A\", \"B\", \"C\"], length=4)", + "expectedSchemaText": "Value\nstring.uuid(version=4)", + "expectedUiSchemaText": "Value\nstring.uuid(version=4)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters", "length"], - "origins": ["example"], - "scenarioId": "domain-string-fromCharacters-example-2" + "coveredArgs": ["version"], + "origins": ["arg"], + "scenarioId": "domain-string-uuid-arg-version" }, { - "id": "runtime:domain-string-fromCharacters-arg-characters", + "id": "runtime:domain-string-uuid-arg-refDate", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters arg characters", + "command": "string.uuid", + "label": "string.uuid arg refDate", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=\"ABC123\")", + "command": "string.uuid", + "params": "(refDate=1)", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\")", + "expectedSchemaText": "Value\nstring.uuid(refDate=1)", + "expectedUiSchemaText": "Value\nstring.uuid(refDate=1)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters"], + "coveredArgs": ["refDate"], "origins": ["arg"], - "scenarioId": "domain-string-fromCharacters-arg-characters" + "scenarioId": "domain-string-uuid-arg-refDate" }, { - "id": "runtime:domain-string-fromCharacters-arg-length", + "id": "runtime:domain-system-commonFileExt-base", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters arg length", + "command": "system.commonFileExt", + "label": "system.commonFileExt", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=\"ABC123\", length=4)", + "command": "system.commonFileExt", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedSchemaText": "Value\nsystem.commonFileExt()", + "expectedUiSchemaText": "Value\nsystem.commonFileExt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-fromCharacters-arg-length" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-commonFileExt-base" }, { - "id": "runtime:domain-string-fromCharacters-pair-characters-length", + "id": "runtime:domain-system-commonFileExt-example-1", "sourceType": "domain", - "command": "string.fromCharacters", - "label": "string.fromCharacters pair characters/length", + "command": "system.commonFileExt", + "label": "system.commonFileExt example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.fromCharacters", - "params": "(characters=\"ABC123\", length=4)", + "command": "system.commonFileExt", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", - "expectedUiSchemaText": "Value\nstring.fromCharacters(characters=\"ABC123\", length=4)", + "expectedSchemaText": "Value\nsystem.commonFileExt()", + "expectedUiSchemaText": "Value\nsystem.commonFileExt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["characters", "length"], - "origins": ["pair"], - "scenarioId": "domain-string-fromCharacters-pair-characters-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-commonFileExt-example-1" }, { - "id": "runtime:domain-string-hexadecimal-base", + "id": "runtime:domain-system-commonFileName-base", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal", + "command": "system.commonFileName", + "label": "system.commonFileName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", + "command": "system.commonFileName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal()", - "expectedUiSchemaText": "Value\nstring.hexadecimal()", + "expectedSchemaText": "Value\nsystem.commonFileName()", + "expectedUiSchemaText": "Value\nsystem.commonFileName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-hexadecimal-base" + "scenarioId": "domain-system-commonFileName-base" }, { - "id": "runtime:domain-string-hexadecimal-arg-casing", + "id": "runtime:domain-system-commonFileName-example-1", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal arg casing", + "command": "system.commonFileName", + "label": "system.commonFileName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(casing=\"upper\")", + "command": "system.commonFileName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", - "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\")", + "expectedSchemaText": "Value\nsystem.commonFileName()", + "expectedUiSchemaText": "Value\nsystem.commonFileName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing"], - "origins": ["arg"], - "scenarioId": "domain-string-hexadecimal-arg-casing" + "coveredArgs": ["extension"], + "origins": ["example"], + "scenarioId": "domain-system-commonFileName-example-1" }, { - "id": "runtime:domain-string-hexadecimal-arg-length", + "id": "runtime:domain-system-commonFileName-example-2", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal arg length", + "command": "system.commonFileName", + "label": "system.commonFileName example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(length=4)", + "command": "system.commonFileName", + "params": "(extension=\"txt\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(length=4)", - "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4)", + "expectedSchemaText": "Value\nsystem.commonFileName(extension=\"txt\")", + "expectedUiSchemaText": "Value\nsystem.commonFileName(extension=\"txt\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-hexadecimal-arg-length" + "coveredArgs": ["extension"], + "origins": ["example"], + "scenarioId": "domain-system-commonFileName-example-2" }, { - "id": "runtime:domain-string-hexadecimal-arg-prefix", + "id": "runtime:domain-system-commonFileName-arg-extension", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal arg prefix", + "command": "system.commonFileName", + "label": "system.commonFileName arg extension", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(prefix=\"#\")", + "command": "system.commonFileName", + "params": "(extension=\"system-commonFileName-extension\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.hexadecimal(prefix=\"#\")", + "expectedSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", + "expectedUiSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], + "coveredArgs": ["extension"], "origins": ["arg"], - "scenarioId": "domain-string-hexadecimal-arg-prefix" + "scenarioId": "domain-system-commonFileName-arg-extension" + }, + { + "id": "runtime:domain-system-commonFileType-base", + "sourceType": "domain", + "command": "system.commonFileType", + "label": "system.commonFileType", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "system.commonFileType", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nsystem.commonFileType()", + "expectedUiSchemaText": "Value\nsystem.commonFileType()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-commonFileType-base" }, { - "id": "runtime:domain-string-hexadecimal-pair-casing-length", + "id": "runtime:domain-system-commonFileType-example-1", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal pair casing/length", + "command": "system.commonFileType", + "label": "system.commonFileType example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(casing=\"upper\", length=4)", + "command": "system.commonFileType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", - "expectedUiSchemaText": "Value\nstring.hexadecimal(casing=\"upper\", length=4)", + "expectedSchemaText": "Value\nsystem.commonFileType()", + "expectedUiSchemaText": "Value\nsystem.commonFileType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["casing", "length"], - "origins": ["pair"], - "scenarioId": "domain-string-hexadecimal-pair-casing-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-commonFileType-example-1" }, { - "id": "runtime:domain-string-hexadecimal-pair-length-prefix", + "id": "runtime:domain-system-cron-base", "sourceType": "domain", - "command": "string.hexadecimal", - "label": "string.hexadecimal pair length/prefix", + "command": "system.cron", + "label": "system.cron", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.hexadecimal", - "params": "(length=4, prefix=\"#\")", + "command": "system.cron", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.hexadecimal(length=4, prefix=\"#\")", + "expectedSchemaText": "Value\nsystem.cron()", + "expectedUiSchemaText": "Value\nsystem.cron()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-string-hexadecimal-pair-length-prefix" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-cron-base" }, { - "id": "runtime:domain-string-nanoid-base", + "id": "runtime:domain-system-cron-example-1", "sourceType": "domain", - "command": "string.nanoid", - "label": "string.nanoid", + "command": "system.cron", + "label": "system.cron example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.nanoid", + "command": "system.cron", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.nanoid()", - "expectedUiSchemaText": "Value\nstring.nanoid()", + "expectedSchemaText": "Value\nsystem.cron()", + "expectedUiSchemaText": "Value\nsystem.cron()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-nanoid-base" + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["example"], + "scenarioId": "domain-system-cron-example-1" }, { - "id": "runtime:domain-string-nanoid-arg-length", + "id": "runtime:domain-system-cron-example-2", "sourceType": "domain", - "command": "string.nanoid", - "label": "string.nanoid arg length", + "command": "system.cron", + "label": "system.cron example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.nanoid", - "params": "(length=4)", + "command": "system.cron", + "params": "(includeNonStandard=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.nanoid(length=4)", - "expectedUiSchemaText": "Value\nstring.nanoid(length=4)", + "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-nanoid-arg-length" + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["example"], + "scenarioId": "domain-system-cron-example-2" }, { - "id": "runtime:domain-string-numeric-base", + "id": "runtime:domain-system-cron-example-3", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric", + "command": "system.cron", + "label": "system.cron example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "()", + "command": "system.cron", + "params": "(includeYear=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric()", - "expectedUiSchemaText": "Value\nstring.numeric()", + "expectedSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeYear=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-string-numeric-base" + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["example"], + "scenarioId": "domain-system-cron-example-3" }, { - "id": "runtime:domain-string-numeric-arg-length", + "id": "runtime:domain-system-cron-arg-includeNonStandard", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric arg length", + "command": "system.cron", + "label": "system.cron arg includeNonStandard", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(length=4)", + "command": "system.cron", + "params": "(includeNonStandard=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(length=4)", - "expectedUiSchemaText": "Value\nstring.numeric(length=4)", + "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], + "coveredArgs": ["includeNonStandard"], "origins": ["arg"], - "scenarioId": "domain-string-numeric-arg-length" + "scenarioId": "domain-system-cron-arg-includeNonStandard" }, { - "id": "runtime:domain-string-numeric-arg-allowLeadingZeros", + "id": "runtime:domain-system-cron-arg-includeYear", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric arg allowLeadingZeros", + "command": "system.cron", + "label": "system.cron arg includeYear", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(allowLeadingZeros=true)", + "command": "system.cron", + "params": "(includeYear=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", - "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true)", + "expectedSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeYear=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowLeadingZeros"], + "coveredArgs": ["includeYear"], "origins": ["arg"], - "scenarioId": "domain-string-numeric-arg-allowLeadingZeros" + "scenarioId": "domain-system-cron-arg-includeYear" }, { - "id": "runtime:domain-string-numeric-arg-exclude", + "id": "runtime:domain-system-cron-pair-includeNonStandard-includeYear", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric arg exclude", + "command": "system.cron", + "label": "system.cron pair includeNonStandard/includeYear", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(exclude=[\"A\", \"B\"])", + "command": "system.cron", + "params": "(includeNonStandard=true, includeYear=true)", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.numeric(exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", + "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["exclude"], - "origins": ["arg"], - "scenarioId": "domain-string-numeric-arg-exclude" + "coveredArgs": ["includeNonStandard", "includeYear"], + "origins": ["pair"], + "scenarioId": "domain-system-cron-pair-includeNonStandard-includeYear" }, { - "id": "runtime:domain-string-numeric-pair-length-allowLeadingZeros", + "id": "runtime:domain-system-directoryPath-base", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric pair length/allowLeadingZeros", + "command": "system.directoryPath", + "label": "system.directoryPath", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(length=4, allowLeadingZeros=true)", + "command": "system.directoryPath", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", - "expectedUiSchemaText": "Value\nstring.numeric(length=4, allowLeadingZeros=true)", + "expectedSchemaText": "Value\nsystem.directoryPath()", + "expectedUiSchemaText": "Value\nsystem.directoryPath()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "allowLeadingZeros"], - "origins": ["pair"], - "scenarioId": "domain-string-numeric-pair-length-allowLeadingZeros" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-system-directoryPath-base" }, { - "id": "runtime:domain-string-numeric-pair-allowLeadingZeros-exclude", + "id": "runtime:domain-system-directoryPath-example-1", "sourceType": "domain", - "command": "string.numeric", - "label": "string.numeric pair allowLeadingZeros/exclude", + "command": "system.directoryPath", + "label": "system.directoryPath example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.numeric", - "params": "(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "command": "system.directoryPath", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", - "expectedUiSchemaText": "Value\nstring.numeric(allowLeadingZeros=true, exclude=[\"A\", \"B\"])", + "expectedSchemaText": "Value\nsystem.directoryPath()", + "expectedUiSchemaText": "Value\nsystem.directoryPath()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["allowLeadingZeros", "exclude"], - "origins": ["pair"], - "scenarioId": "domain-string-numeric-pair-allowLeadingZeros-exclude" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-directoryPath-example-1" }, { - "id": "runtime:domain-string-octal-base", + "id": "runtime:domain-system-fileExt-base", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal", + "command": "system.fileExt", + "label": "system.fileExt", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", + "command": "system.fileExt", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal()", - "expectedUiSchemaText": "Value\nstring.octal()", + "expectedSchemaText": "Value\nsystem.fileExt()", + "expectedUiSchemaText": "Value\nsystem.fileExt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-octal-base" + "scenarioId": "domain-system-fileExt-base" }, { - "id": "runtime:domain-string-octal-arg-length", + "id": "runtime:domain-system-fileExt-example-1", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal arg length", + "command": "system.fileExt", + "label": "system.fileExt example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", - "params": "(length=4)", + "command": "system.fileExt", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal(length=4)", - "expectedUiSchemaText": "Value\nstring.octal(length=4)", + "expectedSchemaText": "Value\nsystem.fileExt()", + "expectedUiSchemaText": "Value\nsystem.fileExt()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-octal-arg-length" + "coveredArgs": ["mimeType"], + "origins": ["example"], + "scenarioId": "domain-system-fileExt-example-1" }, { - "id": "runtime:domain-string-octal-arg-prefix", + "id": "runtime:domain-system-fileExt-example-2", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal arg prefix", + "command": "system.fileExt", + "label": "system.fileExt example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", - "params": "(prefix=\"#\")", + "command": "system.fileExt", + "params": "(mimeType=\"image/png\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal(prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.octal(prefix=\"#\")", + "expectedSchemaText": "Value\nsystem.fileExt(mimeType=\"image/png\")", + "expectedUiSchemaText": "Value\nsystem.fileExt(mimeType=\"image/png\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["prefix"], - "origins": ["arg"], - "scenarioId": "domain-string-octal-arg-prefix" + "coveredArgs": ["mimeType"], + "origins": ["example"], + "scenarioId": "domain-system-fileExt-example-2" }, { - "id": "runtime:domain-string-octal-pair-length-prefix", + "id": "runtime:domain-system-fileExt-arg-mimeType", "sourceType": "domain", - "command": "string.octal", - "label": "string.octal pair length/prefix", + "command": "system.fileExt", + "label": "system.fileExt arg mimeType", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.octal", - "params": "(length=4, prefix=\"#\")", + "command": "system.fileExt", + "params": "(mimeType=\"system-fileExt-mimeType\")", "value": "" } ], - "expectedSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", - "expectedUiSchemaText": "Value\nstring.octal(length=4, prefix=\"#\")", + "expectedSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", + "expectedUiSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length", "prefix"], - "origins": ["pair"], - "scenarioId": "domain-string-octal-pair-length-prefix" + "coveredArgs": ["mimeType"], + "origins": ["arg"], + "scenarioId": "domain-system-fileExt-arg-mimeType" }, { - "id": "runtime:domain-string-sample-base", + "id": "runtime:domain-system-fileName-base", "sourceType": "domain", - "command": "string.sample", - "label": "string.sample", + "command": "system.fileName", + "label": "system.fileName", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.sample", + "command": "system.fileName", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.sample()", - "expectedUiSchemaText": "Value\nstring.sample()", + "expectedSchemaText": "Value\nsystem.fileName()", + "expectedUiSchemaText": "Value\nsystem.fileName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-sample-base" + "scenarioId": "domain-system-fileName-base" }, { - "id": "runtime:domain-string-sample-arg-length", + "id": "runtime:domain-system-fileName-example-1", "sourceType": "domain", - "command": "string.sample", - "label": "string.sample arg length", + "command": "system.fileName", + "label": "system.fileName example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.sample", - "params": "(length=4)", + "command": "system.fileName", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.sample(length=4)", - "expectedUiSchemaText": "Value\nstring.sample(length=4)", + "expectedSchemaText": "Value\nsystem.fileName()", + "expectedUiSchemaText": "Value\nsystem.fileName()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-sample-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-fileName-example-1" }, { - "id": "runtime:domain-string-symbol-base", + "id": "runtime:domain-system-filePath-base", "sourceType": "domain", - "command": "string.symbol", - "label": "string.symbol", + "command": "system.filePath", + "label": "system.filePath", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.symbol", + "command": "system.filePath", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.symbol()", - "expectedUiSchemaText": "Value\nstring.symbol()", + "expectedSchemaText": "Value\nsystem.filePath()", + "expectedUiSchemaText": "Value\nsystem.filePath()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-symbol-base" + "scenarioId": "domain-system-filePath-base" }, { - "id": "runtime:domain-string-symbol-arg-length", + "id": "runtime:domain-system-filePath-example-1", "sourceType": "domain", - "command": "string.symbol", - "label": "string.symbol arg length", + "command": "system.filePath", + "label": "system.filePath example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.symbol", - "params": "(length=4)", + "command": "system.filePath", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.symbol(length=4)", - "expectedUiSchemaText": "Value\nstring.symbol(length=4)", + "expectedSchemaText": "Value\nsystem.filePath()", + "expectedUiSchemaText": "Value\nsystem.filePath()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["length"], - "origins": ["arg"], - "scenarioId": "domain-string-symbol-arg-length" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-filePath-example-1" }, { - "id": "runtime:domain-string-ulid-base", + "id": "runtime:domain-system-fileType-base", "sourceType": "domain", - "command": "string.ulid", - "label": "string.ulid", + "command": "system.fileType", + "label": "system.fileType", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.ulid", + "command": "system.fileType", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.ulid()", - "expectedUiSchemaText": "Value\nstring.ulid()", + "expectedSchemaText": "Value\nsystem.fileType()", + "expectedUiSchemaText": "Value\nsystem.fileType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-ulid-base" + "scenarioId": "domain-system-fileType-base" }, { - "id": "runtime:domain-string-ulid-arg-refDate", + "id": "runtime:domain-system-fileType-example-1", "sourceType": "domain", - "command": "string.ulid", - "label": "string.ulid arg refDate", + "command": "system.fileType", + "label": "system.fileType example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.ulid", - "params": "(refDate=2)", + "command": "system.fileType", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.ulid(refDate=2)", - "expectedUiSchemaText": "Value\nstring.ulid(refDate=2)", + "expectedSchemaText": "Value\nsystem.fileType()", + "expectedUiSchemaText": "Value\nsystem.fileType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["refDate"], - "origins": ["arg"], - "scenarioId": "domain-string-ulid-arg-refDate" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-fileType-example-1" }, { - "id": "runtime:domain-string-uuid-base", + "id": "runtime:domain-system-mimeType-base", "sourceType": "domain", - "command": "string.uuid", - "label": "string.uuid", + "command": "system.mimeType", + "label": "system.mimeType", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "string.uuid", + "command": "system.mimeType", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nstring.uuid()", - "expectedUiSchemaText": "Value\nstring.uuid()", + "expectedSchemaText": "Value\nsystem.mimeType()", + "expectedUiSchemaText": "Value\nsystem.mimeType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-string-uuid-base" + "scenarioId": "domain-system-mimeType-base" }, { - "id": "runtime:domain-system-commonFileExt-base", + "id": "runtime:domain-system-mimeType-example-1", "sourceType": "domain", - "command": "system.commonFileExt", - "label": "system.commonFileExt", + "command": "system.mimeType", + "label": "system.mimeType example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileExt", + "command": "system.mimeType", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileExt()", - "expectedUiSchemaText": "Value\nsystem.commonFileExt()", + "expectedSchemaText": "Value\nsystem.mimeType()", + "expectedUiSchemaText": "Value\nsystem.mimeType()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-commonFileExt-base" + "origins": ["example"], + "scenarioId": "domain-system-mimeType-example-1" }, { - "id": "runtime:domain-system-commonFileName-base", + "id": "runtime:domain-system-networkInterface-base", "sourceType": "domain", - "command": "system.commonFileName", - "label": "system.commonFileName", + "command": "system.networkInterface", + "label": "system.networkInterface", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileName", + "command": "system.networkInterface", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileName()", - "expectedUiSchemaText": "Value\nsystem.commonFileName()", + "expectedSchemaText": "Value\nsystem.networkInterface()", + "expectedUiSchemaText": "Value\nsystem.networkInterface()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-commonFileName-base" + "scenarioId": "domain-system-networkInterface-base" }, { - "id": "runtime:domain-system-commonFileName-arg-extension", + "id": "runtime:domain-system-networkInterface-example-1", "sourceType": "domain", - "command": "system.commonFileName", - "label": "system.commonFileName arg extension", + "command": "system.networkInterface", + "label": "system.networkInterface example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileName", - "params": "(extension=\"system-commonFileName-extension\")", + "command": "system.networkInterface", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", - "expectedUiSchemaText": "Value\nsystem.commonFileName(extension=\"system-commonFileName-extension\")", + "expectedSchemaText": "Value\nsystem.networkInterface()", + "expectedUiSchemaText": "Value\nsystem.networkInterface()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["extension"], - "origins": ["arg"], - "scenarioId": "domain-system-commonFileName-arg-extension" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-networkInterface-example-1" }, { - "id": "runtime:domain-system-commonFileType-base", + "id": "runtime:domain-system-semver-base", "sourceType": "domain", - "command": "system.commonFileType", - "label": "system.commonFileType", + "command": "system.semver", + "label": "system.semver", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.commonFileType", + "command": "system.semver", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.commonFileType()", - "expectedUiSchemaText": "Value\nsystem.commonFileType()", + "expectedSchemaText": "Value\nsystem.semver()", + "expectedUiSchemaText": "Value\nsystem.semver()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-commonFileType-base" + "scenarioId": "domain-system-semver-base" }, { - "id": "runtime:domain-system-cron-base", + "id": "runtime:domain-system-semver-example-1", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron", + "command": "system.semver", + "label": "system.semver example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", + "command": "system.semver", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron()", - "expectedUiSchemaText": "Value\nsystem.cron()", + "expectedSchemaText": "Value\nsystem.semver()", + "expectedUiSchemaText": "Value\nsystem.semver()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-system-semver-example-1" + }, + { + "id": "runtime:domain-vehicle-bicycle-base", + "sourceType": "domain", + "command": "vehicle.bicycle", + "label": "vehicle.bicycle", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "vehicle.bicycle", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nvehicle.bicycle()", + "expectedUiSchemaText": "Value\nvehicle.bicycle()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-cron-base" + "scenarioId": "domain-vehicle-bicycle-base" }, { - "id": "runtime:domain-system-cron-arg-includeNonStandard", + "id": "runtime:domain-vehicle-bicycle-example-1", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron arg includeNonStandard", + "command": "vehicle.bicycle", + "label": "vehicle.bicycle example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "(includeNonStandard=true)", + "command": "vehicle.bicycle", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true)", - "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true)", + "expectedSchemaText": "Value\nvehicle.bicycle()", + "expectedUiSchemaText": "Value\nvehicle.bicycle()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeNonStandard"], - "origins": ["arg"], - "scenarioId": "domain-system-cron-arg-includeNonStandard" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-bicycle-example-1" }, { - "id": "runtime:domain-system-cron-arg-includeYear", + "id": "runtime:domain-vehicle-color-base", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron arg includeYear", + "command": "vehicle.color", + "label": "vehicle.color", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "(includeYear=true)", + "command": "vehicle.color", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron(includeYear=true)", - "expectedUiSchemaText": "Value\nsystem.cron(includeYear=true)", + "expectedSchemaText": "Value\nvehicle.color()", + "expectedUiSchemaText": "Value\nvehicle.color()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeYear"], - "origins": ["arg"], - "scenarioId": "domain-system-cron-arg-includeYear" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-color-base" }, { - "id": "runtime:domain-system-cron-pair-includeNonStandard-includeYear", + "id": "runtime:domain-vehicle-color-example-1", "sourceType": "domain", - "command": "system.cron", - "label": "system.cron pair includeNonStandard/includeYear", + "command": "vehicle.color", + "label": "vehicle.color example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.cron", - "params": "(includeNonStandard=true, includeYear=true)", + "command": "vehicle.color", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", - "expectedUiSchemaText": "Value\nsystem.cron(includeNonStandard=true, includeYear=true)", + "expectedSchemaText": "Value\nvehicle.color()", + "expectedUiSchemaText": "Value\nvehicle.color()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["includeNonStandard", "includeYear"], - "origins": ["pair"], - "scenarioId": "domain-system-cron-pair-includeNonStandard-includeYear" + "coveredArgs": [], + "origins": ["example"], + "scenarioId": "domain-vehicle-color-example-1" }, { - "id": "runtime:domain-system-directoryPath-base", + "id": "runtime:domain-vehicle-fuel-base", "sourceType": "domain", - "command": "system.directoryPath", - "label": "system.directoryPath", + "command": "vehicle.fuel", + "label": "vehicle.fuel", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.directoryPath", + "command": "vehicle.fuel", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.directoryPath()", - "expectedUiSchemaText": "Value\nsystem.directoryPath()", + "expectedSchemaText": "Value\nvehicle.fuel()", + "expectedUiSchemaText": "Value\nvehicle.fuel()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-directoryPath-base" + "scenarioId": "domain-vehicle-fuel-base" }, { - "id": "runtime:domain-system-fileExt-base", + "id": "runtime:domain-vehicle-fuel-example-1", "sourceType": "domain", - "command": "system.fileExt", - "label": "system.fileExt", + "command": "vehicle.fuel", + "label": "vehicle.fuel example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileExt", + "command": "vehicle.fuel", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileExt()", - "expectedUiSchemaText": "Value\nsystem.fileExt()", + "expectedSchemaText": "Value\nvehicle.fuel()", + "expectedUiSchemaText": "Value\nvehicle.fuel()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-fileExt-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-fuel-example-1" }, { - "id": "runtime:domain-system-fileExt-arg-mimeType", + "id": "runtime:domain-vehicle-manufacturer-base", "sourceType": "domain", - "command": "system.fileExt", - "label": "system.fileExt arg mimeType", + "command": "vehicle.manufacturer", + "label": "vehicle.manufacturer", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileExt", - "params": "(mimeType=\"system-fileExt-mimeType\")", + "command": "vehicle.manufacturer", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", - "expectedUiSchemaText": "Value\nsystem.fileExt(mimeType=\"system-fileExt-mimeType\")", + "expectedSchemaText": "Value\nvehicle.manufacturer()", + "expectedUiSchemaText": "Value\nvehicle.manufacturer()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": ["mimeType"], - "origins": ["arg"], - "scenarioId": "domain-system-fileExt-arg-mimeType" + "coveredArgs": [], + "origins": ["base"], + "scenarioId": "domain-vehicle-manufacturer-base" }, { - "id": "runtime:domain-system-fileName-base", + "id": "runtime:domain-vehicle-manufacturer-example-1", "sourceType": "domain", - "command": "system.fileName", - "label": "system.fileName", + "command": "vehicle.manufacturer", + "label": "vehicle.manufacturer example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileName", + "command": "vehicle.manufacturer", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileName()", - "expectedUiSchemaText": "Value\nsystem.fileName()", + "expectedSchemaText": "Value\nvehicle.manufacturer()", + "expectedUiSchemaText": "Value\nvehicle.manufacturer()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-fileName-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-manufacturer-example-1" }, { - "id": "runtime:domain-system-filePath-base", + "id": "runtime:domain-vehicle-model-base", "sourceType": "domain", - "command": "system.filePath", - "label": "system.filePath", + "command": "vehicle.model", + "label": "vehicle.model", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.filePath", + "command": "vehicle.model", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.filePath()", - "expectedUiSchemaText": "Value\nsystem.filePath()", + "expectedSchemaText": "Value\nvehicle.model()", + "expectedUiSchemaText": "Value\nvehicle.model()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-filePath-base" + "scenarioId": "domain-vehicle-model-base" }, { - "id": "runtime:domain-system-fileType-base", + "id": "runtime:domain-vehicle-model-example-1", "sourceType": "domain", - "command": "system.fileType", - "label": "system.fileType", + "command": "vehicle.model", + "label": "vehicle.model example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.fileType", + "command": "vehicle.model", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.fileType()", - "expectedUiSchemaText": "Value\nsystem.fileType()", + "expectedSchemaText": "Value\nvehicle.model()", + "expectedUiSchemaText": "Value\nvehicle.model()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-fileType-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-model-example-1" }, { - "id": "runtime:domain-system-mimeType-base", + "id": "runtime:domain-vehicle-type-base", "sourceType": "domain", - "command": "system.mimeType", - "label": "system.mimeType", + "command": "vehicle.type", + "label": "vehicle.type", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.mimeType", + "command": "vehicle.type", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.mimeType()", - "expectedUiSchemaText": "Value\nsystem.mimeType()", + "expectedSchemaText": "Value\nvehicle.type()", + "expectedUiSchemaText": "Value\nvehicle.type()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-mimeType-base" + "scenarioId": "domain-vehicle-type-base" }, { - "id": "runtime:domain-system-networkInterface-base", + "id": "runtime:domain-vehicle-type-example-1", "sourceType": "domain", - "command": "system.networkInterface", - "label": "system.networkInterface", + "command": "vehicle.type", + "label": "vehicle.type example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.networkInterface", + "command": "vehicle.type", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.networkInterface()", - "expectedUiSchemaText": "Value\nsystem.networkInterface()", + "expectedSchemaText": "Value\nvehicle.type()", + "expectedUiSchemaText": "Value\nvehicle.type()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-system-networkInterface-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-type-example-1" }, { - "id": "runtime:domain-system-semver-base", + "id": "runtime:domain-vehicle-vehicle-base", "sourceType": "domain", - "command": "system.semver", - "label": "system.semver", + "command": "vehicle.vehicle", + "label": "vehicle.vehicle", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "system.semver", + "command": "vehicle.vehicle", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nsystem.semver()", - "expectedUiSchemaText": "Value\nsystem.semver()", + "expectedSchemaText": "Value\nvehicle.vehicle()", + "expectedUiSchemaText": "Value\nvehicle.vehicle()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-system-semver-base" + "scenarioId": "domain-vehicle-vehicle-base" }, { - "id": "runtime:domain-vehicle-bicycle-base", + "id": "runtime:domain-vehicle-vehicle-example-1", "sourceType": "domain", - "command": "vehicle.bicycle", - "label": "vehicle.bicycle", + "command": "vehicle.vehicle", + "label": "vehicle.vehicle example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.bicycle", + "command": "vehicle.vehicle", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.bicycle()", - "expectedUiSchemaText": "Value\nvehicle.bicycle()", + "expectedSchemaText": "Value\nvehicle.vehicle()", + "expectedUiSchemaText": "Value\nvehicle.vehicle()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-bicycle-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-vehicle-example-1" }, { - "id": "runtime:domain-vehicle-color-base", + "id": "runtime:domain-vehicle-vin-base", "sourceType": "domain", - "command": "vehicle.color", - "label": "vehicle.color", + "command": "vehicle.vin", + "label": "vehicle.vin", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.color", + "command": "vehicle.vin", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.color()", - "expectedUiSchemaText": "Value\nvehicle.color()", + "expectedSchemaText": "Value\nvehicle.vin()", + "expectedUiSchemaText": "Value\nvehicle.vin()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-vehicle-color-base" + "scenarioId": "domain-vehicle-vin-base" }, { - "id": "runtime:domain-vehicle-fuel-base", + "id": "runtime:domain-vehicle-vin-example-1", "sourceType": "domain", - "command": "vehicle.fuel", - "label": "vehicle.fuel", + "command": "vehicle.vin", + "label": "vehicle.vin example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.fuel", + "command": "vehicle.vin", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.fuel()", - "expectedUiSchemaText": "Value\nvehicle.fuel()", + "expectedSchemaText": "Value\nvehicle.vin()", + "expectedUiSchemaText": "Value\nvehicle.vin()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-fuel-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-vin-example-1" }, { - "id": "runtime:domain-vehicle-manufacturer-base", + "id": "runtime:domain-vehicle-vrm-base", "sourceType": "domain", - "command": "vehicle.manufacturer", - "label": "vehicle.manufacturer", + "command": "vehicle.vrm", + "label": "vehicle.vrm", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.manufacturer", + "command": "vehicle.vrm", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.manufacturer()", - "expectedUiSchemaText": "Value\nvehicle.manufacturer()", + "expectedSchemaText": "Value\nvehicle.vrm()", + "expectedUiSchemaText": "Value\nvehicle.vrm()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-vehicle-manufacturer-base" + "scenarioId": "domain-vehicle-vrm-base" }, { - "id": "runtime:domain-vehicle-model-base", + "id": "runtime:domain-vehicle-vrm-example-1", "sourceType": "domain", - "command": "vehicle.model", - "label": "vehicle.model", + "command": "vehicle.vrm", + "label": "vehicle.vrm example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.model", + "command": "vehicle.vrm", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.model()", - "expectedUiSchemaText": "Value\nvehicle.model()", + "expectedSchemaText": "Value\nvehicle.vrm()", + "expectedUiSchemaText": "Value\nvehicle.vrm()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-model-base" + "origins": ["example"], + "scenarioId": "domain-vehicle-vrm-example-1" }, { - "id": "runtime:domain-vehicle-type-base", + "id": "runtime:domain-word-adjective-base", "sourceType": "domain", - "command": "vehicle.type", - "label": "vehicle.type", + "command": "word.adjective", + "label": "word.adjective", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.type", + "command": "word.adjective", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.type()", - "expectedUiSchemaText": "Value\nvehicle.type()", + "expectedSchemaText": "Value\nword.adjective()", + "expectedUiSchemaText": "Value\nword.adjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "scenarioId": "domain-vehicle-type-base" + "scenarioId": "domain-word-adjective-base" }, { - "id": "runtime:domain-vehicle-vehicle-base", + "id": "runtime:domain-word-adjective-example-1", "sourceType": "domain", - "command": "vehicle.vehicle", - "label": "vehicle.vehicle", + "command": "word.adjective", + "label": "word.adjective example 1", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.vehicle", + "command": "word.adjective", "params": "()", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.vehicle()", - "expectedUiSchemaText": "Value\nvehicle.vehicle()", + "expectedSchemaText": "Value\nword.adjective()", + "expectedUiSchemaText": "Value\nword.adjective()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-vehicle-base" + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-1" }, { - "id": "runtime:domain-vehicle-vin-base", + "id": "runtime:domain-word-adjective-example-2", "sourceType": "domain", - "command": "vehicle.vin", - "label": "vehicle.vin", + "command": "word.adjective", + "label": "word.adjective example 2", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.vin", - "params": "()", + "command": "word.adjective", + "params": "(length=5)", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.vin()", - "expectedUiSchemaText": "Value\nvehicle.vin()", + "expectedSchemaText": "Value\nword.adjective(length=5)", + "expectedUiSchemaText": "Value\nword.adjective(length=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-vin-base" + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-2" }, { - "id": "runtime:domain-vehicle-vrm-base", + "id": "runtime:domain-word-adjective-example-3", "sourceType": "domain", - "command": "vehicle.vrm", - "label": "vehicle.vrm", + "command": "word.adjective", + "label": "word.adjective example 3", "rows": [ { "name": "Value", "sourceType": "domain", - "command": "vehicle.vrm", - "params": "()", + "command": "word.adjective", + "params": "(max=5)", "value": "" } ], - "expectedSchemaText": "Value\nvehicle.vrm()", - "expectedUiSchemaText": "Value\nvehicle.vrm()", + "expectedSchemaText": "Value\nword.adjective(max=5)", + "expectedUiSchemaText": "Value\nword.adjective(max=5)", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-vehicle-vrm-base" + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-3" }, { - "id": "runtime:domain-word-adjective-base", + "id": "runtime:domain-word-adjective-example-4", "sourceType": "domain", "command": "word.adjective", - "label": "word.adjective", + "label": "word.adjective example 4", "rows": [ { "name": "Value", "sourceType": "domain", "command": "word.adjective", - "params": "()", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective()", - "expectedUiSchemaText": "Value\nword.adjective()", + "expectedSchemaText": "Value\nword.adjective(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adjective(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, - "coveredArgs": [], - "origins": ["base"], - "scenarioId": "domain-word-adjective-base" + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adjective-example-4" }, { "id": "runtime:domain-word-adjective-arg-length", @@ -28179,12 +49983,12 @@ "name": "Value", "sourceType": "domain", "command": "word.adjective", - "params": "(strategy=\"word-adjective-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(strategy=\"word-adjective-strategy\")", - "expectedUiSchemaText": "Value\nword.adjective(strategy=\"word-adjective-strategy\")", + "expectedSchemaText": "Value\nword.adjective(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adjective(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28225,12 +50029,12 @@ "name": "Value", "sourceType": "domain", "command": "word.adjective", - "params": "(max=3, strategy=\"word-adjective-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.adjective(max=3, strategy=\"word-adjective-strategy\")", - "expectedUiSchemaText": "Value\nword.adjective(max=3, strategy=\"word-adjective-strategy\")", + "expectedSchemaText": "Value\nword.adjective(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adjective(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28261,6 +50065,98 @@ "origins": ["base"], "scenarioId": "domain-word-adverb-base" }, + { + "id": "runtime:domain-word-adverb-example-1", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb()", + "expectedUiSchemaText": "Value\nword.adverb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-1" + }, + { + "id": "runtime:domain-word-adverb-example-2", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(length=5)", + "expectedUiSchemaText": "Value\nword.adverb(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-2" + }, + { + "id": "runtime:domain-word-adverb-example-3", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(max=5)", + "expectedUiSchemaText": "Value\nword.adverb(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-3" + }, + { + "id": "runtime:domain-word-adverb-example-4", + "sourceType": "domain", + "command": "word.adverb", + "label": "word.adverb example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.adverb", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-adverb-example-4" + }, { "id": "runtime:domain-word-adverb-arg-length", "sourceType": "domain", @@ -28317,12 +50213,12 @@ "name": "Value", "sourceType": "domain", "command": "word.adverb", - "params": "(strategy=\"word-adverb-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(strategy=\"word-adverb-strategy\")", - "expectedUiSchemaText": "Value\nword.adverb(strategy=\"word-adverb-strategy\")", + "expectedSchemaText": "Value\nword.adverb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adverb(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28363,12 +50259,12 @@ "name": "Value", "sourceType": "domain", "command": "word.adverb", - "params": "(max=3, strategy=\"word-adverb-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.adverb(max=3, strategy=\"word-adverb-strategy\")", - "expectedUiSchemaText": "Value\nword.adverb(max=3, strategy=\"word-adverb-strategy\")", + "expectedSchemaText": "Value\nword.adverb(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.adverb(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28399,6 +50295,98 @@ "origins": ["base"], "scenarioId": "domain-word-conjunction-base" }, + { + "id": "runtime:domain-word-conjunction-example-1", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction()", + "expectedUiSchemaText": "Value\nword.conjunction()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-1" + }, + { + "id": "runtime:domain-word-conjunction-example-2", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(length=5)", + "expectedUiSchemaText": "Value\nword.conjunction(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-2" + }, + { + "id": "runtime:domain-word-conjunction-example-3", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(max=5)", + "expectedUiSchemaText": "Value\nword.conjunction(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-3" + }, + { + "id": "runtime:domain-word-conjunction-example-4", + "sourceType": "domain", + "command": "word.conjunction", + "label": "word.conjunction example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.conjunction", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-conjunction-example-4" + }, { "id": "runtime:domain-word-conjunction-arg-length", "sourceType": "domain", @@ -28455,12 +50443,12 @@ "name": "Value", "sourceType": "domain", "command": "word.conjunction", - "params": "(strategy=\"word-conjunction-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(strategy=\"word-conjunction-strategy\")", - "expectedUiSchemaText": "Value\nword.conjunction(strategy=\"word-conjunction-strategy\")", + "expectedSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.conjunction(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28501,12 +50489,12 @@ "name": "Value", "sourceType": "domain", "command": "word.conjunction", - "params": "(max=3, strategy=\"word-conjunction-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.conjunction(max=3, strategy=\"word-conjunction-strategy\")", - "expectedUiSchemaText": "Value\nword.conjunction(max=3, strategy=\"word-conjunction-strategy\")", + "expectedSchemaText": "Value\nword.conjunction(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.conjunction(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28537,6 +50525,98 @@ "origins": ["base"], "scenarioId": "domain-word-interjection-base" }, + { + "id": "runtime:domain-word-interjection-example-1", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection()", + "expectedUiSchemaText": "Value\nword.interjection()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-1" + }, + { + "id": "runtime:domain-word-interjection-example-2", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(length=5)", + "expectedUiSchemaText": "Value\nword.interjection(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-2" + }, + { + "id": "runtime:domain-word-interjection-example-3", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(max=5)", + "expectedUiSchemaText": "Value\nword.interjection(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-3" + }, + { + "id": "runtime:domain-word-interjection-example-4", + "sourceType": "domain", + "command": "word.interjection", + "label": "word.interjection example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.interjection", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-interjection-example-4" + }, { "id": "runtime:domain-word-interjection-arg-length", "sourceType": "domain", @@ -28593,12 +50673,12 @@ "name": "Value", "sourceType": "domain", "command": "word.interjection", - "params": "(strategy=\"word-interjection-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(strategy=\"word-interjection-strategy\")", - "expectedUiSchemaText": "Value\nword.interjection(strategy=\"word-interjection-strategy\")", + "expectedSchemaText": "Value\nword.interjection(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.interjection(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28639,12 +50719,12 @@ "name": "Value", "sourceType": "domain", "command": "word.interjection", - "params": "(max=3, strategy=\"word-interjection-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.interjection(max=3, strategy=\"word-interjection-strategy\")", - "expectedUiSchemaText": "Value\nword.interjection(max=3, strategy=\"word-interjection-strategy\")", + "expectedSchemaText": "Value\nword.interjection(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.interjection(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28675,6 +50755,98 @@ "origins": ["base"], "scenarioId": "domain-word-noun-base" }, + { + "id": "runtime:domain-word-noun-example-1", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun()", + "expectedUiSchemaText": "Value\nword.noun()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-1" + }, + { + "id": "runtime:domain-word-noun-example-2", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(length=5)", + "expectedUiSchemaText": "Value\nword.noun(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-2" + }, + { + "id": "runtime:domain-word-noun-example-3", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(max=5)", + "expectedUiSchemaText": "Value\nword.noun(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-3" + }, + { + "id": "runtime:domain-word-noun-example-4", + "sourceType": "domain", + "command": "word.noun", + "label": "word.noun example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.noun", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-noun-example-4" + }, { "id": "runtime:domain-word-noun-arg-length", "sourceType": "domain", @@ -28731,12 +50903,12 @@ "name": "Value", "sourceType": "domain", "command": "word.noun", - "params": "(strategy=\"word-noun-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(strategy=\"word-noun-strategy\")", - "expectedUiSchemaText": "Value\nword.noun(strategy=\"word-noun-strategy\")", + "expectedSchemaText": "Value\nword.noun(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.noun(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28777,12 +50949,12 @@ "name": "Value", "sourceType": "domain", "command": "word.noun", - "params": "(max=3, strategy=\"word-noun-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.noun(max=3, strategy=\"word-noun-strategy\")", - "expectedUiSchemaText": "Value\nword.noun(max=3, strategy=\"word-noun-strategy\")", + "expectedSchemaText": "Value\nword.noun(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.noun(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28813,6 +50985,98 @@ "origins": ["base"], "scenarioId": "domain-word-preposition-base" }, + { + "id": "runtime:domain-word-preposition-example-1", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition()", + "expectedUiSchemaText": "Value\nword.preposition()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-1" + }, + { + "id": "runtime:domain-word-preposition-example-2", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(length=5)", + "expectedUiSchemaText": "Value\nword.preposition(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-2" + }, + { + "id": "runtime:domain-word-preposition-example-3", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(max=5)", + "expectedUiSchemaText": "Value\nword.preposition(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-3" + }, + { + "id": "runtime:domain-word-preposition-example-4", + "sourceType": "domain", + "command": "word.preposition", + "label": "word.preposition example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.preposition", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-preposition-example-4" + }, { "id": "runtime:domain-word-preposition-arg-length", "sourceType": "domain", @@ -28869,12 +51133,12 @@ "name": "Value", "sourceType": "domain", "command": "word.preposition", - "params": "(strategy=\"word-preposition-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(strategy=\"word-preposition-strategy\")", - "expectedUiSchemaText": "Value\nword.preposition(strategy=\"word-preposition-strategy\")", + "expectedSchemaText": "Value\nword.preposition(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.preposition(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28915,12 +51179,12 @@ "name": "Value", "sourceType": "domain", "command": "word.preposition", - "params": "(max=3, strategy=\"word-preposition-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.preposition(max=3, strategy=\"word-preposition-strategy\")", - "expectedUiSchemaText": "Value\nword.preposition(max=3, strategy=\"word-preposition-strategy\")", + "expectedSchemaText": "Value\nword.preposition(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.preposition(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -28951,6 +51215,98 @@ "origins": ["base"], "scenarioId": "domain-word-sample-base" }, + { + "id": "runtime:domain-word-sample-example-1", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample()", + "expectedUiSchemaText": "Value\nword.sample()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-1" + }, + { + "id": "runtime:domain-word-sample-example-2", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(length=5)", + "expectedUiSchemaText": "Value\nword.sample(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-2" + }, + { + "id": "runtime:domain-word-sample-example-3", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(max=5)", + "expectedUiSchemaText": "Value\nword.sample(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-3" + }, + { + "id": "runtime:domain-word-sample-example-4", + "sourceType": "domain", + "command": "word.sample", + "label": "word.sample example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.sample", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-sample-example-4" + }, { "id": "runtime:domain-word-sample-arg-length", "sourceType": "domain", @@ -29007,12 +51363,12 @@ "name": "Value", "sourceType": "domain", "command": "word.sample", - "params": "(strategy=\"word-sample-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(strategy=\"word-sample-strategy\")", - "expectedUiSchemaText": "Value\nword.sample(strategy=\"word-sample-strategy\")", + "expectedSchemaText": "Value\nword.sample(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.sample(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -29053,12 +51409,12 @@ "name": "Value", "sourceType": "domain", "command": "word.sample", - "params": "(max=3, strategy=\"word-sample-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.sample(max=3, strategy=\"word-sample-strategy\")", - "expectedUiSchemaText": "Value\nword.sample(max=3, strategy=\"word-sample-strategy\")", + "expectedSchemaText": "Value\nword.sample(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.sample(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -29089,6 +51445,98 @@ "origins": ["base"], "scenarioId": "domain-word-verb-base" }, + { + "id": "runtime:domain-word-verb-example-1", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb()", + "expectedUiSchemaText": "Value\nword.verb()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-1" + }, + { + "id": "runtime:domain-word-verb-example-2", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(length=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(length=5)", + "expectedUiSchemaText": "Value\nword.verb(length=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-2" + }, + { + "id": "runtime:domain-word-verb-example-3", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(max=5)", + "expectedUiSchemaText": "Value\nword.verb(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-3" + }, + { + "id": "runtime:domain-word-verb-example-4", + "sourceType": "domain", + "command": "word.verb", + "label": "word.verb example 4", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.verb", + "params": "(strategy=\"any-length\")", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["length", "max", "strategy"], + "origins": ["example"], + "scenarioId": "domain-word-verb-example-4" + }, { "id": "runtime:domain-word-verb-arg-length", "sourceType": "domain", @@ -29145,12 +51593,12 @@ "name": "Value", "sourceType": "domain", "command": "word.verb", - "params": "(strategy=\"word-verb-strategy\")", + "params": "(strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(strategy=\"word-verb-strategy\")", - "expectedUiSchemaText": "Value\nword.verb(strategy=\"word-verb-strategy\")", + "expectedSchemaText": "Value\nword.verb(strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.verb(strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -29191,12 +51639,12 @@ "name": "Value", "sourceType": "domain", "command": "word.verb", - "params": "(max=3, strategy=\"word-verb-strategy\")", + "params": "(max=3, strategy=\"any-length\")", "value": "" } ], - "expectedSchemaText": "Value\nword.verb(max=3, strategy=\"word-verb-strategy\")", - "expectedUiSchemaText": "Value\nword.verb(max=3, strategy=\"word-verb-strategy\")", + "expectedSchemaText": "Value\nword.verb(max=3, strategy=\"any-length\")", + "expectedUiSchemaText": "Value\nword.verb(max=3, strategy=\"any-length\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, @@ -29227,6 +51675,75 @@ "origins": ["base"], "scenarioId": "domain-word-words-base" }, + { + "id": "runtime:domain-word-words-example-1", + "sourceType": "domain", + "command": "word.words", + "label": "word.words example 1", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "()", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words()", + "expectedUiSchemaText": "Value\nword.words()", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["example"], + "scenarioId": "domain-word-words-example-1" + }, + { + "id": "runtime:domain-word-words-example-2", + "sourceType": "domain", + "command": "word.words", + "label": "word.words example 2", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(count=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(count=5)", + "expectedUiSchemaText": "Value\nword.words(count=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["example"], + "scenarioId": "domain-word-words-example-2" + }, + { + "id": "runtime:domain-word-words-example-3", + "sourceType": "domain", + "command": "word.words", + "label": "word.words example 3", + "rows": [ + { + "name": "Value", + "sourceType": "domain", + "command": "word.words", + "params": "(max=5)", + "value": "" + } + ], + "expectedSchemaText": "Value\nword.words(max=5)", + "expectedUiSchemaText": "Value\nword.words(max=5)", + "expectedFileExtension": ".csv", + "pairwiseEligible": false, + "expectStructuredSerialization": false, + "coveredArgs": ["count", "max"], + "origins": ["example"], + "scenarioId": "domain-word-words-example-3" + }, { "id": "runtime:domain-word-words-arg-count", "sourceType": "domain", @@ -29319,10 +51836,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["custom"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "custom-enum-base" + "scenarioId": "custom-enum-base", + "parityMode": "exact" }, { "id": "ui:custom-enum-pairwise", @@ -29352,10 +51867,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["custom", "pairwise"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "custom-enum-pairwise" + "scenarioId": "custom-enum-pairwise", + "parityMode": "exact" }, { "id": "ui:custom-literal-base", @@ -29378,10 +51891,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["custom"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "custom-literal-base" + "scenarioId": "custom-literal-base", + "parityMode": "exact" }, { "id": "ui:custom-literal-empty", @@ -29404,10 +51915,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["custom", "empty"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "custom-literal-empty" + "scenarioId": "custom-literal-empty", + "parityMode": "exact" }, { "id": "ui:custom-regex-base", @@ -29430,10 +51939,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["custom"], - "parityMode": "structural", - "exactPreviewParity": false, - "structuralParity": true, - "scenarioId": "custom-regex-base" + "scenarioId": "custom-regex-base", + "parityMode": "structural" }, { "id": "ui:custom-regex-empty", @@ -29456,10 +51963,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["custom", "empty"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "custom-regex-empty" + "scenarioId": "custom-regex-empty", + "parityMode": "exact" }, { "id": "ui:faker-helpers-arrayElement-base", @@ -29482,10 +51987,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "faker-helpers-arrayElement-base" + "scenarioId": "faker-helpers-arrayElement-base", + "parityMode": "exact" }, { "id": "ui:faker-helpers-fake-base", @@ -29508,10 +52011,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "parityMode": "structural", - "exactPreviewParity": false, - "structuralParity": true, - "scenarioId": "faker-helpers-fake-base" + "scenarioId": "faker-helpers-fake-base", + "parityMode": "structural" }, { "id": "ui:faker-helpers-fromRegExp-example-1", @@ -29534,10 +52035,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["pattern"], "origins": ["example"], - "parityMode": "structural", - "exactPreviewParity": false, - "structuralParity": true, - "scenarioId": "faker-helpers-fromRegExp-example-1" + "scenarioId": "faker-helpers-fromRegExp-example-1", + "parityMode": "structural" }, { "id": "ui:faker-helpers-mustache-base", @@ -29560,10 +52059,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "faker-helpers-mustache-base" + "scenarioId": "faker-helpers-mustache-base", + "parityMode": "exact" }, { "id": "ui:faker-helpers-uniqueArray-example-1", @@ -29583,13 +52080,11 @@ "expectedUiSchemaText": "Value\nhelpers.uniqueArray([\"red\", \"green\", \"blue\"], 2)", "expectedFileExtension": ".csv", "pairwiseEligible": false, - "expectStructuredSerialization": false, + "expectStructuredSerialization": true, "coveredArgs": ["source", "length"], "origins": ["example"], - "parityMode": "structural", - "exactPreviewParity": false, - "structuralParity": true, - "scenarioId": "faker-helpers-uniqueArray-example-1" + "scenarioId": "faker-helpers-uniqueArray-example-1", + "parityMode": "structural" }, { "id": "ui:faker-helpers-weightedArrayElement-example-1", @@ -29612,10 +52107,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["array"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "faker-helpers-weightedArrayElement-example-1" + "scenarioId": "faker-helpers-weightedArrayElement-example-1", + "parityMode": "exact" }, { "id": "ui:domain-airline-seat-example-1", @@ -29638,10 +52131,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["aircraftType"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-airline-seat-example-1" + "scenarioId": "domain-airline-seat-example-1", + "parityMode": "exact" }, { "id": "ui:domain-autoIncrement-sequence-example-1", @@ -29664,10 +52155,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["start", "step", "prefix", "suffix", "zeropadding"], "origins": ["example"], - "parityMode": "structural", - "exactPreviewParity": false, - "structuralParity": true, - "scenarioId": "domain-autoIncrement-sequence-example-1" + "scenarioId": "domain-autoIncrement-sequence-example-1", + "parityMode": "structural" }, { "id": "ui:domain-commerce-price-example-1", @@ -29690,10 +52179,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["dec", "max", "min", "symbol"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-commerce-price-example-1" + "scenarioId": "domain-commerce-price-example-1", + "parityMode": "exact" }, { "id": "ui:domain-date-birthdate-example-1", @@ -29716,10 +52203,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["refDate", "max", "min", "mode"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-date-birthdate-example-1" + "scenarioId": "domain-date-birthdate-example-1", + "parityMode": "exact" }, { "id": "ui:domain-internet-password-example-1", @@ -29731,21 +52216,19 @@ "name": "Value", "sourceType": "domain", "command": "internet.password", - "params": "(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", + "params": "()", "value": "" } ], - "expectedSchemaText": "Value\ninternet.password(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", - "expectedUiSchemaText": "Value\ninternet.password(length=10, memorable=false, pattern=\"[A-Za-z0-9]\", prefix=\"#\")", + "expectedSchemaText": "Value\ninternet.password()", + "expectedUiSchemaText": "Value\ninternet.password()", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["length", "memorable", "pattern", "prefix"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-internet-password-example-1" + "scenarioId": "domain-internet-password-example-1", + "parityMode": "exact" }, { "id": "ui:domain-literal-value-example-1", @@ -29757,21 +52240,19 @@ "name": "Value", "sourceType": "domain", "command": "literal.value", - "params": "(\"Pending\")", + "params": "(value=\"Pending\")", "value": "" } ], - "expectedSchemaText": "Value\nliteral.value(\"Pending\")", - "expectedUiSchemaText": "Value\nliteral.value(\"Pending\")", + "expectedSchemaText": "Value\nliteral.value(value=\"Pending\")", + "expectedUiSchemaText": "Value\nliteral.value(value=\"Pending\")", "expectedFileExtension": ".csv", "pairwiseEligible": false, "expectStructuredSerialization": false, "coveredArgs": ["value"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-literal-value-example-1" + "scenarioId": "domain-literal-value-example-1", + "parityMode": "exact" }, { "id": "ui:domain-string-counterString-example-1", @@ -29794,10 +52275,8 @@ "expectStructuredSerialization": false, "coveredArgs": ["min", "max", "delimiter"], "origins": ["example"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-string-counterString-example-1" + "scenarioId": "domain-string-counterString-example-1", + "parityMode": "exact" }, { "id": "ui:domain-string-fromCharacters-base", @@ -29820,107 +52299,8 @@ "expectStructuredSerialization": false, "coveredArgs": [], "origins": ["base"], - "parityMode": "exact", - "exactPreviewParity": true, - "structuralParity": true, - "scenarioId": "domain-string-fromCharacters-base" - } - ], - "uiParityByScenarioId": { - "ui:custom-enum-base": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:custom-enum-pairwise": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:custom-literal-base": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:custom-literal-empty": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:custom-regex-base": { - "mode": "structural", - "exactPreviewParity": false, - "structuralParity": true - }, - "ui:custom-regex-empty": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:faker-helpers-arrayElement-base": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:faker-helpers-fake-base": { - "mode": "structural", - "exactPreviewParity": false, - "structuralParity": true - }, - "ui:faker-helpers-fromRegExp-example-1": { - "mode": "structural", - "exactPreviewParity": false, - "structuralParity": true - }, - "ui:faker-helpers-mustache-base": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:faker-helpers-uniqueArray-example-1": { - "mode": "structural", - "exactPreviewParity": false, - "structuralParity": true - }, - "ui:faker-helpers-weightedArrayElement-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-airline-seat-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-commerce-price-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-date-birthdate-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-internet-password-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-literal-value-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-string-counterString-example-1": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true - }, - "ui:domain-string-fromCharacters-base": { - "mode": "exact", - "exactPreviewParity": true, - "structuralParity": true + "scenarioId": "domain-string-fromCharacters-base", + "parityMode": "exact" } - } + ] } diff --git a/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js b/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js index 000942c4..dc7ce792 100644 --- a/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js +++ b/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js @@ -57,7 +57,7 @@ describe('schema interaction scenario builder', () => { }); const exampleScenarioCount = bucket.scenarios.filter((scenario) => scenario.origins.includes('example')).length; - const expectedExamples = Array.isArray(metadata.examples) ? metadata.examples.length : 0; + const expectedExamples = Array.isArray(metadata.usageExamples) ? metadata.usageExamples.length : 0; if (expectedExamples > 0) { expect(exampleScenarioCount).toBeGreaterThanOrEqual(expectedExamples); } @@ -83,8 +83,8 @@ describe('schema interaction scenario builder', () => { }); const exampleScenarioCount = bucket.scenarios.filter((scenario) => scenario.origins.includes('example')).length; - const expectedExamples = Array.isArray(getDomainKeywordByCommand(command)?.help?.examples) - ? getDomainKeywordByCommand(command).help.examples.length + const expectedExamples = Array.isArray(getDomainKeywordByCommand(command)?.help?.usageExamples) + ? getDomainKeywordByCommand(command).help.usageExamples.length : 0; if (expectedExamples > 0) { expect(exampleScenarioCount).toBeGreaterThanOrEqual(expectedExamples); @@ -105,7 +105,10 @@ describe('schema interaction scenario builder', () => { '(refDate=20000, max=69, min=16, mode="age")' ); expect(scenarios.find((scenario) => scenario.id === 'domain-internet-password-example-1')?.rows[0]?.params).toBe( - '(length=10, memorable=false, pattern="[A-Za-z0-9]", prefix="#")' + '()' + ); + expect(scenarios.find((scenario) => scenario.id === 'domain-internet-password-example-2')?.rows[0]?.params).toBe( + '(length=12)' ); expect( scenarios.find((scenario) => scenario.id === 'domain-autoIncrement-sequence-example-1')?.rows[0]?.params diff --git a/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js b/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js index 2e1361ab..e84a7b5a 100644 --- a/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js +++ b/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js @@ -181,6 +181,18 @@ const ERROR_PATTERNS = [ /Unsafe faker rule syntax/i, /\bException\b/i, ]; +const PRIMITIVE_TYPE_TOKENS = new Set([ + 'string', + 'number', + 'integer', + 'boolean', + 'array', + 'object', + 'date', + 'regexp', + 'unknown', + 'bigint', +]); function slugify(value) { return String(value || '') @@ -269,6 +281,61 @@ function renderExampleParamValue(exampleValue) { return quoteString(String(exampleValue)); } +function parseLiteralTypeToken(token) { + const trimmed = String(token || '').trim(); + if (!trimmed) { + return undefined; + } + if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { + return trimmed.slice(1, -1); + } + if (/^[+-]?\d+(\.\d+)?$/.test(trimmed)) { + return Number(trimmed); + } + return trimmed; +} + +function getLiteralUnionValues(typeName) { + const typeTokens = String(typeName || '') + .split('|') + .map((entry) => entry.trim()) + .filter(Boolean); + + if (typeTokens.length === 0) { + return []; + } + + const literalValues = []; + for (const typeToken of typeTokens) { + if (PRIMITIVE_TYPE_TOKENS.has(typeToken)) { + return []; + } + const literalValue = parseLiteralTypeToken(typeToken); + if (typeof literalValue === 'undefined') { + return []; + } + literalValues.push(literalValue); + } + + return literalValues; +} + +function choosePreferredLiteralUnionValue(values, { paramName, command } = {}) { + if (!Array.isArray(values) || values.length === 0) { + return undefined; + } + + if (paramName === 'strategy' && values.includes('any-length')) return 'any-length'; + if (paramName === 'aircraftType' && values.includes('widebody')) return 'widebody'; + if (paramName === 'protocol' && values.includes('https')) return 'https'; + if (paramName === 'network' && command === 'internet.ipv4' && values.includes('private-a')) return 'private-a'; + if (paramName === 'network' && command === 'finance.bitcoinAddress' && values.includes('testnet')) return 'testnet'; + if (paramName === 'format' && values.includes('css')) return 'css'; + if (paramName === 'casing' && values.includes('upper')) return 'upper'; + + return values[0]; +} + function buildGenericParamValue({ paramName, paramType, command, sourceType, index, argExamples = [] }) { const normalisedName = String(paramName || '').trim(); const lowerName = normalisedName.toLowerCase(); @@ -287,6 +354,16 @@ function buildGenericParamValue({ paramName, paramType, command, sourceType, ind } } + const literalUnionValues = getLiteralUnionValues(paramType); + if (literalUnionValues.length > 0) { + return renderExampleParamValue( + choosePreferredLiteralUnionValue(literalUnionValues, { + paramName: normalisedName, + command, + }) + ); + } + if (lowerName === 'min') return '1'; if (lowerName === 'max') return '3'; if (lowerName === 'count') return '2'; @@ -300,7 +377,6 @@ function buildGenericParamValue({ paramName, paramType, command, sourceType, ind if (lowerName === 'separator') return '"-"'; if (lowerName === 'delimiter') return '"*"'; if (lowerName === 'zeropadding') return '3'; - if (lowerName === 'variant') return '"13"'; if (lowerName === 'protocol') return '"https"'; if (lowerName === 'provider') return '"example.com"'; if (lowerName === 'firstname') return '"Ada"'; @@ -456,6 +532,12 @@ function parseFakerExampleInvocation(example, command) { return null; } +function getUsageExampleFunctionCalls(metadata = {}) { + return (Array.isArray(metadata?.usageExamples) ? metadata.usageExamples : []) + .map((usageExample) => String(usageExample?.functionCall || '').trim()) + .filter(Boolean); +} + function buildDomainBaseParams(command, metadata) { const args = Array.isArray(metadata?.args) ? metadata.args : []; if (DOMAIN_PARAM_OVERRIDES[command]?.defaults) { @@ -578,7 +660,7 @@ function buildFakerScenarios() { const scenarios = []; FAKER_INTERACTION_COMMANDS.forEach((command) => { - const metadata = getFakerCommandHelp(command) || { params: [], docsUrl: '', example: '' }; + const metadata = getFakerCommandHelp(command) || { params: [], docsUrl: '', usageExamples: [] }; scenarios.push( createScenario({ id: `faker-${slugify(command)}-base`, @@ -598,7 +680,7 @@ function buildFakerScenarios() { metadata, }) ); - const curatedExamples = Array.isArray(metadata.examples) ? metadata.examples : []; + const curatedExamples = getUsageExampleFunctionCalls(metadata); curatedExamples.forEach((example, exampleIndex) => { const params = parseFakerExampleInvocation(example, command); if (!params) { @@ -628,7 +710,7 @@ function buildDomainScenarios() { const scenarios = []; commands.forEach((command) => { - const metadata = getDomainCommandHelp(command) || { args: [], docsUrl: '', example: '' }; + const metadata = getDomainCommandHelp(command) || { args: [], docsUrl: '', usageExamples: [] }; scenarios.push( createScenario({ id: `domain-${slugify(command)}-base`, @@ -649,9 +731,7 @@ function buildDomainScenarios() { }) ); - const curatedExamples = Array.isArray(getDomainKeywordByCommand(command)?.help?.examples) - ? getDomainKeywordByCommand(command).help.examples - : []; + const curatedExamples = getUsageExampleFunctionCalls(getDomainKeywordByCommand(command)?.help); curatedExamples.forEach((example, exampleIndex) => { const params = parseExampleInvocation(example, command); if (!params) { @@ -741,6 +821,10 @@ function getAllowedTypesForScenarioRow(row) { .filter(Boolean); } +function getLiteralUnionValuesForScenarioRow(row) { + return getLiteralUnionValues(getDomainCommandHelp(row.command)?.returnType || 'string'); +} + function scenarioRowLooksValid(row, value) { if (hasErrorIndicators(value)) { return false; @@ -751,6 +835,10 @@ function scenarioRowLooksValid(row, value) { } const allowedTypes = getAllowedTypesForScenarioRow(row); + const literalUnionValues = getLiteralUnionValuesForScenarioRow(row); + if (literalUnionValues.length > 0) { + return literalUnionValues.map((item) => String(item)).includes(String(value)); + } if (hasPermissiveAllowedType(allowedTypes)) { return true; } diff --git a/packages/core-ui/src/tests/interaction/matrix/ui-scenario-parity-support.test.js b/packages/core-ui/src/tests/interaction/matrix/ui-scenario-parity-support.test.js index f57631a8..36772914 100644 --- a/packages/core-ui/src/tests/interaction/matrix/ui-scenario-parity-support.test.js +++ b/packages/core-ui/src/tests/interaction/matrix/ui-scenario-parity-support.test.js @@ -43,11 +43,11 @@ describe('ui scenario parity support', () => { structuralParity: true, }); expect(getScenarioLogicalId(literalScenario)).toBe('custom-literal-base'); - expect(parityByScenarioId[regexScenario.id]).toEqual({ - mode: 'exact', - exactPreviewParity: true, - structuralParity: true, - }); + expect(parityByScenarioId[regexScenario.id].structuralParity).toBe(true); + expect(['exact', 'structural']).toContain(parityByScenarioId[regexScenario.id].mode); + expect(parityByScenarioId[regexScenario.id].mode).toBe( + parityByScenarioId[regexScenario.id].exactPreviewParity ? 'exact' : 'structural' + ); expect(getScenarioLogicalId(regexScenario)).toBe('custom-regex-base'); expect(parityByScenarioId[mustacheScenario.id]).toEqual({ mode: 'exact', diff --git a/packages/core-ui/src/tests/interaction/support/generated-value-quality.js b/packages/core-ui/src/tests/interaction/support/generated-value-quality.js index 9f94dafa..7bff12b3 100644 --- a/packages/core-ui/src/tests/interaction/support/generated-value-quality.js +++ b/packages/core-ui/src/tests/interaction/support/generated-value-quality.js @@ -16,6 +16,18 @@ const ERROR_PATTERNS = [ /\bException\b/i, ]; const STANDALONE_INVALID_VALUE_PATTERNS = [/(^|[^\w])undefined([^\w]|$)/, /(^|[^\w])NaN([^\w]|$)/]; +const PRIMITIVE_TYPE_TOKENS = new Set([ + 'string', + 'number', + 'integer', + 'boolean', + 'array', + 'object', + 'date', + 'regexp', + 'unknown', + 'bigint', +]); function toSearchableText(value) { if (typeof value === 'string') return value; @@ -91,6 +103,41 @@ function getAllowedTypesForRow(row) { } } +function parseLiteralTypeToken(token) { + const trimmed = String(token || '').trim(); + if (!trimmed) { + return undefined; + } + if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { + return trimmed.slice(1, -1); + } + if (/^[+-]?\d+(\.\d+)?$/.test(trimmed)) { + return Number(trimmed); + } + return trimmed; +} + +function getLiteralUnionValues(allowedTypes) { + if (!Array.isArray(allowedTypes) || allowedTypes.length === 0) { + return []; + } + + const literalValues = []; + for (const typeToken of allowedTypes) { + const trimmed = String(typeToken || '').trim(); + if (!trimmed || PRIMITIVE_TYPE_TOKENS.has(trimmed)) { + return []; + } + const literalValue = parseLiteralTypeToken(trimmed); + if (typeof literalValue === 'undefined') { + return []; + } + literalValues.push(literalValue); + } + + return literalValues; +} + function hasPermissiveAllowedType(allowedTypes) { return allowedTypes.includes('string') || allowedTypes.includes('unknown'); } @@ -150,6 +197,12 @@ function assertRowValueMatchesScenario(row, value, contextLabel) { } const allowedTypes = getAllowedTypesForRow(row); + const literalUnionValues = getLiteralUnionValues(allowedTypes); + if (literalUnionValues.length > 0) { + expect(literalUnionValues.map((item) => String(item))).toContain(String(value)); + return; + } + const inferred = inferTypeAndConfidence(value); if (inferred.confidence === 'high' && !hasPermissiveAllowedType(allowedTypes)) { expect(allowedTypes).toContain(inferred.type); diff --git a/packages/core-ui/src/tests/shared/help-model-builder.test.js b/packages/core-ui/src/tests/shared/help-model-builder.test.js index 49972266..1abc5576 100644 --- a/packages/core-ui/src/tests/shared/help-model-builder.test.js +++ b/packages/core-ui/src/tests/shared/help-model-builder.test.js @@ -16,6 +16,17 @@ describe('help-model-builder', () => { expect(model.kind).toBe('command'); expect(model.heading).toBe('faker.person.firstName'); expect(model.docsUrl).toMatch(/^https:/); + expect(model.docsUrl).toBe('https://anywaydata.com/docs/test-data/domain/person'); + expect(model.fakerDocsUrl).toBe('https://fakerjs.dev/api/person'); + expect(model.usageExamples[0]).toEqual( + expect.objectContaining({ + functionCall: expect.stringContaining('person.firstName'), + sampleReturnValue: expect.any(String), + }) + ); + expect(Object.prototype.hasOwnProperty.call(model, 'example')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(model, 'examples')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(model, 'exampleReturnValues')).toBe(false); expect(renderSchemaHelpHtml(model)).toContain('faker.person.firstName'); }); @@ -63,6 +74,13 @@ describe('help-model-builder', () => { expect(model.show).toBe(true); expect(model.kind).toBe('command'); expect(model.heading).toContain('counterString'); + expect(model.usageExamples[0]).toEqual( + expect.objectContaining({ + functionCall: expect.stringContaining('string.counterString'), + sampleReturnValue: expect.any(String), + }) + ); + expect(Object.prototype.hasOwnProperty.call(model, 'example')).toBe(false); expect(renderSchemaHelpHtml(model)).toContain('delimiter'); }); @@ -103,5 +121,6 @@ describe('help-model-builder', () => { test('maps faker helpers docs link to anywaydata faker helpers docs', () => { const model = buildSchemaHelpModel('faker', 'helpers.fake'); expect(model.docsUrl).toBe('https://anywaydata.com/docs/test-data/faker/helpers'); + expect(model.fakerDocsUrl).toBe(''); }); }); diff --git a/packages/core-ui/src/tests/utils/domain-command-help-metadata.test.js b/packages/core-ui/src/tests/utils/domain-command-help-metadata.test.js index b49eef2e..1e10e4c3 100644 --- a/packages/core-ui/src/tests/utils/domain-command-help-metadata.test.js +++ b/packages/core-ui/src/tests/utils/domain-command-help-metadata.test.js @@ -1,16 +1,48 @@ import { getDomainCommandHelp } from '../../../js/gui_components/shared/domain-command-help-metadata.js'; +import { validateCommandHelpValue } from '@anywaydata/core/command-help/command-help-contract.js'; describe('domain command help metadata docs links', () => { test('maps domain command docs urls to anywaydata domain pages', () => { const airline = getDomainCommandHelp('airline.aircraftType'); expect(airline).toBeTruthy(); expect(airline.docsUrl).toBe('https://anywaydata.com/docs/test-data/domain/airline'); + expect(airline.fakerDocsUrl).toBe('https://fakerjs.dev/api/airline'); }); test('keeps synthetic datatype enum on anywaydata datatype domain page', () => { const enumHelp = getDomainCommandHelp('datatype.enum'); expect(enumHelp).toBeTruthy(); expect(enumHelp.docsUrl).toBe('https://anywaydata.com/docs/test-data/domain/datatype'); + expect(enumHelp.usageExamples).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + functionCall: expect.any(String), + sampleReturnValue: expect.anything(), + description: expect.any(String), + }), + ]) + ); + expect(enumHelp.validator).toBeDefined(); + expect( + validateCommandHelpValue(enumHelp.validator, 'active', { + fieldDefinition: { + sourceType: 'domain', + command: 'datatype.enum', + params: 'active,inactive,pending', + ruleSpec: 'datatype.enum(active,inactive,pending)', + }, + }) + ).toBe(true); + expect( + validateCommandHelpValue(enumHelp.validator, 'archived', { + fieldDefinition: { + sourceType: 'domain', + command: 'datatype.enum', + params: 'active,inactive,pending', + ruleSpec: 'datatype.enum(active,inactive,pending)', + }, + }) + ).toBe(false); }); test('maps autoIncrement timestamp help to the autoIncrement domain page', () => { @@ -23,5 +55,14 @@ describe('domain command help metadata docs links', () => { const sequenceHelp = getDomainCommandHelp('autoIncrement.sequence'); expect(sequenceHelp).toBeTruthy(); expect(sequenceHelp.docsUrl).toBe('https://anywaydata.com/docs/test-data/auto-increment-sequences'); + expect(sequenceHelp.fakerDocsUrl).toBe(''); + }); + + test('runtime domain help metadata does not expose legacy example fields', () => { + const help = getDomainCommandHelp('commerce.price'); + expect(help).toBeTruthy(); + expect(Object.prototype.hasOwnProperty.call(help, 'example')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(help, 'examples')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(help, 'exampleReturnValues')).toBe(false); }); }); diff --git a/packages/core-ui/src/tests/utils/faker-command-help-metadata.test.js b/packages/core-ui/src/tests/utils/faker-command-help-metadata.test.js index bf50cf03..673688df 100644 --- a/packages/core-ui/src/tests/utils/faker-command-help-metadata.test.js +++ b/packages/core-ui/src/tests/utils/faker-command-help-metadata.test.js @@ -19,6 +19,16 @@ describe('faker command help metadata', () => { test('normalizes helper metadata directly from helper definitions', () => { const helperMetadata = buildFakerHelperHelpMetadata(); expect(Object.keys(helperMetadata)).toEqual(Object.keys(FAKER_HELPER_KEYWORD_DEFINITIONS)); + Object.values(FAKER_HELPER_KEYWORD_DEFINITIONS).forEach((definition) => { + expect(Array.isArray(definition.usageExamples)).toBe(true); + expect(definition.usageExamples.length).toBeGreaterThan(0); + definition.usageExamples.forEach((usageExample) => { + expect(usageExample.functionCall).toEqual(expect.any(String)); + expect(Object.prototype.hasOwnProperty.call(usageExample, 'sampleReturnValue')).toBe(true); + expect(usageExample.sampleReturnValue).not.toBeUndefined(); + expect(usageExample.description).toEqual(expect.any(String)); + }); + }); }); test('contains docsUrl for all curated faker commands', () => { @@ -36,11 +46,13 @@ describe('faker command help metadata', () => { expect(airline).toBeDefined(); expect(airline.summary.length).toBeGreaterThan(0); - expect(airline.docsUrl).toBe('https://fakerjs.dev/api/airline'); + expect(airline.docsUrl).toBe('https://anywaydata.com/docs/test-data/domain/airline'); + expect(airline.fakerDocsUrl).toBe('https://fakerjs.dev/api/airline'); expect(helper).toBeDefined(); expect(helper.summary.length).toBeGreaterThan(0); expect(helper.docsUrl).toBe('https://fakerjs.dev/api/helpers'); + expect(helper.fakerDocsUrl).toBe(''); }); test('falls back to domain keyword help for domain-backed faker commands', () => { @@ -50,13 +62,22 @@ describe('faker command help metadata', () => { const uuid = getFakerCommandHelp('string.uuid'); expect(firstName.params).toEqual( - expect.arrayContaining([expect.objectContaining({ name: 'sex', optional: true, type: 'string' })]) + expect.arrayContaining([expect.objectContaining({ name: 'sex', optional: true, type: 'female|male' })]) ); - expect(firstName.example.length).toBeGreaterThan(0); + expect(firstName.usageExamples).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + functionCall: expect.any(String), + sampleReturnValue: expect.anything(), + description: expect.any(String), + }), + ]) + ); + expect(firstName.validator).toBeDefined(); expect(buildFakerHelperHelpMetadata()['person.firstName']).toBeUndefined(); expect(Array.isArray(imageDataUri.params)).toBe(true); - expect(imageDataUri.example.length).toBeGreaterThan(0); + expect(imageDataUri.usageExamples.length).toBeGreaterThan(0); expect(uuid.summary).toContain('Returns a UUID'); expect(uuid.params).toEqual( @@ -92,10 +113,22 @@ describe('faker command help metadata', () => { }), ]) ); - expect(mustache.examples).toContain('helpers.mustache("Hello {{name}}", { name: "Ada" })'); + expect(mustache.usageExamples).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + functionCall: 'helpers.mustache("Hello {{name}}", { name: "Ada" })', + }), + ]) + ); expect(arrayElement.summary).toContain('one random element'); - expect(arrayElement.examples).toContain('helpers.arrayElement(["A", "B", "C"])'); + expect(arrayElement.usageExamples).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + functionCall: 'helpers.arrayElement(["A", "B", "C"])', + }), + ]) + ); expect(rangeToNumber.params).toEqual( expect.arrayContaining([ @@ -105,9 +138,27 @@ describe('faker command help metadata', () => { }), ]) ); - expect(rangeToNumber.example).toBe('2'); - expect(rangeToNumber.examples).toContain('helpers.rangeToNumber({ min: 1, max: 2 })'); + expect(rangeToNumber.usageExamples).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + functionCall: 'helpers.rangeToNumber({ min: 1, max: 2 })', + sampleReturnValue: 1, + }), + ]) + ); expect(multiple.returnType).toBe('array'); }); + + test('runtime faker help metadata does not expose legacy example fields', () => { + const helper = getFakerCommandHelp('helpers.arrayElement'); + const domainBacked = getFakerCommandHelp('person.firstName'); + + [helper, domainBacked].forEach((help) => { + expect(help).toBeDefined(); + expect(Object.prototype.hasOwnProperty.call(help, 'example')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(help, 'examples')).toBe(false); + expect(Object.prototype.hasOwnProperty.call(help, 'exampleReturnValues')).toBe(false); + }); + }); }); diff --git a/packages/core-ui/src/tests/utils/method-picker-modal.test.js b/packages/core-ui/src/tests/utils/method-picker-modal.test.js index 70aa46f3..a57ee26d 100644 --- a/packages/core-ui/src/tests/utils/method-picker-modal.test.js +++ b/packages/core-ui/src/tests/utils/method-picker-modal.test.js @@ -166,7 +166,7 @@ describe('method picker modal', () => { await promise; }); - test('renders usage from examples and deduped return examples from example + exampleReturnValues', async () => { + test('renders usage and deduped return examples from structured usageExamples', async () => { const promise = openMethodPickerModal({ documentObj: document, windowObj: window, @@ -178,9 +178,23 @@ describe('method picker modal', () => { summary: 'Enum helper', heading: 'datatype.enum', docsUrl: 'https://anywaydata.com/docs/category/generating-data', - example: 'active', - examples: ['enum active,inactive,pending', 'datatype.enum(active,inactive,pending)'], - exampleReturnValues: ['inactive', 'pending', 'active'], + usageExamples: [ + { + functionCall: 'enum active,inactive,pending', + sampleReturnValue: 'active', + description: 'Shows enum helper usage.', + }, + { + functionCall: 'datatype.enum(active,inactive,pending)', + sampleReturnValue: 'inactive', + description: 'Shows datatype.enum helper usage.', + }, + { + functionCall: 'datatype.enum(open,closed)', + sampleReturnValue: 'pending', + description: 'Shows an alternate enum call.', + }, + ], params: [], }, }, diff --git a/packages/core/js/command-help/command-help-contract.js b/packages/core/js/command-help/command-help-contract.js new file mode 100644 index 00000000..2b93a7b9 --- /dev/null +++ b/packages/core/js/command-help/command-help-contract.js @@ -0,0 +1,154 @@ +function isNonEmptyString(value) { + return typeof value === 'string' && value.trim().length > 0; +} + +function splitAllowedTypes(typeText = '') { + return String(typeText || '') + .split('|') + .map((entry) => entry.trim()) + .filter(Boolean); +} + +function unquoteLiteralTypeToken(value) { + const trimmed = String(value || '').trim(); + if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { + return trimmed.slice(1, -1); + } + return trimmed; +} + +function isQuotedLiteralTypeToken(value) { + const trimmed = String(value || '').trim(); + return (trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'")); +} + +function createReturnValueValidator(returnType = '') { + const allowedTypes = splitAllowedTypes(returnType); + if (allowedTypes.length === 0 || allowedTypes.includes('unknown')) { + return () => true; + } + + return (value) => + allowedTypes.some((allowedType) => { + if (allowedType === 'string') { + return typeof value === 'string'; + } + if (allowedType === 'integer') { + return typeof value === 'bigint' || Number.isInteger(value); + } + if (allowedType === 'number') { + return typeof value === 'number' && Number.isFinite(value); + } + if (allowedType === 'boolean') { + return typeof value === 'boolean'; + } + if (allowedType === 'array') { + return Array.isArray(value); + } + if (allowedType === 'object') { + return value !== null && typeof value === 'object' && !Array.isArray(value); + } + if (allowedType === 'date') { + if (value instanceof Date) { + return !Number.isNaN(value.valueOf()); + } + return typeof value === 'string' && !Number.isNaN(Date.parse(value)); + } + if (allowedType === 'regexp') { + return value instanceof RegExp || typeof value === 'string'; + } + if (/^[+-]?\d+(?:\.\d+)?$/.test(allowedType)) { + return typeof value === 'number' && Object.is(value, Number(allowedType)); + } + if (isQuotedLiteralTypeToken(allowedType)) { + return typeof value === 'string' && value === unquoteLiteralTypeToken(allowedType); + } + return typeof value === 'string' && value === allowedType; + }); +} + +function normalizeValidatorValue(validator, returnType = '') { + if (validator instanceof RegExp || typeof validator === 'function') { + return validator; + } + return createReturnValueValidator(returnType); +} + +function coerceSampleReturnValue(value, returnType = '') { + if (typeof value !== 'string') { + return value; + } + + const trimmed = value.trim(); + const unquoted = + (trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'")) + ? trimmed.slice(1, -1) + : trimmed; + const allowedTypes = splitAllowedTypes(returnType); + + if (allowedTypes.includes('string')) { + return value; + } + + if (allowedTypes.includes('array') && unquoted.startsWith('[') && unquoted.endsWith(']')) { + try { + return JSON.parse(unquoted); + } catch { + return value; + } + } + if (allowedTypes.includes('object') && unquoted.startsWith('{') && unquoted.endsWith('}')) { + try { + return JSON.parse(unquoted); + } catch { + return value; + } + } + if (allowedTypes.includes('boolean') && /^(true|false)$/iu.test(unquoted)) { + return unquoted.toLowerCase() === 'true'; + } + if ((allowedTypes.includes('integer') || allowedTypes.includes('number')) && /^[+-]?\d+(?:\.\d+)?$/u.test(unquoted)) { + return Number(unquoted); + } + if (allowedTypes.includes('date')) { + return unquoted; + } + + return value; +} + +function validateCommandHelpValue(validator, value, context = {}) { + if (validator instanceof RegExp) { + return validator.test(String(value ?? '')); + } + if (typeof validator === 'function') { + return validator(value, context) === true; + } + return false; +} + +function normalizeFunctionCallText(functionCall) { + return String(functionCall || '').trim(); +} + +function normalizeUsageExamples({ command = '', returnType = '', usageExamples = [] } = {}) { + if (!Array.isArray(usageExamples)) { + return []; + } + + return usageExamples + .map((entry) => { + const functionCall = normalizeFunctionCallText(entry?.functionCall); + if (!functionCall) { + return null; + } + return { + functionCall, + sampleReturnValue: coerceSampleReturnValue(entry?.sampleReturnValue, returnType), + description: isNonEmptyString(entry?.description) ? entry.description.trim() : `Shows ${command} in use.`, + }; + }) + .filter(Boolean); +} + +export { createReturnValueValidator, normalizeUsageExamples, normalizeValidatorValue, validateCommandHelpValue }; diff --git a/packages/core/js/command-help/command-help-validators.js b/packages/core/js/command-help/command-help-validators.js new file mode 100644 index 00000000..75151037 --- /dev/null +++ b/packages/core/js/command-help/command-help-validators.js @@ -0,0 +1,829 @@ +import { EnumParser } from '../data_generation/utils/enumParser.js'; + +const STRING_COMMANDS_ALLOWING_EMPTY_INPUT_OUTPUT = new Set([ + 'helpers.fake', + 'helpers.mustache', + 'helpers.fromregexp', + 'helpers.slugify', + 'helpers.replacesymbols', + 'helpers.replacecreditcardsymbols', +]); + +const ZERO_LENGTH_STRING_PARAM_NAMES = new Set([ + 'count', + 'length', + 'lineCount', + 'lineCountMax', + 'lineCountMin', + 'max', + 'min', + 'paragraphCount', + 'paragraphCountMax', + 'paragraphCountMin', + 'sentenceCount', + 'sentenceCountMax', + 'sentenceCountMin', + 'wordCount', + 'wordCountMax', + 'wordCountMin', +]); + +const UUID_VARIANTS = new Set(['8', '9', 'a', 'b']); +const IATA_AIRLINE_CODE_REGEX = /^[A-Z0-9]{2}$/u; +const IATA_AIRPORT_CODE_REGEX = /^[A-Z]{3}$/u; +const IATA_AIRCRAFT_TYPE_CODE_REGEX = /^[A-Z0-9]{3}$/u; +const FLIGHT_NUMBER_REGEX = /^\d{1,4}$/u; +const AIRLINE_RECORD_LOCATOR_REGEX = /^[A-Z0-9]{6}$/u; +const AIRLINE_SEAT_REGEX = /^[1-9]\d{0,2}[A-Z]{1,2}$/u; +const MONGODB_OBJECT_ID_REGEX = /^[0-9a-f]{24}$/iu; +const BIC_REGEX = /^[A-Z]{6}[A-Z0-9]{2}(?:[A-Z0-9]{3})?$/u; +const CURRENCY_CODE_REGEX = /^[A-Z]{3}$/u; +const CURRENCY_NUMERIC_CODE_REGEX = /^\d{3}$/u; +const ETHEREUM_ADDRESS_REGEX = /^0x[0-9a-f]{40}$/iu; +const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/u; +const EXAMPLE_EMAIL_REGEX = /^[^\s@]+@example\.(?:com|net|org)$/iu; +const JWT_REGEX = /^[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/u; +const MIME_TYPE_REGEX = /^[A-Za-z0-9!#$&^_.+-]+\/[A-Za-z0-9!#$&^_.+-]+$/u; +const SEMVER_REGEX = + /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u; +const ULID_REGEX = /^[0-7][0-9A-HJKMNP-TV-Z]{25}$/u; +const NANOID_REGEX = /^[A-Za-z0-9_-]+$/u; +const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-([0-9a-f])[0-9a-f]{3}-([89ab])[0-9a-f]{3}-[0-9a-f]{12}$/iu; +const BASE58_REGEX_SOURCE = '[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]'; +const BECH32_REGEX_SOURCE = '[ac-hj-np-z02-9]'; +const BITCOIN_PATTERNS = { + mainnet: { + legacy: new RegExp(`^1${BASE58_REGEX_SOURCE}{25,34}$`, 'u'), + segwit: new RegExp(`^3${BASE58_REGEX_SOURCE}{25,34}$`, 'u'), + bech32: new RegExp(`^bc1${BECH32_REGEX_SOURCE}{11,71}$`, 'u'), + taproot: new RegExp(`^bc1p${BECH32_REGEX_SOURCE}{8,71}$`, 'u'), + }, + testnet: { + legacy: new RegExp(`^[mn]${BASE58_REGEX_SOURCE}{25,34}$`, 'u'), + segwit: new RegExp(`^2${BASE58_REGEX_SOURCE}{25,34}$`, 'u'), + bech32: new RegExp(`^tb1${BECH32_REGEX_SOURCE}{11,71}$`, 'u'), + taproot: new RegExp(`^tb1p${BECH32_REGEX_SOURCE}{8,71}$`, 'u'), + }, +}; +const LITECOIN_PATTERNS = [ + new RegExp(`^[LM3]${BASE58_REGEX_SOURCE}{25,34}$`, 'u'), + new RegExp(`^ltc1${BECH32_REGEX_SOURCE}{8,71}$`, 'u'), +]; +const MAC_PATTERNS = { + ':': /^[0-9a-f]{2}(?::[0-9a-f]{2}){5}$/iu, + '-': /^[0-9a-f]{2}(?:-[0-9a-f]{2}){5}$/iu, + '': /^[0-9a-f]{12}$/iu, +}; +const CRON_NON_STANDARD_REGEX = /^@(annually|yearly|monthly|weekly|daily|hourly|reboot)$/u; +const CRON_FIELD_REGEX = /^[\dA-Z*/?,#L-]+$/iu; + +let cachedTimeZones = null; + +function validateAnyValue() { + return true; +} + +function normalizeAllowedValues(allowedValues = []) { + return Array.isArray(allowedValues) + ? allowedValues + .map((entry) => String(entry)) + .map((entry) => entry.trim()) + .filter((entry) => entry.length > 0) + : []; +} + +function createStringEnumValidator(allowedValues = []) { + const normalizedAllowedValues = normalizeAllowedValues(allowedValues); + + return (value) => typeof value === 'string' && normalizedAllowedValues.includes(value); +} + +function createRegexValidator(regex) { + return (value, context = {}) => validateStringValue(value, context) && regex.test(value); +} + +function createPredicateValidator(predicate) { + return (value, context = {}) => validateStringValue(value, context) && predicate(value, context) === true; +} + +function getNormalizedContextCommand(context = {}) { + return String(context?.command ?? context?.fieldDefinition?.command ?? '') + .trim() + .toLowerCase(); +} + +function getContextParamSpecs(context = {}) { + if (Array.isArray(context?.help?.args)) { + return context.help.args; + } + if (Array.isArray(context?.help?.params)) { + return context.help.params; + } + return []; +} + +function getContextNamedArgs(context = {}) { + const specs = getContextParamSpecs(context); + const args = getContextArgs(context); + + return Object.fromEntries( + specs.map((spec, index) => [String(spec?.name ?? '').trim(), args[index]]).filter(([name]) => name.length > 0) + ); +} + +function isExplicitZeroLengthStringConfig(context = {}) { + const args = getContextArgs(context); + const specs = getContextParamSpecs(context); + + return specs.some((spec, index) => { + const paramName = String(spec?.name ?? '').trim(); + if (!ZERO_LENGTH_STRING_PARAM_NAMES.has(paramName)) { + return false; + } + return Object.is(args[index], 0); + }); +} + +function isEmptyStringAllowedByHelperInput(context = {}) { + const command = getNormalizedContextCommand(context); + if (!STRING_COMMANDS_ALLOWING_EMPTY_INPUT_OUTPUT.has(command)) { + return false; + } + + const functionCall = String( + context?.functionCall ?? context?.ruleSpec ?? context?.fieldDefinition?.ruleSpec ?? '' + ).trim(); + if (!functionCall) { + return false; + } + + const normalizedFunctionCall = functionCall.toLowerCase(); + + if (normalizedFunctionCall === `${command}()`) { + return true; + } + + return new RegExp(`^${command.replace('.', '\\.')}\\(\\s*""\\s*(?:,|\\))`, 'i').test(functionCall); +} + +function isEmptyStringAllowedByContext(context = {}) { + return isExplicitZeroLengthStringConfig(context) || isEmptyStringAllowedByHelperInput(context); +} + +function validateStringValue(value, context = {}) { + if (typeof value !== 'string') { + return false; + } + + if (value.length > 0) { + return true; + } + + return isEmptyStringAllowedByContext(context); +} + +function validateNumberValue(value) { + return typeof value === 'number' && Number.isFinite(value); +} + +function validateIntegerValue(value) { + return typeof value === 'bigint' || Number.isInteger(value); +} + +function validateBooleanValue(value) { + return typeof value === 'boolean'; +} + +function validateArrayValue(value) { + return Array.isArray(value); +} + +function validateObjectValue(value) { + return value !== null && typeof value === 'object' && !Array.isArray(value); +} + +function validateDateValue(value) { + if (value instanceof Date) { + return !Number.isNaN(value.valueOf()); + } + return typeof value === 'string' && !Number.isNaN(Date.parse(value)); +} + +function validateArrayOrStringValue(value) { + return validateArrayValue(value) || validateStringValue(value); +} + +function validateStringOrNumberValue(value) { + return validateStringValue(value) || validateNumberValue(value); +} + +function validateStringOrNumberOrBooleanValue(value) { + return validateStringValue(value) || validateNumberValue(value) || validateBooleanValue(value); +} + +function getContextArgs(context = {}) { + if (Array.isArray(context?.args)) { + return context.args; + } + if (Array.isArray(context?.parsedArgs)) { + return context.parsedArgs; + } + return []; +} + +function getFieldDefinitionFromContext(context = {}) { + if (context?.fieldDefinition && typeof context.fieldDefinition === 'object') { + return context.fieldDefinition; + } + return {}; +} + +function getNormalizedStringLengthBounds(lengthValue, { minimum = 1 } = {}) { + if (typeof lengthValue === 'number' && Number.isFinite(lengthValue)) { + const normalized = Math.max(0, Math.trunc(lengthValue)); + return { min: normalized, max: normalized }; + } + + if (Array.isArray(lengthValue)) { + const numericValues = lengthValue + .map((entry) => (typeof entry === 'number' && Number.isFinite(entry) ? Math.trunc(entry) : null)) + .filter((entry) => entry !== null); + if (numericValues.length > 0) { + return { + min: Math.max(0, Math.min(...numericValues)), + max: Math.max(0, Math.max(...numericValues)), + }; + } + } + + if (lengthValue && typeof lengthValue === 'object') { + const min = + typeof lengthValue.min === 'number' && Number.isFinite(lengthValue.min) ? Math.trunc(lengthValue.min) : null; + const max = + typeof lengthValue.max === 'number' && Number.isFinite(lengthValue.max) ? Math.trunc(lengthValue.max) : null; + + if (min !== null || max !== null) { + const resolvedMin = Math.max(0, Math.min(min ?? max ?? minimum, max ?? min ?? minimum)); + const resolvedMax = Math.max(0, Math.max(min ?? minimum, max ?? minimum)); + return { min: resolvedMin, max: resolvedMax }; + } + } + + return { min: minimum, max: Number.POSITIVE_INFINITY }; +} + +function validateExactOrRangedLength(value, lengthValue, options = {}) { + const { min, max } = getNormalizedStringLengthBounds(lengthValue, options); + return value.length >= min && value.length <= max; +} + +function normalizeDigits(value) { + return String(value ?? '').replace(/\D+/gu, ''); +} + +function passesLuhnCheck(value) { + const digits = normalizeDigits(value); + if (!/^\d+$/u.test(digits) || digits.length === 0) { + return false; + } + + let sum = 0; + let shouldDouble = false; + + for (let index = digits.length - 1; index >= 0; index -= 1) { + let digit = Number(digits[index]); + if (shouldDouble) { + digit *= 2; + if (digit > 9) { + digit -= 9; + } + } + sum += digit; + shouldDouble = !shouldDouble; + } + + return sum % 10 === 0; +} + +function getIbanModulo97(value) { + const rearranged = `${value.slice(4)}${value.slice(0, 4)}`; + let remainder = 0; + + for (const character of rearranged) { + const codePoint = character.codePointAt(0); + const chunk = /[A-Z]/u.test(character) ? String(codePoint - 55) : character; + for (const digit of chunk) { + remainder = (remainder * 10 + Number(digit)) % 97; + } + } + + return remainder; +} + +function passesIbanCheck(value) { + const normalized = String(value ?? '') + .replace(/\s+/gu, '') + .toUpperCase(); + if (!/^[A-Z]{2}\d{2}[A-Z0-9]{10,30}$/u.test(normalized)) { + return false; + } + return getIbanModulo97(normalized) === 1; +} + +function passesIsbn10Check(value) { + const normalized = String(value ?? '') + .replace(/[-\s]/gu, '') + .toUpperCase(); + if (!/^\d{9}[\dX]$/u.test(normalized)) { + return false; + } + + const checksum = normalized + .split('') + .reduce((sum, character, index) => sum + (10 - index) * (character === 'X' ? 10 : Number(character)), 0); + + return checksum % 11 === 0; +} + +function passesIsbn13Check(value) { + const normalized = String(value ?? '').replace(/[-\s]/gu, ''); + if (!/^\d{13}$/u.test(normalized)) { + return false; + } + + const checksum = normalized + .slice(0, -1) + .split('') + .reduce((sum, character, index) => sum + Number(character) * (index % 2 === 0 ? 1 : 3), 0); + const expectedCheckDigit = (10 - (checksum % 10)) % 10; + + return expectedCheckDigit === Number(normalized.at(-1)); +} + +function passesUpcCheck(value) { + const normalized = normalizeDigits(value); + if (!/^\d{12}$/u.test(normalized)) { + return false; + } + + const digits = normalized.split('').map((digit) => Number(digit)); + const oddSum = digits[0] + digits[2] + digits[4] + digits[6] + digits[8] + digits[10]; + const evenSum = digits[1] + digits[3] + digits[5] + digits[7] + digits[9]; + const expectedCheckDigit = (10 - ((oddSum * 3 + evenSum) % 10)) % 10; + + return expectedCheckDigit === digits[11]; +} + +function passesRoutingNumberCheck(value) { + const normalized = normalizeDigits(value); + if (!/^\d{9}$/u.test(normalized)) { + return false; + } + + const digits = normalized.split('').map((digit) => Number(digit)); + const checksum = + 3 * (digits[0] + digits[3] + digits[6]) + + 7 * (digits[1] + digits[4] + digits[7]) + + (digits[2] + digits[5] + digits[8]); + + return checksum % 10 === 0; +} + +function getExpectedUuidVersion(context = {}) { + const namedArgs = getContextNamedArgs(context); + if (namedArgs.version === 4 || namedArgs.version === 7) { + return String(namedArgs.version); + } + if (typeof namedArgs.refDate !== 'undefined') { + return '7'; + } + return null; +} + +function getAllowedTimeZones() { + if (cachedTimeZones !== null) { + return cachedTimeZones; + } + + if (typeof Intl.supportedValuesOf === 'function') { + cachedTimeZones = new Set(Intl.supportedValuesOf('timeZone')); + return cachedTimeZones; + } + + cachedTimeZones = new Set(); + return cachedTimeZones; +} + +function matchesAnyPattern(value, patterns = []) { + return patterns.some((pattern) => pattern.test(value)); +} + +function isValidIPv4Address(value) { + const candidate = String(value ?? '').trim(); + if (!candidate) { + return false; + } + + try { + const url = new URL(`http://${candidate}/`); + return url.hostname === candidate && candidate.split('.').length === 4; + } catch { + return false; + } +} + +function isValidIPv6Address(value) { + const candidate = String(value ?? '').trim(); + if (!candidate || !candidate.includes(':')) { + return false; + } + + try { + // URL parsing gives us a browser-safe IPv6 validity check. + // Valid inputs are normalized, so we only need parse success here. + new URL(`http://[${candidate}]/`); + return true; + } catch { + return false; + } +} + +function getContextRuleSpec(context = {}) { + const fieldDefinition = getFieldDefinitionFromContext(context); + const candidates = [context?.ruleSpec, fieldDefinition?.ruleSpec, context?.functionCall]; + + for (const candidate of candidates) { + const value = String(candidate ?? '').trim(); + if (value.length > 0) { + return value; + } + } + + const command = String(fieldDefinition?.command ?? context?.command ?? '').trim(); + const params = String(fieldDefinition?.params ?? '').trim(); + if (!command) { + return ''; + } + if (!params) { + return `${command}()`; + } + if (command.toLowerCase() === 'datatype.enum') { + return `datatype.enum(${params.replace(/^\(|\)$/g, '').trim()})`; + } + return `${command}${params}`; +} + +function getCounterStringRangeFromContext(context = {}) { + const args = getContextArgs(context); + + const hasMin = typeof args[0] !== 'undefined'; + const hasMax = typeof args[1] !== 'undefined'; + const minArg = hasMin ? args[0] : 1; + const maxArg = hasMax ? args[1] : hasMin ? minArg : 25; + + const lowest = Math.max(1, Math.min(minArg, maxArg)); + const highest = Math.max(1, Math.max(minArg, maxArg)); + + return { lowest, highest }; +} + +function validateCounterStringValue(value, context = {}) { + if (!validateStringValue(value)) { + return false; + } + + const { lowest, highest } = getCounterStringRangeFromContext(context); + return value.length >= lowest && value.length <= highest; +} + +function validateLiteralValue(value, context = {}) { + const args = getContextArgs(context); + const expected = typeof args[0] === 'undefined' ? '' : args[0]; + return Object.is(value, expected); +} + +const validateMongoObjectIdValue = createRegexValidator(MONGODB_OBJECT_ID_REGEX); +const validateBicValue = createRegexValidator(BIC_REGEX); +const validateCurrencyCodeValue = createRegexValidator(CURRENCY_CODE_REGEX); +const validateCurrencyNumericCodeValue = createRegexValidator(CURRENCY_NUMERIC_CODE_REGEX); +const validateEthereumAddressValue = createRegexValidator(ETHEREUM_ADDRESS_REGEX); +const validateEmailValue = createRegexValidator(EMAIL_REGEX); +const validateExampleEmailValue = createRegexValidator(EXAMPLE_EMAIL_REGEX); +const validateJwtValue = createRegexValidator(JWT_REGEX); +const validateMimeTypeValue = createRegexValidator(MIME_TYPE_REGEX); +const validateSemverValue = createRegexValidator(SEMVER_REGEX); +const validateAirlineIataCodeValue = createRegexValidator(IATA_AIRLINE_CODE_REGEX); +const validateAirportIataCodeValue = createRegexValidator(IATA_AIRPORT_CODE_REGEX); +const validateAircraftIataTypeCodeValue = createRegexValidator(IATA_AIRCRAFT_TYPE_CODE_REGEX); +const validateFlightNumberValue = createRegexValidator(FLIGHT_NUMBER_REGEX); +const validateAirlineRecordLocatorValue = createRegexValidator(AIRLINE_RECORD_LOCATOR_REGEX); +const validateAirlineSeatValue = createRegexValidator(AIRLINE_SEAT_REGEX); + +const validateBitcoinAddressValue = createPredicateValidator((value, context = {}) => { + const { network = 'mainnet', type } = getContextNamedArgs(context); + const normalizedNetwork = network === 'testnet' ? 'testnet' : 'mainnet'; + + if (typeof type === 'string' && BITCOIN_PATTERNS[normalizedNetwork][type]) { + return BITCOIN_PATTERNS[normalizedNetwork][type].test(value); + } + + return matchesAnyPattern(value, Object.values(BITCOIN_PATTERNS[normalizedNetwork])); +}); + +const validateLitecoinAddressValue = createPredicateValidator((value) => matchesAnyPattern(value, LITECOIN_PATTERNS)); + +const validateCreditCardCvvValue = createPredicateValidator((value) => /^\d{3,4}$/u.test(value)); + +const validateCreditCardNumberValue = createPredicateValidator((value) => { + const digits = normalizeDigits(value); + return digits.length >= 12 && digits.length <= 19 && passesLuhnCheck(digits); +}); + +const validateIbanValue = createPredicateValidator((value, context = {}) => { + const namedArgs = getContextNamedArgs(context); + const normalized = String(value ?? '') + .replace(/\s+/gu, '') + .toUpperCase(); + + if (namedArgs.countryCode && !normalized.startsWith(String(namedArgs.countryCode).toUpperCase())) { + return false; + } + + return passesIbanCheck(normalized); +}); + +const validateRoutingNumberValue = createPredicateValidator((value) => passesRoutingNumberCheck(value)); + +const validateCountryCodeValue = createPredicateValidator((value, context = {}) => { + const { variant = 'alpha-2' } = getContextNamedArgs(context); + + if (variant === 'alpha-3') { + return /^[A-Z]{3}$/u.test(value); + } + if (variant === 'numeric') { + return /^\d{3}$/u.test(value); + } + return /^[A-Z]{2}$/u.test(value); +}); + +const validateTimeZoneValue = createPredicateValidator((value) => { + const allowedTimeZones = getAllowedTimeZones(); + if (allowedTimeZones.size > 0) { + return allowedTimeZones.has(value); + } + return /^[A-Za-z_]+(?:\/[A-Za-z0-9_+-]+)+$/u.test(value); +}); + +const validateIpValue = createPredicateValidator((value) => isValidIPv4Address(value) || isValidIPv6Address(value)); +const validateIpv4Value = createPredicateValidator((value) => isValidIPv4Address(value)); +const validateIpv6Value = createPredicateValidator((value) => isValidIPv6Address(value)); + +const validateMacAddressValue = createPredicateValidator((value, context = {}) => { + const { separator = ':' } = getContextNamedArgs(context); + const normalizedSeparator = MAC_PATTERNS[String(separator)] ? String(separator) : ':'; + return MAC_PATTERNS[normalizedSeparator].test(value); +}); + +const validateUrlValue = createPredicateValidator((value, context = {}) => { + try { + const url = new URL(value); + const { protocol } = getContextNamedArgs(context); + if (protocol && `${protocol}:` !== url.protocol) { + return false; + } + return url.protocol === 'http:' || url.protocol === 'https:'; + } catch { + return false; + } +}); + +const validateBinaryStringValue = createPredicateValidator((value, context = {}) => { + const { length, prefix = '0b' } = getContextNamedArgs(context); + if (!value.startsWith(String(prefix))) { + return false; + } + + const body = value.slice(String(prefix).length); + return /^[01]+$/u.test(body) && validateExactOrRangedLength(body, length); +}); + +const validateHexadecimalStringValue = createPredicateValidator((value, context = {}) => { + const { casing = 'mixed', length, prefix = '0x' } = getContextNamedArgs(context); + if (!value.startsWith(String(prefix))) { + return false; + } + + const body = value.slice(String(prefix).length); + if (body.length === 0 || !validateExactOrRangedLength(body, length)) { + return false; + } + + if (casing === 'upper') { + return /^[0-9A-F]+$/u.test(body); + } + if (casing === 'lower') { + return /^[0-9a-f]+$/u.test(body); + } + return /^[0-9A-Fa-f]+$/u.test(body); +}); + +const validateNumericStringValue = createPredicateValidator((value, context = {}) => { + const { allowLeadingZeros = false, length } = getContextNamedArgs(context); + + if (!/^\d+$/u.test(value) || !validateExactOrRangedLength(value, length)) { + return false; + } + + return allowLeadingZeros === true || value.length <= 1 || !value.startsWith('0'); +}); + +const validateOctalStringValue = createPredicateValidator((value, context = {}) => { + const { length, prefix = '0o' } = getContextNamedArgs(context); + if (!value.startsWith(String(prefix))) { + return false; + } + + const body = value.slice(String(prefix).length); + return /^[0-7]+$/u.test(body) && validateExactOrRangedLength(body, length); +}); + +const validateNanoIdValue = createPredicateValidator((value, context = {}) => { + const { length = 21 } = getContextNamedArgs(context); + return NANOID_REGEX.test(value) && validateExactOrRangedLength(value, length, { minimum: 1 }); +}); + +const validateUlidValue = createPredicateValidator((value) => ULID_REGEX.test(value)); + +const validateUuidValue = createPredicateValidator((value, context = {}) => { + const match = value.match(UUID_REGEX); + if (!match || !UUID_VARIANTS.has(match[2].toLowerCase())) { + return false; + } + + const expectedVersion = getExpectedUuidVersion(context); + if (!expectedVersion) { + return true; + } + + return match[1] === expectedVersion; +}); + +const validateIsbnValue = createPredicateValidator((value, context = {}) => { + const { variant } = getContextNamedArgs(context); + if (variant === 10) { + return passesIsbn10Check(value); + } + if (variant === 13) { + return passesIsbn13Check(value); + } + return passesIsbn10Check(value) || passesIsbn13Check(value); +}); + +const validateUpcValue = createPredicateValidator((value) => passesUpcCheck(value)); + +const validateImeiValue = createPredicateValidator((value) => { + const digits = normalizeDigits(value); + return digits.length === 15 && passesLuhnCheck(digits); +}); + +const validateVinValue = createPredicateValidator((value) => /^[A-HJ-NPR-Z0-9]{17}$/u.test(value)); + +const validateVrmValue = createPredicateValidator((value) => /^[A-Z]{2}\d{2}[A-Z]{3}$/u.test(value)); + +const validateAccountNumberValue = createPredicateValidator((value, context = {}) => { + const { length } = getContextNamedArgs(context); + return /^\d+$/u.test(value) && validateExactOrRangedLength(value, length); +}); + +const validatePinValue = createPredicateValidator((value, context = {}) => { + const { length = 4 } = getContextNamedArgs(context); + return /^\d+$/u.test(value) && validateExactOrRangedLength(value, length); +}); + +const validateCronValue = createPredicateValidator((value) => { + if (CRON_NON_STANDARD_REGEX.test(value)) { + return true; + } + + const fields = value.trim().split(/\s+/u); + if (fields.length !== 5 && fields.length !== 6) { + return false; + } + + return fields.every((field) => CRON_FIELD_REGEX.test(field)); +}); + +function extractEnumValuesFromContext(context = {}) { + const fieldDefinition = getFieldDefinitionFromContext(context); + const explicitEnumValues = Array.isArray(context?.enumValues) ? context.enumValues : []; + if (explicitEnumValues.length > 0) { + return explicitEnumValues.map((entry) => String(entry)); + } + + const candidates = [getContextRuleSpec(context)]; + const sourceType = String(fieldDefinition?.sourceType ?? '') + .trim() + .toLowerCase(); + const command = String(fieldDefinition?.command ?? '') + .trim() + .toLowerCase(); + const params = String(fieldDefinition?.params ?? '').trim(); + const value = String(fieldDefinition?.value ?? '').trim(); + + if (sourceType === 'enum' && value.length > 0) { + candidates.push(`enum(${value.replace(/^\(|\)$/g, '').trim()})`); + candidates.push(value); + } + if (command === 'datatype.enum' && params.length > 0) { + candidates.push(`datatype.enum(${params.replace(/^\(|\)$/g, '').trim()})`); + candidates.push(params); + } + + for (const candidate of candidates) { + const ruleSpec = String(candidate ?? '').trim(); + if (!ruleSpec) { + continue; + } + try { + return EnumParser.extractEnumValues(ruleSpec).map((entry) => String(entry)); + } catch { + // Keep looking until a valid enum source is found. + } + } + + return []; +} + +function validateEnumMemberValue(value, context = {}) { + const enumValues = extractEnumValuesFromContext(context); + if (enumValues.length === 0) { + return false; + } + + const candidate = typeof value === 'string' ? value : String(value); + return enumValues.includes(candidate); +} + +export { + createPredicateValidator, + createRegexValidator, + createStringEnumValidator, + validateAccountNumberValue, + validateAircraftIataTypeCodeValue, + validateAirlineIataCodeValue, + validateAirlineRecordLocatorValue, + validateAirlineSeatValue, + validateAnyValue, + validateArrayOrStringValue, + validateArrayValue, + validateAirportIataCodeValue, + validateBicValue, + validateBinaryStringValue, + validateBooleanValue, + validateBitcoinAddressValue, + validateCountryCodeValue, + validateCounterStringValue, + validateCreditCardCvvValue, + validateCreditCardNumberValue, + validateCronValue, + validateCurrencyCodeValue, + validateCurrencyNumericCodeValue, + validateDateValue, + validateEmailValue, + validateEnumMemberValue, + validateEthereumAddressValue, + validateExampleEmailValue, + validateFlightNumberValue, + validateHexadecimalStringValue, + validateIbanValue, + validateImeiValue, + validateIntegerValue, + validateIpValue, + validateIpv4Value, + validateIpv6Value, + validateIsbnValue, + validateJwtValue, + validateLitecoinAddressValue, + validateLiteralValue, + validateMacAddressValue, + validateMimeTypeValue, + validateMongoObjectIdValue, + validateNanoIdValue, + validateNumberValue, + validateNumericStringValue, + validateObjectValue, + validateOctalStringValue, + validatePinValue, + validateRoutingNumberValue, + validateSemverValue, + validateStringOrNumberOrBooleanValue, + validateStringOrNumberValue, + validateStringValue, + validateTimeZoneValue, + validateUlidValue, + validateUpcValue, + validateUrlValue, + validateUuidValue, + validateVinValue, + validateVrmValue, +}; diff --git a/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js b/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js index ea5842d9..d782a9d4 100644 --- a/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js +++ b/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringOrNumberValue, validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS = [ { keyword: 'autoIncrement.timestamp', @@ -9,15 +11,62 @@ const DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS = [ summary: 'Generates a timestamp that starts from a fixed point and increments by the configured amount for each generated row.', docsUrl: 'https://anywaydata.com/docs/test-data/domain/autoIncrement', - example: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=1, type="seconds")', - examples: [ - 'autoIncrement.timestamp()', - 'autoIncrement.timestamp(start="20/03/1969", step=1, type="days")', - 'autoIncrement.timestamp(start="2026-06-12 12:39:23", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss")', - 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days")', - ], - exampleReturnValues: ['2026-06-12T12:39:23Z', '2026-06-12T12:39:24Z', '2026-06-12T12:39:25Z'], + fakerDocsUrl: '', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=1, type="seconds")', + sampleReturnValue: '2026-06-12T12:39:23Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp()', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp(start="20/03/1969", step=1, type="days")', + sampleReturnValue: '1969-03-20T12:00:00Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: + 'autoIncrement.timestamp(start="2026-06-12 12:39:23", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss")', + sampleReturnValue: '2026-06-12 11:39:23', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days")', + sampleReturnValue: '1969-03-20T00:00:00Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z")', + sampleReturnValue: '2026-06-12T12:39:23Z', + description: 'Shows autoIncrement.timestamp using start.', + }, + { + functionCall: 'autoIncrement.timestamp(step=1)', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp using step.', + }, + { + functionCall: 'autoIncrement.timestamp(type="seconds")', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp using type.', + }, + { + functionCall: 'autoIncrement.timestamp(outputFormat="iso8601")', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp using outputFormat.', + }, + { + functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy")', + sampleReturnValue: '1969-03-20T00:00:00Z', + description: 'Shows autoIncrement.timestamp using inputFormat.', + }, + ], args: [ { name: 'start', @@ -71,14 +120,51 @@ const DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS = [ summary: 'Generates an incrementing sequence. Values only advance when a generated row is accepted, so constraint-filtered rows do not consume sequence numbers.', docsUrl: 'https://anywaydata.com/docs/test-data/auto-increment-sequences', - example: '1', - examples: [ - 'autoIncrement.sequence()', - 'autoIncrement.sequence(start=10, step=5)', - 'autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3)', - ], - exampleReturnValues: ['1', '15', 'filename001.txt'], + fakerDocsUrl: '', + validator: validateStringOrNumberValue, returnType: 'string|number', + usageExamples: [ + { + functionCall: 'autoIncrement.sequence()', + sampleReturnValue: 1, + description: 'Shows autoIncrement.sequence in use.', + }, + { + functionCall: 'autoIncrement.sequence(start=10, step=5)', + sampleReturnValue: 10, + description: 'Shows autoIncrement.sequence in use.', + }, + { + functionCall: 'autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3)', + sampleReturnValue: 'filename001.txt', + description: 'Shows autoIncrement.sequence in use.', + }, + { + functionCall: 'autoIncrement.sequence(start=10)', + sampleReturnValue: 10, + description: 'Shows autoIncrement.sequence using start.', + }, + { + functionCall: 'autoIncrement.sequence(step=5)', + sampleReturnValue: 1, + description: 'Shows autoIncrement.sequence using step.', + }, + { + functionCall: 'autoIncrement.sequence(prefix="filename")', + sampleReturnValue: 'filename1', + description: 'Shows autoIncrement.sequence using prefix.', + }, + { + functionCall: 'autoIncrement.sequence(suffix=".txt")', + sampleReturnValue: '1.txt', + description: 'Shows autoIncrement.sequence using suffix.', + }, + { + functionCall: 'autoIncrement.sequence(zeropadding=3)', + sampleReturnValue: '001', + description: 'Shows autoIncrement.sequence using zeropadding.', + }, + ], args: [ { name: 'start', diff --git a/packages/core/js/domain/domain-custom-literal-keyword-definitions.js b/packages/core/js/domain/domain-custom-literal-keyword-definitions.js index 025f06ef..43c0c2f9 100644 --- a/packages/core/js/domain/domain-custom-literal-keyword-definitions.js +++ b/packages/core/js/domain/domain-custom-literal-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateLiteralValue } from '../command-help/command-help-validators.js'; + const DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS = [ { keyword: 'literal.value', @@ -8,10 +10,31 @@ const DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS = [ help: { summary: 'Return the literal value provided by the caller.', docsUrl: 'https://anywaydata.com/docs/category/generating-data', - example: 'Pending', - examples: ['literal.value("Pending")', 'literal.value("")'], - exampleReturnValues: ['Pending', ''], + fakerDocsUrl: '', + validator: validateLiteralValue, returnType: 'string|number|boolean', + usageExamples: [ + { + functionCall: 'literal.value("Pending")', + sampleReturnValue: 'Pending', + description: 'Shows literal.value in use.', + }, + { + functionCall: 'literal.value("")', + sampleReturnValue: '', + description: 'Shows literal.value in use.', + }, + { + functionCall: 'literal.value()', + sampleReturnValue: '', + description: 'Shows literal.value when optional params are omitted.', + }, + { + functionCall: 'literal.value(value=1)', + sampleReturnValue: 1, + description: 'Shows literal.value using value.', + }, + ], args: [ { name: 'value', diff --git a/packages/core/js/domain/domain-custom-string-keyword-definitions.js b/packages/core/js/domain/domain-custom-string-keyword-definitions.js index 23a0bd5d..f376ff00 100644 --- a/packages/core/js/domain/domain-custom-string-keyword-definitions.js +++ b/packages/core/js/domain/domain-custom-string-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateCounterStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_CUSTOM_STRING_KEYWORD_DEFINITIONS = [ { keyword: 'string.counterString', @@ -9,15 +11,46 @@ const DOMAIN_CUSTOM_STRING_KEYWORD_DEFINITIONS = [ summary: 'Generates a counterstring for a random length between min and max (or fixed length when only one value is provided). Defaults to min=1 and max=25 when omitted.', docsUrl: '/docs/test-data/counterstrings', - example: '*3*5*7*9*12*15*', - examples: [ - 'string.counterString()', - 'string.counterString(15)', - 'string.counterString(min=5, max=12)', - 'string.counterString(min=12, max=12, delimiter="#")', - ], - exampleReturnValues: ['*3*5*7*9*12*15*', '#3#5#7#9#12#'], + fakerDocsUrl: '', + validator: validateCounterStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.counterString()', + sampleReturnValue: '*3*5*7*10*13*', + description: 'Shows string.counterString default from 1 to 25 chars.', + }, + { + functionCall: 'string.counterString(min=15)', + sampleReturnValue: '*3*5*7*9*12*15*', + description: 'Shows string.counterString with a fixed length of 15 chars.', + }, + { + functionCall: 'string.counterString(min=5, max=12)', + sampleReturnValue: '*3*5*7*9*', + description: 'Shows string.counterString with a length between 5 and 12 chars.', + }, + { + functionCall: 'string.counterString(min=12, max=12, delimiter="#")', + sampleReturnValue: '#3#5#7#9#12#', + description: 'Shows string.counterString with a fixed length of 12 chars and a custom delimiter.', + }, + { + functionCall: 'string.counterString(max=10, min=1)', + sampleReturnValue: '2*4*6*', + description: 'Shows string.counterString with a length between 1 and 10 chars.', + }, + { + functionCall: 'string.counterString(max=12)', + sampleReturnValue: '*3*5*7*', + description: 'Shows string.counterString with a length between 1 and 12 chars.', + }, + { + functionCall: 'string.counterString(delimiter="#")', + sampleReturnValue: '#3#5#7#10#13#', + description: 'Shows string.counterString using a custom delimiter and a length between 1 and 25 chars.', + }, + ], args: [ { name: 'min', diff --git a/packages/core/js/domain/domain-doc-markdown.js b/packages/core/js/domain/domain-doc-markdown.js index 9c9f00d5..90301260 100644 --- a/packages/core/js/domain/domain-doc-markdown.js +++ b/packages/core/js/domain/domain-doc-markdown.js @@ -1,8 +1,11 @@ export function toInlineCode(value) { - const text = String(value ?? '') - .replaceAll('\r\n', '\n') - .replaceAll('\r', '\n') - .replaceAll('\n', '\\n'); + const normalizedValue = + typeof value === 'bigint' + ? `${value}n` + : value !== null && typeof value === 'object' + ? JSON.stringify(value) + : String(value); + const text = normalizedValue.replaceAll('\r\n', '\n').replaceAll('\r', '\n').replaceAll('\n', '\\n'); const backtickRuns = text.match(/`+/g) || []; const longestRun = backtickRuns.reduce((max, run) => Math.max(max, run.length), 0); const fence = '`'.repeat(longestRun + 1); diff --git a/packages/core/js/domain/domain-faker-airline-keyword-definitions.js b/packages/core/js/domain/domain-faker-airline-keyword-definitions.js index e1a14c21..5f1912c0 100644 --- a/packages/core/js/domain/domain-faker-airline-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-airline-keyword-definitions.js @@ -1,3 +1,19 @@ +import { + createStringEnumValidator, + validateAircraftIataTypeCodeValue, + validateAirlineIataCodeValue, + validateAirlineRecordLocatorValue, + validateAirlineSeatValue, + validateAirportIataCodeValue, + validateFlightNumberValue, + validateObjectValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; + +const AIRCRAFT_TYPES = ['narrowbody', 'regional', 'widebody']; +const AIRCRAFT_TYPE_RETURN_TYPE = AIRCRAFT_TYPES.join('|'); +const validateAircraftTypeValue = createStringEnumValidator(AIRCRAFT_TYPES); + const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ { keyword: 'airline.aircraftType', @@ -7,9 +23,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random aircraft type.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'regional', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAircraftTypeValue, + returnType: AIRCRAFT_TYPE_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'airline.aircraftType', + sampleReturnValue: 'regional', + description: 'Shows the default airline.aircraftType call.', + }, + ], args: [], }, }, @@ -21,9 +45,20 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a value using faker airline.airline.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: '{"name":"American Airlines","iataCode":"AA"}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'airline.airline', + sampleReturnValue: { + name: 'Flydubai', + iataCode: 'FZ', + }, + description: 'Shows the default airline.airline call.', + }, + ], args: [], }, }, @@ -36,9 +71,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate an airline IATA code.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'AA', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirlineIataCodeValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airline.iataCode', + sampleReturnValue: 'FZ', + description: 'Shows the default airline.airline.iataCode call.', + }, + ], args: [], }, }, @@ -51,9 +94,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate an airline name.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'Acme Air', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airline.name', + sampleReturnValue: 'Flydubai', + description: 'Shows the default airline.airline.name call.', + }, + ], args: [], }, }, @@ -65,9 +116,20 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a value using faker airline.airplane.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: '{"name":"Airbus A320","iataTypeCode":"A320"}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'airline.airplane', + sampleReturnValue: { + name: 'Boeing 747-400D', + iataTypeCode: '74J', + }, + description: 'Shows the default airline.airplane call.', + }, + ], args: [], }, }, @@ -80,9 +142,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate an airplane IATA type code.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'A320', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAircraftIataTypeCodeValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airplane.iataTypeCode', + sampleReturnValue: '74J', + description: 'Shows the default airline.airplane.iataTypeCode call.', + }, + ], args: [], }, }, @@ -95,9 +165,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate an airplane model name.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'Boeing 737', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airplane.name', + sampleReturnValue: 'Boeing 747-400D', + description: 'Shows the default airline.airplane.name call.', + }, + ], args: [], }, }, @@ -109,9 +187,20 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a value using faker airline.airport.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: '{"name":"Heathrow Airport","iataCode":"LHR"}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'airline.airport', + sampleReturnValue: { + name: 'Hurgada International Airport', + iataCode: 'HRG', + }, + description: 'Shows the default airline.airport call.', + }, + ], args: [], }, }, @@ -124,9 +213,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate an airport IATA code.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'LHR', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirportIataCodeValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airport.iataCode', + sampleReturnValue: 'HRG', + description: 'Shows the default airline.airport.iataCode call.', + }, + ], args: [], }, }, @@ -139,9 +236,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate an airport name.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'London Heathrow Airport', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airport.name', + sampleReturnValue: 'Hurgada International Airport', + description: 'Shows the default airline.airport.name call.', + }, + ], args: [], }, }, @@ -154,9 +259,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ help: { summary: 'Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: '1', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateFlightNumberValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.flightNumber', + sampleReturnValue: '70', + description: 'Shows the default airline.flightNumber call.', + }, + ], args: [], }, }, @@ -168,9 +281,17 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random record locator. Record locators are 6-character alphanumeric booking references.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: 'TCSJCN', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirlineRecordLocatorValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.recordLocator', + sampleReturnValue: 'KTAGDC', + description: 'Shows the default airline.recordLocator call.', + }, + ], args: [], }, }, @@ -183,14 +304,31 @@ const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random seat.', - docsUrl: 'https://fakerjs.dev/api/airline', - example: '17F', - examples: ['airline.seat', 'airline.seat(aircraftType="widebody")'], + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirlineSeatValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.seat', + sampleReturnValue: '15E', + description: 'Shows airline.seat in use.', + }, + { + functionCall: 'airline.seat(aircraftType="widebody")', + sampleReturnValue: '26H', + description: 'Shows airline.seat in use.', + }, + { + functionCall: 'airline.seat()', + sampleReturnValue: '15E', + description: 'Shows airline.seat when optional params are omitted.', + }, + ], args: [ { name: 'aircraftType', - type: 'string', + type: AIRCRAFT_TYPE_RETURN_TYPE, required: false, description: 'The aircraft type. Can be one of narrowbody, regional, widebody.', examples: ['widebody'], diff --git a/packages/core/js/domain/domain-faker-animal-keyword-definitions.js b/packages/core/js/domain/domain-faker-animal-keyword-definitions.js index 52f64c81..f24ac70b 100644 --- a/packages/core/js/domain/domain-faker-animal-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-animal-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ { keyword: 'animal.bear', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random bear species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Sloth bear', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.bear', + sampleReturnValue: 'Giant panda', + description: 'Shows the default animal.bear call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random bird species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Orange-crowned Warbler', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.bird', + sampleReturnValue: 'Great-tailed Grackle', + description: 'Shows the default animal.bird call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random cat breed.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Russian Blue', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.cat', + sampleReturnValue: 'Korat', + description: 'Shows the default animal.cat call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random cetacean species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Hector’s Dolphin', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.cetacean', + sampleReturnValue: 'Guiana Dolphin', + description: 'Shows the default animal.cetacean call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random cow species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Aubrac', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.cow', + sampleReturnValue: 'Gascon cattle', + description: 'Shows the default animal.cow call.', + }, + ], args: [], }, }, @@ -77,9 +119,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random crocodilian species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Nile Crocodile', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.crocodilia', + sampleReturnValue: 'Gharial', + description: 'Shows the default animal.crocodilia call.', + }, + ], args: [], }, }, @@ -91,9 +141,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random dog breed.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Jonangi', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.dog', + sampleReturnValue: 'Grand Bleu de Gascogne', + description: 'Shows the default animal.dog call.', + }, + ], args: [], }, }, @@ -105,9 +163,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random fish species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Short mackerel', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.fish', + sampleReturnValue: 'Gazami crab', + description: 'Shows the default animal.fish call.', + }, + ], args: [], }, }, @@ -119,9 +185,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random horse breed.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Rottaler', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.horse', + sampleReturnValue: 'Heihe Horse', + description: 'Shows the default animal.horse call.', + }, + ], args: [], }, }, @@ -133,9 +207,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random insect species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Pigeon tremex', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.insect', + sampleReturnValue: 'Honey bee', + description: 'Shows the default animal.insect call.', + }, + ], args: [], }, }, @@ -147,9 +229,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random lion species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Masai Lion', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.lion', + sampleReturnValue: 'Cape lion', + description: 'Shows the default animal.lion call.', + }, + ], args: [], }, }, @@ -161,9 +251,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random pet name.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Stella', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.petName', + sampleReturnValue: 'Gus', + description: 'Shows the default animal.petName call.', + }, + ], args: [], }, }, @@ -175,9 +273,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random rabbit species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'Californian', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.rabbit', + sampleReturnValue: 'Florida White', + description: 'Shows the default animal.rabbit call.', + }, + ], args: [], }, }, @@ -189,9 +295,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random rodent breed.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: "Natterer's tuco-tuco", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.rodent', + sampleReturnValue: 'Fukomys foxi', + description: 'Shows the default animal.rodent call.', + }, + ], args: [], }, }, @@ -203,9 +317,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random snake species.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'White-lipped python', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.snake', + sampleReturnValue: 'Harlequin coral snake', + description: 'Shows the default animal.snake call.', + }, + ], args: [], }, }, @@ -217,9 +339,17 @@ const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random animal type.', - docsUrl: 'https://fakerjs.dev/api/animal', - example: 'bear', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.type', + sampleReturnValue: 'giraffe', + description: 'Shows the default animal.type call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-book-keyword-definitions.js b/packages/core/js/domain/domain-faker-book-keyword-definitions.js index 67658c84..8c9f7662 100644 --- a/packages/core/js/domain/domain-faker-book-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-book-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ { keyword: 'book.author', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random author name.', - docsUrl: 'https://fakerjs.dev/api/book', - example: 'Jacqueline Crooks', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'book.author', + sampleReturnValue: 'Ian McEwan', + description: 'Shows the default book.author call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random book format.', - docsUrl: 'https://fakerjs.dev/api/book', - example: 'Paperback', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'book.format', + sampleReturnValue: 'Ebook', + description: 'Shows the default book.format call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random genre.', - docsUrl: 'https://fakerjs.dev/api/book', - example: 'Science Fiction', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'book.genre', + sampleReturnValue: 'Graphic Novel', + description: 'Shows the default book.genre call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random publisher.', - docsUrl: 'https://fakerjs.dev/api/book', - example: 'Butterworth-Heinemann', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'book.publisher', + sampleReturnValue: 'Golden Cockerel Press', + description: 'Shows the default book.publisher call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random series.', - docsUrl: 'https://fakerjs.dev/api/book', - example: 'The Inheritance Cycle', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'book.series', + sampleReturnValue: 'The Bartimaeus Trilogy', + description: 'Shows the default book.series call.', + }, + ], args: [], }, }, @@ -77,9 +119,17 @@ const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random title.', - docsUrl: 'https://fakerjs.dev/api/book', - example: 'Animal Farm', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'book.title', + sampleReturnValue: 'Moby Dick', + description: 'Shows the default book.title call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-color-keyword-definitions.js b/packages/core/js/domain/domain-faker-color-keyword-definitions.js index 8998b8ac..f289cb17 100644 --- a/packages/core/js/domain/domain-faker-color-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-color-keyword-definitions.js @@ -1,3 +1,17 @@ +import { + createStringEnumValidator, + validateArrayOrStringValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; +const COLOR_RGB_FORMAT_TYPE = 'hex|decimal|css|binary'; +const COLOR_CASING_TYPE = 'lower|upper|mixed'; +const CSS_SUPPORTED_FUNCTION_RETURN_TYPE = 'rgb|rgba|hsl|hsla|hwb|cmyk|lab|lch|color'; +const CSS_SUPPORTED_SPACE_RETURN_TYPE = 'sRGB|display-p3|rec2020|a98-rgb|prophoto-rgb'; +const validateCssSupportedFunctionValue = createStringEnumValidator(CSS_SUPPORTED_FUNCTION_RETURN_TYPE.split('|')); +const validateCssSupportedSpaceValue = createStringEnumValidator(CSS_SUPPORTED_SPACE_RETURN_TYPE.split('|')); + const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ { keyword: 'color.cmyk', @@ -8,13 +22,26 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a CMYK color.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '[0.95,0.17,0.23,1]', - returnType: 'array', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.cmyk()', + sampleReturnValue: [0.42, 0.72, 0, 0.3], + description: 'Shows color.cmyk when optional params are omitted.', + }, + { + functionCall: 'color.cmyk(format="decimal")', + sampleReturnValue: [0.42, 0.72, 0, 0.3], + description: 'Shows color.cmyk using format.', + }, + ], args: [ { name: 'format', - type: 'string', + type: COLOR_FORMAT_TYPE, required: false, description: 'Format of generated CMYK color.', }, @@ -26,13 +53,45 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ delegate: { type: 'faker', target: 'color.colorByCSSColorSpace', + argTransform: 'optionsFromHelpArgs', }, help: { summary: 'Returns a random color based on CSS color space specified.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '[0.5811,0.0479,0.1091]', - returnType: 'array', - args: [], + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.colorByCSSColorSpace()', + sampleReturnValue: [0.417, 0.7203, 0.0001], + description: 'Shows color.colorByCSSColorSpace when optional params are omitted.', + }, + { + functionCall: 'color.colorByCSSColorSpace(format="decimal")', + sampleReturnValue: [0.417, 0.7203, 0.0001], + description: 'Shows color.colorByCSSColorSpace using format.', + }, + { + functionCall: 'color.colorByCSSColorSpace(space="display-p3")', + sampleReturnValue: [0.417, 0.7203, 0.0001], + description: 'Shows color.colorByCSSColorSpace using space.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated RGB color.', + }, + { + name: 'space', + type: CSS_SUPPORTED_SPACE_RETURN_TYPE, + required: false, + description: 'Color space to generate the color for.', + }, + ], }, }, { @@ -43,9 +102,17 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random css supported color function name.', - docsUrl: 'https://fakerjs.dev/api/color', - example: 'hsla', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateCssSupportedFunctionValue, + returnType: CSS_SUPPORTED_FUNCTION_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'color.cssSupportedFunction', + sampleReturnValue: 'hsla', + description: 'Shows the default color.cssSupportedFunction call.', + }, + ], args: [], }, }, @@ -57,9 +124,17 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random css supported color space name.', - docsUrl: 'https://fakerjs.dev/api/color', - example: 'sRGB', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateCssSupportedSpaceValue, + returnType: CSS_SUPPORTED_SPACE_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'color.cssSupportedSpace', + sampleReturnValue: 'rec2020', + description: 'Shows the default color.cssSupportedSpace call.', + }, + ], args: [], }, }, @@ -72,13 +147,36 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an HSL color.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '[212,0.78,0.54]', - returnType: 'array', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.hsl', + sampleReturnValue: [150, 0.72, 0], + description: 'Shows color.hsl returning the default tuple output.', + }, + { + functionCall: 'color.hsl(format="css")', + sampleReturnValue: 'hsl(150deg 72% 0%)', + description: 'Shows color.hsl returning CSS text without alpha.', + }, + { + functionCall: 'color.hsl(includeAlpha=true)', + sampleReturnValue: [150, 0.72, 0, 0.3], + description: 'Shows color.hsl including alpha while keeping the tuple-style output.', + }, + { + functionCall: 'color.hsl(format="css", includeAlpha=true)', + sampleReturnValue: 'hsl(150deg 72% 0% / 30)', + description: 'Shows color.hsl returning CSS text with alpha included.', + }, + ], args: [ { name: 'format', - type: 'string', + type: COLOR_FORMAT_TYPE, required: false, description: 'Format of generated HSL color.', }, @@ -99,9 +197,17 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random human-readable color name.', - docsUrl: 'https://fakerjs.dev/api/color', - example: 'green', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'color.human', + sampleReturnValue: 'magenta', + description: 'Shows the default color.human call.', + }, + ], args: [], }, }, @@ -114,13 +220,26 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an HWB color.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '[328,0.27,0.33]', - returnType: 'array', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.hwb()', + sampleReturnValue: [150, 0.72, 0], + description: 'Shows color.hwb when optional params are omitted.', + }, + { + functionCall: 'color.hwb(format="decimal")', + sampleReturnValue: [150, 0.72, 0], + description: 'Shows color.hwb using format.', + }, + ], args: [ { name: 'format', - type: 'string', + type: COLOR_FORMAT_TYPE, required: false, description: 'Format of generated RGB color.', }, @@ -136,13 +255,26 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a LAB (CIELAB) color.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '[0.071396,-55.6612,-66.7185]', - returnType: 'array', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.lab()', + sampleReturnValue: [0.417022, 44.0649, -99.9772], + description: 'Shows color.lab when optional params are omitted.', + }, + { + functionCall: 'color.lab(format="decimal")', + sampleReturnValue: [0.417022, 44.0649, -99.9772], + description: 'Shows color.lab using format.', + }, + ], args: [ { name: 'format', - type: 'string', + type: COLOR_FORMAT_TYPE, required: false, description: 'Format of generated RGB color.', }, @@ -158,13 +290,26 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an LCH color.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '[0.469557,212.9,204.9]', - returnType: 'array', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.lch()', + sampleReturnValue: [0.417022, 165.7, 0], + description: 'Shows color.lch when optional params are omitted.', + }, + { + functionCall: 'color.lch(format="decimal")', + sampleReturnValue: [0.417022, 165.7, 0], + description: 'Shows color.lch using format.', + }, + ], args: [ { name: 'format', - type: 'string', + type: COLOR_FORMAT_TYPE, required: false, description: 'Format of generated RGB color.', }, @@ -180,20 +325,48 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an RGB color.', - docsUrl: 'https://fakerjs.dev/api/color', - example: '#ee8222', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.rgb()', + sampleReturnValue: '#9f0632', + description: 'Shows color.rgb when optional params are omitted.', + }, + { + functionCall: 'color.rgb(casing="upper")', + sampleReturnValue: '#9F0632', + description: 'Shows color.rgb using casing.', + }, + { + functionCall: 'color.rgb(format="hex")', + sampleReturnValue: '#9f0632', + description: 'Shows color.rgb using format.', + }, + { + functionCall: 'color.rgb(includeAlpha=true)', + sampleReturnValue: '#9f063247', + description: 'Shows color.rgb using includeAlpha.', + }, + { + functionCall: 'color.rgb(prefix="#")', + sampleReturnValue: '#9f0632', + description: 'Shows color.rgb using prefix.', + }, + ], args: [ { name: 'casing', - type: 'string', + type: COLOR_CASING_TYPE, required: false, description: "Letter type case of the generated hex color. Only applied when 'hex' format is used.", examples: ['upper'], }, { name: 'format', - type: 'string', + type: COLOR_RGB_FORMAT_TYPE, required: false, description: 'Format of generated RGB color.', examples: ['hex'], @@ -223,9 +396,17 @@ const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random color space name from the worldwide accepted color spaces.', - docsUrl: 'https://fakerjs.dev/api/color', - example: 'HSL', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'color.space', + sampleReturnValue: 'HSV', + description: 'Shows the default color.space call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js b/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js index 911a13be..57958753 100644 --- a/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateIsbnValue, validateStringValue, validateUpcValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ { keyword: 'commerce.department', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a department inside a shop.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: 'Tools', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.department', + sampleReturnValue: 'Grocery', + description: 'Shows the default commerce.department call.', + }, + ], args: [], }, }, @@ -22,9 +32,27 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random ISBN identifier.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: '978-1-996134-54-2', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateIsbnValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.isbn()', + sampleReturnValue: '978-0-7031-0133-4', + description: 'Shows commerce.isbn when optional params are omitted.', + }, + { + functionCall: 'commerce.isbn(separator="-")', + sampleReturnValue: '978-0-7031-0133-4', + description: 'Shows commerce.isbn using separator.', + }, + { + functionCall: 'commerce.isbn(variant=10)', + sampleReturnValue: '0-7031-0133-1', + description: 'Shows commerce.isbn using variant.', + }, + ], args: [ { name: 'separator', @@ -34,9 +62,9 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, { name: 'variant', - type: 'string', + type: '10|13', required: false, - description: 'ISBN length variant: use "10" for ISBN-10 or "13" for ISBN-13.', + description: 'ISBN length variant: use 10 for ISBN-10 or 13 for ISBN-13.', }, ], }, @@ -50,10 +78,42 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a price between min and max (inclusive).', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: '797.39', - examples: ['commerce.price(dec=2, max=10, min=1, symbol="$")'], + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.price(dec=2, max=10, min=1, symbol="$")', + sampleReturnValue: '$4.79', + description: 'Shows commerce.price in use.', + }, + { + functionCall: 'commerce.price()', + sampleReturnValue: '417.69', + description: 'Shows commerce.price when optional params are omitted.', + }, + { + functionCall: 'commerce.price(dec=2)', + sampleReturnValue: '417.69', + description: 'Shows commerce.price using dec.', + }, + { + functionCall: 'commerce.price(max=100)', + sampleReturnValue: '42.29', + description: 'Shows commerce.price using max.', + }, + { + functionCall: 'commerce.price(max=10, min=1)', + sampleReturnValue: '4.79', + description: 'Shows commerce.price using min.', + }, + { + functionCall: 'commerce.price(symbol="$")', + sampleReturnValue: '$417.69', + description: 'Shows commerce.price using symbol.', + }, + ], args: [ { name: 'dec', @@ -94,9 +154,17 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a short product name.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: 'Bike', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.product', + sampleReturnValue: 'Gloves', + description: 'Shows the default commerce.product call.', + }, + ], args: [], }, }, @@ -108,9 +176,17 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an adjective describing a product.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: 'Luxurious', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productAdjective', + sampleReturnValue: 'Handmade', + description: 'Shows the default commerce.productAdjective call.', + }, + ], args: [], }, }, @@ -122,9 +198,17 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a product description.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: 'The green Hat combines Colombia aesthetics with Scandium-based durability', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productDescription', + sampleReturnValue: 'New Sausages model with 1 GB RAM, 303 GB storage, and bruised features', + description: 'Shows the default commerce.productDescription call.', + }, + ], args: [], }, }, @@ -136,9 +220,17 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a material of a product.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: 'Steel', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productMaterial', + sampleReturnValue: 'Gold', + description: 'Shows the default commerce.productMaterial call.', + }, + ], args: [], }, }, @@ -150,9 +242,17 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random descriptive product name.', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: 'Soft Bronze Towels', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productName', + sampleReturnValue: 'Handmade Plastic Bacon', + description: 'Shows the default commerce.productName call.', + }, + ], args: [], }, }, @@ -165,9 +265,22 @@ const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a valid UPC-A (12 digits).', - docsUrl: 'https://fakerjs.dev/api/commerce', - example: '036000291452', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateUpcValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.upc()', + sampleReturnValue: '470310133543', + description: 'Shows commerce.upc when optional params are omitted.', + }, + { + functionCall: 'commerce.upc(prefix="01234")', + sampleReturnValue: '012344703103', + description: 'Shows commerce.upc using prefix.', + }, + ], args: [ { name: 'prefix', diff --git a/packages/core/js/domain/domain-faker-company-keyword-definitions.js b/packages/core/js/domain/domain-faker-company-keyword-definitions.js index 4090053f..6732338e 100644 --- a/packages/core/js/domain/domain-faker-company-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-company-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ { keyword: 'company.buzzAdjective', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random buzz adjective that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'out-of-the-box', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzAdjective', + sampleReturnValue: 'immersive', + description: 'Shows the default company.buzzAdjective call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random buzz noun that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'deliverables', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzNoun', + sampleReturnValue: 'interfaces', + description: 'Shows the default company.buzzNoun call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random buzz phrase that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'streamline cutting-edge platforms', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzPhrase', + sampleReturnValue: 'grow robust AI', + description: 'Shows the default company.buzzPhrase call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random buzz verb that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'disintermediate', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzVerb', + sampleReturnValue: 'grow', + description: 'Shows the default company.buzzVerb call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random catch phrase that can be displayed to an end user.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'Diverse AI-powered flexibility', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhrase', + sampleReturnValue: 'Integrated radical ability', + description: 'Shows the default company.catchPhrase call.', + }, + ], args: [], }, }, @@ -77,9 +119,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random catch phrase adjective that can be displayed to an end user.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'Distributed', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhraseAdjective', + sampleReturnValue: 'Integrated', + description: 'Shows the default company.catchPhraseAdjective call.', + }, + ], args: [], }, }, @@ -91,9 +141,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random catch phrase descriptor that can be displayed to an end user.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'encompassing', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhraseDescriptor', + sampleReturnValue: 'heuristic', + description: 'Shows the default company.catchPhraseDescriptor call.', + }, + ], args: [], }, }, @@ -105,9 +163,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random catch phrase noun that can be displayed to an end user.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'attitude', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhraseNoun', + sampleReturnValue: 'generative AI', + description: 'Shows the default company.catchPhraseNoun call.', + }, + ], args: [], }, }, @@ -119,9 +185,17 @@ const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random company name.', - docsUrl: 'https://fakerjs.dev/api/company', - example: 'Lang - Little', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'company.name', + sampleReturnValue: 'Gutmann Group', + description: 'Shows the default company.name call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-database-keyword-definitions.js b/packages/core/js/domain/domain-faker-database-keyword-definitions.js index b4f2f129..a52661f5 100644 --- a/packages/core/js/domain/domain-faker-database-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-database-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateMongoObjectIdValue, validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ { keyword: 'database.collation', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random database collation.', - docsUrl: 'https://fakerjs.dev/api/database', - example: 'utf8_bin', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'database.collation', + sampleReturnValue: 'cp1250_bin', + description: 'Shows the default database.collation call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random database column name.', - docsUrl: 'https://fakerjs.dev/api/database', - example: 'status', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'database.column', + sampleReturnValue: 'group', + description: 'Shows the default database.column call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random database engine.', - docsUrl: 'https://fakerjs.dev/api/database', - example: 'ARCHIVE', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'database.engine', + sampleReturnValue: 'CSV', + description: 'Shows the default database.engine call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a MongoDB ObjectId string.', - docsUrl: 'https://fakerjs.dev/api/database', - example: 'e80bba2ae67c0c7dcc16bd57', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateMongoObjectIdValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'database.mongodbObjectId', + sampleReturnValue: '9f0632478b9f4d0e9c34bf6f', + description: 'Shows the default database.mongodbObjectId call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random database column type.', - docsUrl: 'https://fakerjs.dev/api/database', - example: 'smallint', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'database.type', + sampleReturnValue: 'float', + description: 'Shows the default database.type call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js b/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js index a90e520f..a6ab6fd5 100644 --- a/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateBooleanValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_DATATYPE_KEYWORD_DEFINITIONS = [ { keyword: 'datatype.boolean', @@ -8,9 +10,22 @@ const DOMAIN_FAKER_DATATYPE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns the boolean value true or false.', - docsUrl: 'https://fakerjs.dev/api/datatype', - example: 'true', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/datatype', + fakerDocsUrl: 'https://fakerjs.dev/api/datatype', + validator: validateBooleanValue, returnType: 'boolean', + usageExamples: [ + { + functionCall: 'datatype.boolean()', + sampleReturnValue: true, + description: 'Shows datatype.boolean when optional params are omitted.', + }, + { + functionCall: 'datatype.boolean(probability=0.5)', + sampleReturnValue: true, + description: 'Shows datatype.boolean using probability.', + }, + ], args: [ { name: 'probability', diff --git a/packages/core/js/domain/domain-faker-date-keyword-definitions.js b/packages/core/js/domain/domain-faker-date-keyword-definitions.js index f6690d49..3c73944e 100644 --- a/packages/core/js/domain/domain-faker-date-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-date-keyword-definitions.js @@ -1,3 +1,10 @@ +import { + validateArrayValue, + validateDateValue, + validateStringValue, + validateTimeZoneValue, +} from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ { keyword: 'date.anytime', @@ -8,9 +15,22 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random date that can be either in the past or in the future.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '"2026-12-25T08:55:20.593Z"', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.anytime()', + sampleReturnValue: '2026-04-19T02:08:51.881Z', + description: 'Shows date.anytime when optional params are omitted.', + }, + { + functionCall: 'date.anytime(refDate=1577836800000)', + sampleReturnValue: '2019-11-01T10:13:31.881Z', + description: 'Shows date.anytime using refDate.', + }, + ], args: [ { name: 'refDate', @@ -31,21 +51,34 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random date between the given boundaries.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '2026-01-15T12:34:56.000Z', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.between(from=1577836800000, to=1609372800000)', + sampleReturnValue: '2020-06-01T05:06:45.940Z', + description: 'Shows date.between using explicit from and to timestamps.', + }, + { + functionCall: 'date.between(from=1609459200000, to=1640995200000)', + sampleReturnValue: '2021-06-02T05:06:45.940Z', + description: 'Shows date.between with a different bounded range.', + }, + ], args: [ { name: 'from', type: 'integer', - required: false, + required: true, description: 'Start boundary as a Unix timestamp in milliseconds since epoch.', examples: [1577836800000], }, { name: 'to', type: 'integer', - required: false, + required: true, description: 'End boundary as a Unix timestamp in milliseconds since epoch.', examples: [1609372800000], }, @@ -62,9 +95,32 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ help: { summary: 'Generates random dates between the given boundaries. The dates will be returned in an array sorted in chronological order.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '["2026-01-15T12:34:56.000Z","2026-02-01T09:00:00.000Z"]', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateArrayValue, returnType: 'array', + usageExamples: [ + { + functionCall: 'date.betweens(count=2, from=1577836800000, to=1609372800000)', + sampleReturnValue: ['2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], + description: 'Shows date.betweens returning two sorted dates within a range.', + }, + { + functionCall: 'date.betweens(count=3, from=1609459200000, to=1640995200000)', + sampleReturnValue: ['2021-01-01T01:00:06.924Z', '2021-06-02T05:06:45.940Z', '2021-09-20T22:02:33.225Z'], + description: 'Shows date.betweens using a larger count within a bounded range.', + }, + { + functionCall: 'date.betweens(count=4, from=1640995200000, to=1672531200000)', + sampleReturnValue: [ + '2022-01-01T01:00:06.924Z', + '2022-04-21T08:26:00.010Z', + '2022-06-02T05:06:45.940Z', + '2022-09-20T22:02:33.225Z', + ], + description: 'Shows date.betweens with count, from, and to all supplied explicitly.', + }, + ], args: [ { name: 'count', @@ -76,14 +132,14 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ { name: 'from', type: 'integer', - required: false, + required: true, description: 'Start boundary as a Unix timestamp in milliseconds since epoch.', examples: [1577836800000], }, { name: 'to', type: 'integer', - required: false, + required: true, description: 'End boundary as a Unix timestamp in milliseconds since epoch.', examples: [1609372800000], }, @@ -100,10 +156,42 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ help: { summary: 'Returns a random birthdate. By default, the birthdate is generated for an adult between 18 and 80 years old.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '"1966-09-18T08:47:31.333Z"', - examples: ['date.birthdate(refDate=20000, max=69, min=16, mode="age")'], + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.birthdate(refDate=20000, max=69, min=16, mode="age")', + sampleReturnValue: '1922-07-10T12:11:49.191Z', + description: 'Shows date.birthdate in use.', + }, + { + functionCall: 'date.birthdate()', + sampleReturnValue: '1971-09-27T08:09:14.757Z', + description: 'Shows date.birthdate when optional params are omitted.', + }, + { + functionCall: 'date.birthdate(refDate=1577836800000)', + sampleReturnValue: '1965-04-10T16:13:54.757Z', + description: 'Shows date.birthdate using refDate.', + }, + { + functionCall: 'date.birthdate(max=65)', + sampleReturnValue: '1980-06-25T11:25:42.848Z', + description: 'Shows date.birthdate using max.', + }, + { + functionCall: 'date.birthdate(max=10, min=1)', + sampleReturnValue: '2019-08-20T15:04:00.805Z', + description: 'Shows date.birthdate using min.', + }, + { + functionCall: 'date.birthdate(mode="age")', + sampleReturnValue: '1971-09-27T08:09:14.757Z', + description: 'Shows date.birthdate using mode.', + }, + ], args: [ { name: 'refDate', @@ -128,7 +216,7 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, { name: 'mode', - type: 'string', + type: 'age|year', required: false, description: "Either 'age' or 'year' to generate a birthdate based on the age or year range.", examples: ['age'], @@ -145,9 +233,27 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random date in the future.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '"2027-02-07T18:41:48.525Z"', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.future()', + sampleReturnValue: '2026-11-17T21:02:06.523Z', + description: 'Shows date.future when optional params are omitted.', + }, + { + functionCall: 'date.future(refDate=1577836800000)', + sampleReturnValue: '2020-06-01T05:06:46.523Z', + description: 'Shows date.future using refDate.', + }, + { + functionCall: 'date.future(years=2)', + sampleReturnValue: '2027-04-19T02:08:52.463Z', + description: 'Shows date.future using years.', + }, + ], args: [ { name: 'refDate', @@ -175,9 +281,27 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random name of a month.', - docsUrl: 'https://fakerjs.dev/api/date', - example: 'February', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'date.month()', + sampleReturnValue: 'July', + description: 'Shows date.month when optional params are omitted.', + }, + { + functionCall: 'date.month(abbreviated=true)', + sampleReturnValue: 'Jul', + description: 'Shows date.month using abbreviated.', + }, + { + functionCall: 'date.month(context=true)', + sampleReturnValue: 'July', + description: 'Shows date.month using context.', + }, + ], args: [ { name: 'abbreviated', @@ -204,9 +328,27 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random date in the past.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '"2025-07-01T11:48:55.347Z"', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.past()', + sampleReturnValue: '2025-11-17T21:02:05.523Z', + description: 'Shows date.past when optional params are omitted.', + }, + { + functionCall: 'date.past(refDate=1577836800000)', + sampleReturnValue: '2019-06-02T05:06:45.523Z', + description: 'Shows date.past using refDate.', + }, + { + functionCall: 'date.past(years=2)', + sampleReturnValue: '2025-04-19T02:08:51.463Z', + description: 'Shows date.past using years.', + }, + ], args: [ { name: 'refDate', @@ -234,9 +376,27 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random date in the recent past.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '"2026-04-27T23:46:16.707Z"', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.recent()', + sampleReturnValue: '2026-06-18T01:55:50.284Z', + description: 'Shows date.recent when optional params are omitted.', + }, + { + functionCall: 'date.recent(days=7)', + sampleReturnValue: '2026-06-14T13:58:54.491Z', + description: 'Shows date.recent using days.', + }, + { + functionCall: 'date.recent(refDate=1577836800000)', + sampleReturnValue: '2019-12-31T10:00:30.284Z', + description: 'Shows date.recent using refDate.', + }, + ], args: [ { name: 'days', @@ -264,9 +424,27 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random date in the near future.', - docsUrl: 'https://fakerjs.dev/api/date', - example: '"2026-04-29T11:09:09.211Z"', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, returnType: 'date', + usageExamples: [ + { + functionCall: 'date.soon()', + sampleReturnValue: '2026-06-19T01:55:51.284Z', + description: 'Shows date.soon when optional params are omitted.', + }, + { + functionCall: 'date.soon(days=7)', + sampleReturnValue: '2026-06-21T13:58:55.491Z', + description: 'Shows date.soon using days.', + }, + { + functionCall: 'date.soon(refDate=1577836800000)', + sampleReturnValue: '2020-01-01T10:00:31.284Z', + description: 'Shows date.soon using refDate.', + }, + ], args: [ { name: 'days', @@ -293,9 +471,17 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random IANA time zone relevant to this locale.', - docsUrl: 'https://fakerjs.dev/api/date', - example: 'Europe/Stockholm', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateTimeZoneValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'date.timeZone', + sampleReturnValue: 'America/Santiago', + description: 'Shows the default date.timeZone call.', + }, + ], args: [], }, }, @@ -308,9 +494,27 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random day of the week.', - docsUrl: 'https://fakerjs.dev/api/date', - example: 'Tuesday', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'date.weekday()', + sampleReturnValue: 'Saturday', + description: 'Shows date.weekday when optional params are omitted.', + }, + { + functionCall: 'date.weekday(abbreviated=true)', + sampleReturnValue: 'Sat', + description: 'Shows date.weekday using abbreviated.', + }, + { + functionCall: 'date.weekday(context=true)', + sampleReturnValue: 'Saturday', + description: 'Shows date.weekday using context.', + }, + ], args: [ { name: 'abbreviated', diff --git a/packages/core/js/domain/domain-faker-finance-keyword-definitions.js b/packages/core/js/domain/domain-faker-finance-keyword-definitions.js index 96973f51..c378c83b 100644 --- a/packages/core/js/domain/domain-faker-finance-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-finance-keyword-definitions.js @@ -1,3 +1,23 @@ +import { + validateAccountNumberValue, + validateBicValue, + validateBitcoinAddressValue, + validateCreditCardCvvValue, + validateCreditCardNumberValue, + validateCurrencyCodeValue, + validateCurrencyNumericCodeValue, + validateEthereumAddressValue, + validateIbanValue, + validateLitecoinAddressValue, + validateObjectValue, + validatePinValue, + validateRoutingNumberValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; + +const BITCOIN_ADDRESS_TYPE = 'legacy|segwit|bech32|taproot'; +const BITCOIN_NETWORK_TYPE = 'mainnet|testnet'; + const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ { keyword: 'finance.accountName', @@ -7,9 +27,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random account name.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'Investment Account', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.accountName', + sampleReturnValue: 'Home Loan Account', + description: 'Shows the default finance.accountName call.', + }, + ], args: [], }, }, @@ -21,9 +49,22 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random account number.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '43208795', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateAccountNumberValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.accountNumber()', + sampleReturnValue: '47031013', + description: 'Shows finance.accountNumber when optional params are omitted.', + }, + { + functionCall: 'finance.accountNumber(length=5)', + sampleReturnValue: '47031', + description: 'Shows finance.accountNumber using length.', + }, + ], args: [ { name: 'length', @@ -43,9 +84,42 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random amount between the given bounds (inclusive).', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '536.86', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.amount()', + sampleReturnValue: '417.02', + description: 'Shows finance.amount when optional params are omitted.', + }, + { + functionCall: 'finance.amount(autoFormat=true)', + sampleReturnValue: '417.02', + description: 'Shows finance.amount using autoFormat.', + }, + { + functionCall: 'finance.amount(dec=2)', + sampleReturnValue: '417.02', + description: 'Shows finance.amount using dec.', + }, + { + functionCall: 'finance.amount(max=100)', + sampleReturnValue: '41.70', + description: 'Shows finance.amount using max.', + }, + { + functionCall: 'finance.amount(max=10, min=1)', + sampleReturnValue: '4.75', + description: 'Shows finance.amount using min.', + }, + { + functionCall: 'finance.amount(symbol="$")', + sampleReturnValue: '$417.02', + description: 'Shows finance.amount using symbol.', + }, + ], args: [ { name: 'autoFormat', @@ -94,9 +168,22 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random SWIFT/BIC code based on the ISO-9362 format.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'TXWRPYFT', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateBicValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.bic()', + sampleReturnValue: 'SAHDBI6CJFO', + description: 'Shows finance.bic when optional params are omitted.', + }, + { + functionCall: 'finance.bic(includeBranchCode=true)', + sampleReturnValue: 'KSAHBZ36EJF', + description: 'Shows finance.bic using includeBranchCode.', + }, + ], args: [ { name: 'includeBranchCode', @@ -112,13 +199,47 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ delegate: { type: 'faker', target: 'finance.bitcoinAddress', + argTransform: 'optionsFromHelpArgs', }, help: { summary: 'Generates a random Bitcoin address.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '39fu5Nhnibj2xa8FPVxCbX7y4xZi5SWd', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateBitcoinAddressValue, returnType: 'string', - args: [], + usageExamples: [ + { + functionCall: 'finance.bitcoinAddress()', + sampleReturnValue: '31i96bmpxqFcS2Eqy9cNYjGST53aS6qX', + description: 'Shows finance.bitcoinAddress when optional params are omitted.', + }, + { + functionCall: 'finance.bitcoinAddress(type="bech32")', + sampleReturnValue: 'bc1fr0a536dekfp7w0pfk57tycqww326w4fykqcpu0', + description: 'Shows finance.bitcoinAddress using type.', + }, + { + functionCall: 'finance.bitcoinAddress(network="testnet")', + sampleReturnValue: '21i96bmpxqFcS2Eqy9cNYjGST53aS6qX', + description: 'Shows finance.bitcoinAddress using network.', + }, + ], + args: [ + { + name: 'type', + type: BITCOIN_ADDRESS_TYPE, + required: false, + description: "The bitcoin address type ('legacy', 'segwit', 'bech32' or 'taproot').", + examples: ['bech32'], + }, + { + name: 'network', + type: BITCOIN_NETWORK_TYPE, + required: false, + description: "The bitcoin network ('mainnet' or 'testnet').", + examples: ['testnet'], + }, + ], }, }, { @@ -129,9 +250,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random credit card CVV.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '839', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCreditCardCvvValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.creditCardCVV', + sampleReturnValue: '470', + description: 'Shows the default finance.creditCardCVV call.', + }, + ], args: [], }, }, @@ -143,9 +272,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random credit card issuer.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'jcb', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.creditCardIssuer', + sampleReturnValue: 'discover', + description: 'Shows the default finance.creditCardIssuer call.', + }, + ], args: [], }, }, @@ -157,9 +294,22 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random credit card number.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '6449-4462-4996-7580', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCreditCardNumberValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.creditCardNumber()', + sampleReturnValue: '6503-1013-3546-2805', + description: 'Shows finance.creditCardNumber when optional params are omitted.', + }, + { + functionCall: 'finance.creditCardNumber(issuer="Visa")', + sampleReturnValue: '4703101335466', + description: 'Shows finance.creditCardNumber using issuer.', + }, + ], args: [ { name: 'issuer', @@ -178,9 +328,22 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random currency object, containing `code`, `name`, `symbol`, and `numericCode` properties.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '{"name":"Rial Omani","code":"OMR","symbol":"﷼","numericCode":"512"}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'finance.currency', + sampleReturnValue: { + name: 'Jordanian Dinar', + code: 'JOD', + symbol: '', + numericCode: '400', + }, + description: 'Shows the default finance.currency call.', + }, + ], args: [], }, }, @@ -192,9 +355,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random currency code.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'ISK', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCurrencyCodeValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencyCode', + sampleReturnValue: 'JOD', + description: 'Shows the default finance.currencyCode call.', + }, + ], args: [], }, }, @@ -206,9 +377,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random currency name.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'South Sudanese pound', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencyName', + sampleReturnValue: 'Jordanian Dinar', + description: 'Shows the default finance.currencyName call.', + }, + ], args: [], }, }, @@ -220,9 +399,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random currency numeric code.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '270', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCurrencyNumericCodeValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencyNumericCode', + sampleReturnValue: '400', + description: 'Shows the default finance.currencyNumericCode call.', + }, + ], args: [], }, }, @@ -234,9 +421,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random currency symbol.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '₩', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencySymbol', + sampleReturnValue: 'руб', + description: 'Shows the default finance.currencySymbol call.', + }, + ], args: [], }, }, @@ -248,9 +443,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Creates a random, non-checksum Ethereum address.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '0xf5d385aff27de9dee6eeeffd924ffd7dd2d252ca', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateEthereumAddressValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.ethereumAddress', + sampleReturnValue: '0x9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a', + description: 'Shows the default finance.ethereumAddress call.', + }, + ], args: [], }, }, @@ -263,9 +466,27 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random IBAN.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'CH67001759079BP5WA811', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateIbanValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.iban()', + sampleReturnValue: 'IE39SAHD00454601410936', + description: 'Shows finance.iban when optional params are omitted.', + }, + { + functionCall: 'finance.iban(countryCode="GB")', + sampleReturnValue: 'GB98KSAH00235420410936', + description: 'Shows finance.iban using countryCode.', + }, + { + functionCall: 'finance.iban(formatted=true)', + sampleReturnValue: 'IE39 SAHD 0045 4601 4109 36', + description: 'Shows finance.iban using formatted.', + }, + ], args: [ { name: 'countryCode', @@ -293,9 +514,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random Litecoin address.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'M7nWopfUfSjA8cmGWvuENRLu6GU4C1iTK', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateLitecoinAddressValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.litecoinAddress', + sampleReturnValue: '31i96bmpxqFcS2Eqy9cNYjGST53aS', + description: 'Shows the default finance.litecoinAddress call.', + }, + ], args: [], }, }, @@ -307,9 +536,22 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random PIN number.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '1107', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validatePinValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.pin()', + sampleReturnValue: '4703', + description: 'Shows finance.pin when optional params are omitted.', + }, + { + functionCall: 'finance.pin(length=5)', + sampleReturnValue: '47031', + description: 'Shows finance.pin using length.', + }, + ], args: [ { name: 'length', @@ -328,9 +570,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random routing number.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: '933657999', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateRoutingNumberValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.routingNumber', + sampleReturnValue: '470310139', + description: 'Shows the default finance.routingNumber call.', + }, + ], args: [], }, }, @@ -342,10 +592,18 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random transaction description.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: - 'Transaction alert: deposit at Jones LLC using card ending ****4221 for an amount of GIP 94.88 on account ***3694.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.transactionDescription', + sampleReturnValue: + 'You made a payment of AED 302.33 at Hegmann - Johnston using card ending in ****6280 from account ***6451.', + description: 'Shows the default finance.transactionDescription call.', + }, + ], args: [], }, }, @@ -357,9 +615,17 @@ const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random transaction type.', - docsUrl: 'https://fakerjs.dev/api/finance', - example: 'deposit', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.transactionType', + sampleReturnValue: 'invoice', + description: 'Shows the default finance.transactionType call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-food-keyword-definitions.js b/packages/core/js/domain/domain-faker-food-keyword-definitions.js index a6ccc18a..2188a369 100644 --- a/packages/core/js/domain/domain-faker-food-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-food-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ { keyword: 'food.adjective', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random dish adjective.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'salty', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.adjective', + sampleReturnValue: 'juicy', + description: 'Shows the default food.adjective call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random dish description.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'Fresh mixed greens tossed with pimento-rubbed pigeon, bean shoots, and a light dressing.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.description', + sampleReturnValue: 'An exquisite artichoke dish, paired with brown rice and a hint of cardamom.', + description: 'Shows the default food.description call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random dish name.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'Chicken Fajitas', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.dish', + sampleReturnValue: 'Cinnamon-crusted Chicken', + description: 'Shows the default food.dish call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: "Generates a random food's ethnic category.", - docsUrl: 'https://fakerjs.dev/api/food', - example: 'Lithuanian', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.ethnicCategory', + sampleReturnValue: 'Indonesian', + description: 'Shows the default food.ethnicCategory call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random fruit name.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'snowpea', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.fruit', + sampleReturnValue: 'grapefruit', + description: 'Shows the default food.fruit call.', + }, + ], args: [], }, }, @@ -77,9 +119,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random ingredient name.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'spelt', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.ingredient', + sampleReturnValue: 'green pepper', + description: 'Shows the default food.ingredient call.', + }, + ], args: [], }, }, @@ -91,9 +141,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random meat', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'goose', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.meat', + sampleReturnValue: 'kangaroo', + description: 'Shows the default food.meat call.', + }, + ], args: [], }, }, @@ -105,9 +163,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random spice name.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'poudre de colombo', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.spice', + sampleReturnValue: 'fines herbes', + description: 'Shows the default food.spice call.', + }, + ], args: [], }, }, @@ -119,9 +185,17 @@ const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random vegetable name.', - docsUrl: 'https://fakerjs.dev/api/food', - example: 'snowpea sprouts', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'food.vegetable', + sampleReturnValue: 'eggplant', + description: 'Shows the default food.vegetable call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-git-keyword-definitions.js b/packages/core/js/domain/domain-faker-git-keyword-definitions.js index 92c1a2b4..92bffb1f 100644 --- a/packages/core/js/domain/domain-faker-git-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-git-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ { keyword: 'git.branch', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random branch name.', - docsUrl: 'https://fakerjs.dev/api/git', - example: 'array-compress', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'git.branch', + sampleReturnValue: 'firewall-parse', + description: 'Shows the default git.branch call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a date string for a git commit using the same format as `git log`.', - docsUrl: 'https://fakerjs.dev/api/git', - example: 'Tue Apr 28 04:28:58 2026 -0600', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitDate', + sampleReturnValue: 'Thu Jun 18 01:55:50 2026 +0600', + description: 'Shows the default git.commitDate call.', + }, + ], args: [], }, }, @@ -35,9 +53,22 @@ const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random commit entry as printed by `git log`.', - docsUrl: 'https://fakerjs.dev/api/git', - example: 'commit 4f9a2d1c Author: Alex Example Date: Tue May 19 2026', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitEntry', + sampleReturnValue: + 'commit f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0af\r\n' + + 'Author: Ricardo Upton \r\n' + + 'Date: Wed Jun 17 19:26:37 2026 +0300\r\n' + + '\r\n' + + '    parse auxiliary feed\r\n', + description: 'Shows the default git.commitEntry call.', + }, + ], args: [], }, }, @@ -49,9 +80,17 @@ const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random commit message.', - docsUrl: 'https://fakerjs.dev/api/git', - example: 'reboot cross-platform system', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitMessage', + sampleReturnValue: 'hack optical alarm', + description: 'Shows the default git.commitMessage call.', + }, + ], args: [], }, }, @@ -63,9 +102,17 @@ const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random commit sha.', - docsUrl: 'https://fakerjs.dev/api/git', - example: '3418f0e64e8eae52ebd67b11d98e571fd6a81017', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitSha', + sampleReturnValue: '9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a', + description: 'Shows the default git.commitSha call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js b/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js index ec24f204..ddeacc86 100644 --- a/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ { keyword: 'hacker.abbreviation', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random hacker/IT abbreviation.', - docsUrl: 'https://fakerjs.dev/api/hacker', - example: 'GB', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.abbreviation', + sampleReturnValue: 'IP', + description: 'Shows the default hacker.abbreviation call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random hacker/IT adjective.', - docsUrl: 'https://fakerjs.dev/api/hacker', - example: 'bluetooth', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.adjective', + sampleReturnValue: 'mobile', + description: 'Shows the default hacker.adjective call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random hacker/IT verb for continuous actions (en: ing suffix; e.g. hacking).', - docsUrl: 'https://fakerjs.dev/api/hacker', - example: 'synthesizing', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.ingverb', + sampleReturnValue: 'generating', + description: 'Shows the default hacker.ingverb call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random hacker/IT noun.', - docsUrl: 'https://fakerjs.dev/api/hacker', - example: 'program', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.noun', + sampleReturnValue: 'firewall', + description: 'Shows the default hacker.noun call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random hacker/IT phrase.', - docsUrl: 'https://fakerjs.dev/api/hacker', - example: "compressing the application won't do anything, we need to reboot the neural JSON hard drive!", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.phrase', + sampleReturnValue: 'Try to back up the COM bus, maybe it will hack the mobile bus!', + description: 'Shows the default hacker.phrase call.', + }, + ], args: [], }, }, @@ -77,9 +119,17 @@ const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random hacker/IT verb.', - docsUrl: 'https://fakerjs.dev/api/hacker', - example: 'program', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.verb', + sampleReturnValue: 'hack', + description: 'Shows the default hacker.verb call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-image-keyword-definitions.js b/packages/core/js/domain/domain-faker-image-keyword-definitions.js index 025ab4fe..15c70262 100644 --- a/packages/core/js/domain/domain-faker-image-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-image-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ { keyword: 'image.avatar', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random avatar image url.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'https://avatars.githubusercontent.com/u/2389220', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'image.avatar', + sampleReturnValue: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/0.jpg', + description: 'Shows the default image.avatar call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random avatar from GitHub.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'https://avatars.githubusercontent.com/u/22969292', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'image.avatarGitHub', + sampleReturnValue: 'https://avatars.githubusercontent.com/u/41702200', + description: 'Shows the default image.avatarGitHub call.', + }, + ], args: [], }, }, @@ -35,9 +53,18 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random data uri containing an URL-encoded SVG image or a Base64-encoded SVG image.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciLz4=', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'image.dataUri', + sampleReturnValue: + 'data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%221668%22%20height%3D%222881%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22%23063247%22%2F%3E%3Ctext%20x%3D%22834%22%20y%3D%221440.5%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E1668x2881%3C%2Ftext%3E%3C%2Fsvg%3E', + description: 'Shows the default image.dataUri call.', + }, + ], args: [], }, }, @@ -49,9 +76,17 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random square portrait (avatar) of a person.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/99.jpg', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'image.personPortrait', + sampleReturnValue: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/72.jpg', + description: 'Shows the default image.personPortrait call.', + }, + ], args: [], }, }, @@ -64,9 +99,27 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random image url.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'https://loremflickr.com/3255/509?lock=5223276893828872', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'image.url()', + sampleReturnValue: 'https://picsum.photos/seed/i95bl/1668/2881', + description: 'Shows image.url when optional params are omitted.', + }, + { + functionCall: 'image.url(height=1)', + sampleReturnValue: 'https://picsum.photos/seed/0i95bloxp/1668/1', + description: 'Shows image.url using height.', + }, + { + functionCall: 'image.url(width=1)', + sampleReturnValue: 'https://picsum.photos/seed/0i95bloxp/1/1668', + description: 'Shows image.url using width.', + }, + ], args: [ { name: 'height', @@ -83,20 +136,6 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ ], }, }, - { - keyword: 'image.urlLoremFlickr', - delegate: { - type: 'faker', - target: 'image.urlLoremFlickr', - }, - help: { - summary: 'Generates a random image url provided via https://loremflickr.com.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'https://loremflickr.com/3966/3602?lock=6417693540486546', - returnType: 'string', - args: [], - }, - }, { keyword: 'image.urlPicsumPhotos', delegate: { @@ -105,9 +144,17 @@ const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random image url provided via https://picsum.photos.', - docsUrl: 'https://fakerjs.dev/api/image', - example: 'https://picsum.photos/seed/UBLQun43/2068/162?blur=8', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'image.urlPicsumPhotos', + sampleReturnValue: 'https://picsum.photos/seed/5blox/1668/2881?grayscale&blur=3', + description: 'Shows the default image.urlPicsumPhotos call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-internet-keyword-definitions.js b/packages/core/js/domain/domain-faker-internet-keyword-definitions.js index 8d4fadb8..5d7d7d87 100644 --- a/packages/core/js/domain/domain-faker-internet-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-internet-keyword-definitions.js @@ -1,3 +1,27 @@ +import { + createStringEnumValidator, + validateEmailValue, + validateExampleEmailValue, + validateIpValue, + validateIpv4Value, + validateIpv6Value, + validateJwtValue, + validateMacAddressValue, + validateNumberValue, + validateStringValue, + validateUrlValue, +} from '../command-help/command-help-validators.js'; + +const HTTP_METHOD_RETURN_TYPE = 'GET|POST|PUT|DELETE|PATCH'; +const HTTP_PROTOCOL_RETURN_TYPE = 'http|https'; +const IPV4_NETWORK_TYPE = + 'any|loopback|private-a|private-b|private-c|test-net-1|test-net-2|test-net-3|link-local|multicast'; +const MAC_SEPARATOR_TYPE = '":"|"-"|""'; +const JWT_ALGORITHM_RETURN_TYPE = 'ES256|ES384|ES512|HS256|HS384|HS512|PS256|PS384|PS512|RS256|RS384|RS512|none'; +const validateHttpMethodValue = createStringEnumValidator(HTTP_METHOD_RETURN_TYPE.split('|')); +const validateProtocolValue = createStringEnumValidator(HTTP_PROTOCOL_RETURN_TYPE.split('|')); +const validateJwtAlgorithmValue = createStringEnumValidator(JWT_ALGORITHM_RETURN_TYPE.split('|')); + const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ { keyword: 'internet.displayName', @@ -7,9 +31,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: "Generates a display name using the given person's name as base.", - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'Cordell0', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.displayName', + sampleReturnValue: 'Aaliyah.Bosco', + description: 'Shows the default internet.displayName call.', + }, + ], args: [], }, }, @@ -21,9 +53,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random domain name.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'beloved-peony.org', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.domainName', + sampleReturnValue: 'inferior-punctuation.biz', + description: 'Shows the default internet.domainName call.', + }, + ], args: [], }, }, @@ -35,9 +75,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random domain suffix.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'com', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.domainSuffix', + sampleReturnValue: 'info', + description: 'Shows the default internet.domainSuffix call.', + }, + ], args: [], }, }, @@ -49,9 +97,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random domain word.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'inexperienced-ravioli', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.domainWord', + sampleReturnValue: 'inferior-punctuation', + description: 'Shows the default internet.domainWord call.', + }, + ], args: [], }, }, @@ -64,9 +120,37 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates data using faker internet email.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'Jana91@hotmail.com', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateEmailValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.email()', + sampleReturnValue: 'Edwin.Dibbert@hotmail.com', + description: 'Shows internet.email when optional params are omitted.', + }, + { + functionCall: 'internet.email(allowSpecialCharacters=true)', + sampleReturnValue: 'Edwin.Dibbert@hotmail.com', + description: 'Shows internet.email using allowSpecialCharacters.', + }, + { + functionCall: 'internet.email(firstName="Ada")', + sampleReturnValue: 'Ada.Gutmann9@hotmail.com', + description: 'Shows internet.email using firstName.', + }, + { + functionCall: 'internet.email(lastName="Lovelace")', + sampleReturnValue: 'Edwin.Lovelace9@hotmail.com', + description: 'Shows internet.email using lastName.', + }, + { + functionCall: 'internet.email(provider="example.com")', + sampleReturnValue: 'Aaliyah.Bosco@example.com', + description: 'Shows internet.email using provider.', + }, + ], args: [ { name: 'allowSpecialCharacters', @@ -105,9 +189,22 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random emoji.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: '🤨', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.emoji()', + sampleReturnValue: '🥣', + description: 'Shows internet.emoji when optional params are omitted.', + }, + { + functionCall: 'internet.emoji(types=["food"])', + sampleReturnValue: '🍲', + description: 'Shows internet.emoji using types.', + }, + ], args: [ { name: 'types', @@ -127,9 +224,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates data using faker internet example email.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'Jeremie37@example.net', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateExampleEmailValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.exampleEmail', + sampleReturnValue: 'Edwin.Dibbert@example.net', + description: 'Shows the default internet.exampleEmail call.', + }, + ], args: [], }, }, @@ -141,9 +246,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random http method.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'PATCH', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateHttpMethodValue, + returnType: HTTP_METHOD_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.httpMethod', + sampleReturnValue: 'PUT', + description: 'Shows the default internet.httpMethod call.', + }, + ], args: [], }, }, @@ -155,9 +268,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random HTTP status code.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: '303', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateNumberValue, returnType: 'number', + usageExamples: [ + { + functionCall: 'internet.httpStatusCode', + sampleReturnValue: 306, + description: 'Shows the default internet.httpStatusCode call.', + }, + ], args: [], }, }, @@ -169,9 +290,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random IPv4 or IPv6 address.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: '56.23.30.52', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateIpValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.ip', + sampleReturnValue: '184.103.47.157', + description: 'Shows the default internet.ip call.', + }, + ], args: [], }, }, @@ -184,9 +313,27 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random IPv4 address.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: '192.168.0.42', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateIpv4Value, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.ipv4()', + sampleReturnValue: '106.193.244.63', + description: 'Shows internet.ipv4 when optional params are omitted.', + }, + { + functionCall: 'internet.ipv4(cidrBlock="192.168.0.0/24")', + sampleReturnValue: '192.168.0.106', + description: 'Shows internet.ipv4 using cidrBlock.', + }, + { + functionCall: 'internet.ipv4(network="private-a")', + sampleReturnValue: '10.106.193.244', + description: 'Shows internet.ipv4 using network.', + }, + ], args: [ { name: 'cidrBlock', @@ -197,7 +344,7 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, { name: 'network', - type: 'string', + type: IPV4_NETWORK_TYPE, required: false, description: 'The optional network to use. This is intended as an alias for well-known cidrBlocks.', examples: ['private-a'], @@ -213,9 +360,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random IPv6 address.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: '2001:0db8:85a3:0000:0000:8a2e:0370:7334', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateIpv6Value, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.ipv6', + sampleReturnValue: '9f06:3247:8b9f:4d0e:9c34:bf6f:dd10:3d29', + description: 'Shows the default internet.ipv6 call.', + }, + ], args: [], }, }, @@ -228,9 +383,36 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random JWT (JSON Web Token).', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJBY21lIn0.c2lnbmF0dXJl', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateJwtValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.jwt()', + sampleReturnValue: + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTc0Nzc2MSwibmJmIjoxNzY5MzMwODQwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u', + description: 'Shows internet.jwt when optional params are omitted.', + }, + { + functionCall: 'internet.jwt(header={"value":"sample"})', + sampleReturnValue: + 'eyJ2YWx1ZSI6InNhbXBsZSJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTgwOTk4NywibmJmIjoxNzUwMjY5MzM0LCJpc3MiOiJEaWJiZXJ0IC0gTGluZCIsInN1YiI6IjZhM2UwYTY4LTIzY2YtNDViZS1iZTEwLTJlMTZmOGI1YWQwYyIsImF1ZCI6ImI0YzE3ZTQ0LTIwYTMtNDQ3MC04OTI5LWIxNmI2MDhhOGY5ZSIsImp0aSI6IjJjNjJlNWNiLWU5YzUtNDRlNi1iZmE5LTFmNzk2M2U5MDk1OCJ9.mUC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914', + description: 'Shows internet.jwt using header.', + }, + { + functionCall: 'internet.jwt(payload={"value":"sample"})', + sampleReturnValue: + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2YWx1ZSI6InNhbXBsZSJ9.0i95bloxpGcS1Fpy8cNYjGST52aS6qXxGjGP1KZKhM6rUih81Gdgu3z9AH6pHp3x', + description: 'Shows internet.jwt using payload.', + }, + { + functionCall: 'internet.jwt(refDate=1718755200000)', + sampleReturnValue: + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTg3MDQ4MzAsImV4cCI6MTcxODcwNDg0MSwibmJmIjoxNzA2Mjg3OTIwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u', + description: 'Shows internet.jwt using refDate.', + }, + ], args: [ { name: 'header', @@ -261,9 +443,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random JWT (JSON Web Token) Algorithm.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'PS384', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateJwtAlgorithmValue, + returnType: JWT_ALGORITHM_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.jwtAlgorithm', + sampleReturnValue: 'HS512', + description: 'Shows the default internet.jwtAlgorithm call.', + }, + ], args: [], }, }, @@ -276,13 +466,26 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random mac address.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'ae:a9:d7:ba:d2:bd', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateMacAddressValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.mac()', + sampleReturnValue: '6b:04:21:25:68:6a', + description: 'Shows internet.mac when optional params are omitted.', + }, + { + functionCall: 'internet.mac(separator="-")', + sampleReturnValue: '6b-04-21-25-68-6a', + description: 'Shows internet.mac using separator.', + }, + ], args: [ { name: 'separator', - type: 'string', + type: MAC_SEPARATOR_TYPE, required: false, description: "The optional separator to use. Can be either ':', '-' or ''.", }, @@ -299,10 +502,52 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ help: { summary: 'Generates a random password-like string. Do not use this method for generating actual passwords for users.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'og1ejoksrfwVbIF', - examples: ['internet.password(length=10, memorable=false, pattern="[A-Za-z0-9]", prefix="#")'], + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.password()', + sampleReturnValue: 'He2AFTHb4tHV3mb', + description: 'Shows internet.password with all optional params omitted.', + }, + { + functionCall: 'internet.password(length=12)', + sampleReturnValue: 'He2AFTHb4tHV', + description: 'Shows internet.password using only a custom length.', + }, + { + functionCall: 'internet.password(memorable=true)', + sampleReturnValue: 'hefutisawetikub', + description: 'Shows internet.password using only the memorable flag.', + }, + { + functionCall: 'internet.password(length=12, memorable=true)', + sampleReturnValue: 'hefutisaweti', + description: 'Shows internet.password generating a memorable password-like string.', + }, + { + functionCall: 'internet.password(pattern="[A-Z]")', + sampleReturnValue: 'HAFTHHVISKOWXHH', + description: 'Shows internet.password constrained only by a regex-style pattern.', + }, + { + functionCall: 'internet.password(length=12, memorable=false, pattern="[A-Z]")', + sampleReturnValue: 'HAFTHHVISKOW', + description: 'Shows internet.password constrained by a regex-style pattern.', + }, + { + functionCall: 'internet.password(prefix="#")', + sampleReturnValue: '#He2AFTHb4tHV3m', + description: 'Shows internet.password using only the prefix option.', + }, + { + functionCall: 'internet.password(length=12, memorable=false, pattern="[A-Z]", prefix="#")', + sampleReturnValue: '#HAFTHHVISKO', + description: 'Shows internet.password using length, pattern, and prefix together.', + }, + ], args: [ { name: 'length', @@ -343,9 +588,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random port number.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: '24545', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateNumberValue, returnType: 'number', + usageExamples: [ + { + functionCall: 'internet.port', + sampleReturnValue: 27329, + description: 'Shows the default internet.port call.', + }, + ], args: [], }, }, @@ -357,9 +610,17 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random web protocol. Either `http` or `https`.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'http', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateProtocolValue, + returnType: HTTP_PROTOCOL_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.protocol', + sampleReturnValue: 'http', + description: 'Shows the default internet.protocol call.', + }, + ], args: [], }, }, @@ -372,9 +633,27 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random http(s) url.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'https://brave-interior.biz/', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateUrlValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.url()', + sampleReturnValue: 'https://self-reliant-cd.com/', + description: 'Shows internet.url when optional params are omitted.', + }, + { + functionCall: 'internet.url(appendSlash=true)', + sampleReturnValue: 'https://inferior-punctuation.biz/', + description: 'Shows internet.url using appendSlash.', + }, + { + functionCall: 'internet.url(protocol="https")', + sampleReturnValue: 'https://self-reliant-cd.com/', + description: 'Shows internet.url using protocol.', + }, + ], args: [ { name: 'appendSlash', @@ -384,7 +663,7 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, { name: 'protocol', - type: 'string', + type: HTTP_PROTOCOL_RETURN_TYPE, required: false, description: 'The protocol to use.', }, @@ -399,9 +678,18 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random user agent string.', - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.userAgent', + sampleReturnValue: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/586.0.30 (KHTML, like Gecko) Version/16.1 Safari/546.9.18', + description: 'Shows the default internet.userAgent call.', + }, + ], args: [], }, }, @@ -414,9 +702,27 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: "Generates a username using the given person's name as base.", - docsUrl: 'https://fakerjs.dev/api/internet', - example: 'Deanna51', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.username()', + sampleReturnValue: 'Aaliyah.Bosco', + description: 'Shows internet.username when optional params are omitted.', + }, + { + functionCall: 'internet.username(firstName="Ada")', + sampleReturnValue: 'Ada.Abbott14', + description: 'Shows internet.username using firstName.', + }, + { + functionCall: 'internet.username(lastName="Lovelace")', + sampleReturnValue: 'Aaliyah.Lovelace14', + description: 'Shows internet.username using lastName.', + }, + ], args: [ { name: 'firstName', diff --git a/packages/core/js/domain/domain-faker-location-keyword-definitions.js b/packages/core/js/domain/domain-faker-location-keyword-definitions.js index 9f02b5b2..13ab7287 100644 --- a/packages/core/js/domain/domain-faker-location-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-location-keyword-definitions.js @@ -1,3 +1,12 @@ +import { + validateArrayValue, + validateCountryCodeValue, + validateNumberValue, + validateObjectValue, + validateStringValue, + validateTimeZoneValue, +} from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ { keyword: 'location.buildingNumber', @@ -7,9 +16,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random building number.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '5075', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.buildingNumber', + sampleReturnValue: '7031', + description: 'Shows the default location.buildingNumber call.', + }, + ], args: [], }, }, @@ -21,9 +38,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random cardinal direction (north, east, south, west).', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'East', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.cardinalDirection', + sampleReturnValue: 'East', + description: 'Shows the default location.cardinalDirection call.', + }, + ], args: [], }, }, @@ -35,9 +60,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random localized city name.', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Stellachester', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.city', + sampleReturnValue: 'Edwinville', + description: 'Shows the default location.city call.', + }, + ], args: [], }, }, @@ -49,9 +82,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random continent name.', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Asia', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.continent', + sampleReturnValue: 'Asia', + description: 'Shows the default location.continent call.', + }, + ], args: [], }, }, @@ -63,9 +104,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random country name.', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Svalbard & Jan Mayen Islands', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.country', + sampleReturnValue: 'India', + description: 'Shows the default location.country call.', + }, + ], args: [], }, }, @@ -74,13 +123,36 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ delegate: { type: 'faker', target: 'location.countryCode', + argTransform: 'optionsFromHelpArgs', }, help: { summary: 'Returns a random ISO_3166-1 country code.', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'MG', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateCountryCodeValue, returnType: 'string', - args: [], + usageExamples: [ + { + functionCall: 'location.countryCode()', + sampleReturnValue: 'IM', + description: 'Shows location.countryCode when optional params are omitted.', + }, + { + functionCall: 'location.countryCode(variant="alpha-3")', + sampleReturnValue: 'IMN', + description: 'Shows location.countryCode using variant.', + }, + ], + args: [ + { + name: 'variant', + type: 'alpha-2|alpha-3|numeric', + required: false, + description: + "The code to return. Can be either 'alpha-2' (two-letter code), 'alpha-3' (three-letter code) or 'numeric' (numeric code).", + examples: ['alpha-3'], + }, + ], }, }, { @@ -92,9 +164,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ help: { summary: "Returns a random localized county, or other equivalent second-level administrative entity for the locale's country such as a district or department.", - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Northamptonshire', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.county', + sampleReturnValue: 'Cleveland', + description: 'Shows the default location.county call.', + }, + ], args: [], }, }, @@ -107,9 +187,22 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random direction (cardinal and ordinal; northwest, east, etc).', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'North', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.direction()', + sampleReturnValue: 'West', + description: 'Shows location.direction when optional params are omitted.', + }, + { + functionCall: 'location.direction(abbreviated=true)', + sampleReturnValue: 'W', + description: 'Shows location.direction using abbreviated.', + }, + ], args: [ { name: 'abbreviated', @@ -129,9 +222,21 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random spoken language.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '{"name":"Icelandic","alpha2":"is","alpha3":"isl"}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'location.language', + sampleReturnValue: { + name: 'Punjabi', + alpha2: 'pa', + alpha3: 'pan', + }, + description: 'Shows the default location.language call.', + }, + ], args: [], }, }, @@ -144,9 +249,32 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random latitude.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '51.5448', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateNumberValue, returnType: 'number', + usageExamples: [ + { + functionCall: 'location.latitude()', + sampleReturnValue: -14.936, + description: 'Shows location.latitude when optional params are omitted.', + }, + { + functionCall: 'location.latitude(max=10, min=1)', + sampleReturnValue: 4.7532, + description: 'Shows location.latitude using min.', + }, + { + functionCall: 'location.latitude(max=5)', + sampleReturnValue: -50.3829, + description: 'Shows location.latitude using max.', + }, + { + functionCall: 'location.latitude(precision=1)', + sampleReturnValue: -14.9, + description: 'Shows location.latitude using precision.', + }, + ], args: [ { name: 'min', @@ -178,9 +306,32 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random longitude.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '92.3892', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateNumberValue, returnType: 'number', + usageExamples: [ + { + functionCall: 'location.longitude()', + sampleReturnValue: -29.8721, + description: 'Shows location.longitude when optional params are omitted.', + }, + { + functionCall: 'location.longitude(max=10, min=1)', + sampleReturnValue: 4.7532, + description: 'Shows location.longitude using min.', + }, + { + functionCall: 'location.longitude(max=5)', + sampleReturnValue: -102.8509, + description: 'Shows location.longitude using max.', + }, + { + functionCall: 'location.longitude(precision=1)', + sampleReturnValue: -29.9, + description: 'Shows location.longitude using precision.', + }, + ], args: [ { name: 'min', @@ -211,9 +362,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random GPS coordinate within the specified radius from the given coordinate.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '[58.313,9.9746]', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateArrayValue, returnType: 'array', + usageExamples: [ + { + functionCall: 'location.nearbyGPSCoordinate', + sampleReturnValue: [-14.936, 79.3168], + description: 'Shows the default location.nearbyGPSCoordinate call.', + }, + ], args: [], }, }, @@ -225,9 +384,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random ordinal direction (northwest, southeast, etc).', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Northeast', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.ordinalDirection', + sampleReturnValue: 'Northwest', + description: 'Shows the default location.ordinalDirection call.', + }, + ], args: [], }, }, @@ -239,9 +406,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random localized secondary address. This refers to a specific location at a given address', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Suite 634', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.secondaryAddress', + sampleReturnValue: 'Apt. 703', + description: 'Shows the default location.secondaryAddress call.', + }, + ], args: [], }, }, @@ -255,9 +430,22 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ help: { summary: "Returns a random localized state, or other equivalent first-level administrative entity for the locale's country such as a province or region.", - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Hawaii', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.state()', + sampleReturnValue: 'Massachusetts', + description: 'Shows location.state when optional params are omitted.', + }, + { + functionCall: 'location.state(abbreviated=true)', + sampleReturnValue: 'MA', + description: 'Shows location.state using abbreviated.', + }, + ], args: [ { name: 'abbreviated', @@ -277,9 +465,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random localized street name.', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Viva Harbor', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.street', + sampleReturnValue: 'Gutmann Creek', + description: 'Shows the default location.street call.', + }, + ], args: [], }, }, @@ -292,9 +488,22 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random localized street address.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '12056 Vandervort Common', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.streetAddress()', + sampleReturnValue: '7031 Iris Mill', + description: 'Shows location.streetAddress when optional params are omitted.', + }, + { + functionCall: 'location.streetAddress(useFullAddress=true)', + sampleReturnValue: '7031 Iris Mill Apt. 728', + description: 'Shows location.streetAddress using useFullAddress.', + }, + ], args: [ { name: 'useFullAddress', @@ -313,9 +522,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random IANA time zone name.', - docsUrl: 'https://fakerjs.dev/api/location', - example: 'Australia/Perth', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateTimeZoneValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.timeZone', + sampleReturnValue: 'America/Santiago', + description: 'Shows the default location.timeZone call.', + }, + ], args: [], }, }, @@ -327,9 +544,17 @@ const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates data using faker location zip code.', - docsUrl: 'https://fakerjs.dev/api/location', - example: '36791', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'location.zipCode', + sampleReturnValue: '70310', + description: 'Shows the default location.zipCode call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js b/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js index d6e94fde..cb5bb614 100644 --- a/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js @@ -1,3 +1,7 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + +const LOREM_WORD_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ { keyword: 'lorem.lines', @@ -7,9 +11,57 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: "Generates the given number lines of lorem separated by `'\\n'`.", - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'Illum qui ocer creptio. Antepono aro vergo voluptatem acervus compono apud.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.lines()', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines when optional params are omitted.', + }, + { + functionCall: 'lorem.lines(max=10, min=1)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.lines using min.', + }, + { + functionCall: 'lorem.lines(max=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using max.', + }, + { + functionCall: 'lorem.lines(lineCount=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using lineCount.', + }, + { + functionCall: 'lorem.lines(lineCountMax=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using lineCountMax.', + }, + { + functionCall: 'lorem.lines(lineCountMin=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using lineCountMin.', + }, + ], args: [ { name: 'min', @@ -52,9 +104,47 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a paragraph with the given number of sentences.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'Quisquam dolorum modi quae atque.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.paragraph()', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph when optional params are omitted.', + }, + { + functionCall: 'lorem.paragraph(max=10, min=1)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.paragraph using min.', + }, + { + functionCall: 'lorem.paragraph(max=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using max.', + }, + { + functionCall: 'lorem.paragraph(sentenceCount=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using sentenceCount.', + }, + { + functionCall: 'lorem.paragraph(sentenceCountMax=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using sentenceCountMax.', + }, + { + functionCall: 'lorem.paragraph(sentenceCountMin=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using sentenceCountMin.', + }, + ], args: [ { name: 'min', @@ -97,9 +187,64 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates the given number of paragraphs.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'Primus paragraphus.\n\nSecundus paragraphus.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.paragraphs()', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs when optional params are omitted.', + }, + { + functionCall: 'lorem.paragraphs(max=10, min=1)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraphs using min.', + }, + { + functionCall: 'lorem.paragraphs(max=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.5Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.5Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using max.', + }, + { + functionCall: 'lorem.paragraphs(paragraphCount=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using paragraphCount.', + }, + { + functionCall: 'lorem.paragraphs(separator="-")', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using separator.', + }, + { + functionCall: 'lorem.paragraphs(paragraphCountMax=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using paragraphCountMax.', + }, + { + functionCall: 'lorem.paragraphs(paragraphCountMin=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using paragraphCountMin.', + }, + ], args: [ { name: 'min', @@ -148,9 +293,42 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a space separated list of words beginning with a capital letter and ending with a period.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'Auctor cum deorsum attero cum tergo aut.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.sentence()', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence when optional params are omitted.', + }, + { + functionCall: 'lorem.sentence(max=10, min=1)', + sampleReturnValue: 'Cur.', + description: 'Shows lorem.sentence using min.', + }, + { + functionCall: 'lorem.sentence(max=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using max.', + }, + { + functionCall: 'lorem.sentence(wordCount=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using wordCount.', + }, + { + functionCall: 'lorem.sentence(wordCountMax=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using wordCountMax.', + }, + { + functionCall: 'lorem.sentence(wordCountMin=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using wordCountMin.', + }, + ], args: [ { name: 'min', @@ -193,9 +371,53 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates the given number of sentences.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'Vicissitudo amet candidus. Urbanus magni carbo artificiose tenus at ambulo.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.sentences()', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences when optional params are omitted.', + }, + { + functionCall: 'lorem.sentences(max=10, min=1)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentences using min.', + }, + { + functionCall: 'lorem.sentences(max=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.5Stillicidium bardus utrimque acsi spargo cur.5Aqua avaritia thesaurus volo combibo stultus utor.5Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using max.', + }, + { + functionCall: 'lorem.sentences(sentenceCount=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using sentenceCount.', + }, + { + functionCall: 'lorem.sentences(separator="-")', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using separator.', + }, + { + functionCall: 'lorem.sentences(sentenceCountMax=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using sentenceCountMax.', + }, + { + functionCall: 'lorem.sentences(sentenceCountMin=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using sentenceCountMin.', + }, + ], args: [ { name: 'min', @@ -244,9 +466,42 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a slugified text consisting of the given number of hyphen separated words.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'dolore-accusator-atqui', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.slug()', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug when optional params are omitted.', + }, + { + functionCall: 'lorem.slug(max=10, min=1)', + sampleReturnValue: 'cur', + description: 'Shows lorem.slug using min.', + }, + { + functionCall: 'lorem.slug(max=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using max.', + }, + { + functionCall: 'lorem.slug(wordCount=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using wordCount.', + }, + { + functionCall: 'lorem.slug(wordCountMax=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using wordCountMax.', + }, + { + functionCall: 'lorem.slug(wordCountMin=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using wordCountMin.', + }, + ], args: [ { name: 'min', @@ -289,9 +544,18 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random text based on a random lorem method.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'A short sample text generated from lorem.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.text', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows the default lorem.text call.', + }, + ], args: [], }, }, @@ -304,9 +568,37 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a word of a specified length.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'cumque', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.word()', + sampleReturnValue: 'cur', + description: 'Shows lorem.word when optional params are omitted.', + }, + { + functionCall: 'lorem.word(max=10, min=1)', + sampleReturnValue: 'cur', + description: 'Shows lorem.word using min.', + }, + { + functionCall: 'lorem.word(max=5)', + sampleReturnValue: 'cur', + description: 'Shows lorem.word using max.', + }, + { + functionCall: 'lorem.word(length=5)', + sampleReturnValue: 'curvo', + description: 'Shows lorem.word using length.', + }, + { + functionCall: 'lorem.word(strategy="any-length")', + sampleReturnValue: 'cur', + description: 'Shows lorem.word using strategy.', + }, + ], args: [ { name: 'min', @@ -328,7 +620,7 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: LOREM_WORD_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -344,9 +636,42 @@ const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a space separated list of words.', - docsUrl: 'https://fakerjs.dev/api/lorem', - example: 'desidero conforto decimus', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.words()', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words when optional params are omitted.', + }, + { + functionCall: 'lorem.words(max=10, min=1)', + sampleReturnValue: 'cur', + description: 'Shows lorem.words using min.', + }, + { + functionCall: 'lorem.words(max=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using max.', + }, + { + functionCall: 'lorem.words(wordCount=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using wordCount.', + }, + { + functionCall: 'lorem.words(wordCountMax=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using wordCountMax.', + }, + { + functionCall: 'lorem.words(wordCountMin=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using wordCountMin.', + }, + ], args: [ { name: 'min', diff --git a/packages/core/js/domain/domain-faker-music-keyword-definitions.js b/packages/core/js/domain/domain-faker-music-keyword-definitions.js index 1a1220f7..031e7408 100644 --- a/packages/core/js/domain/domain-faker-music-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-music-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS = [ { keyword: 'music.album', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random album name.', - docsUrl: 'https://fakerjs.dev/api/music', - example: 'R&G (Rhythm & Gangsta): The Masterpiece', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'music.album', + sampleReturnValue: 'I Never Loved A Man The Way I Love You', + description: 'Shows the default music.album call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random artist name.', - docsUrl: 'https://fakerjs.dev/api/music', - example: 'Chuck Berry', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'music.artist', + sampleReturnValue: 'Jon Bellion', + description: 'Shows the default music.artist call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random music genre.', - docsUrl: 'https://fakerjs.dev/api/music', - example: 'Mainstream Jazz', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'music.genre', + sampleReturnValue: 'Hard Bop', + description: 'Shows the default music.genre call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random song name.', - docsUrl: 'https://fakerjs.dev/api/music', - example: "I'm Sorry", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'music.songName', + sampleReturnValue: 'Imagine', + description: 'Shows the default music.songName call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-number-keyword-definitions.js b/packages/core/js/domain/domain-faker-number-keyword-definitions.js index 76476024..d513cbe3 100644 --- a/packages/core/js/domain/domain-faker-number-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-number-keyword-definitions.js @@ -1,3 +1,9 @@ +import { + validateIntegerValue, + validateNumberValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ { keyword: 'number.bigInt', @@ -8,9 +14,22 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a BigInt number.', - docsUrl: 'https://fakerjs.dev/api/number', - example: '347465151663036', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateIntegerValue, returnType: 'integer', + usageExamples: [ + { + functionCall: 'number.bigInt()', + sampleReturnValue: 703101335462806n, + description: 'Shows number.bigInt with all optional params omitted.', + }, + { + functionCall: 'number.bigInt(value=true)', + sampleReturnValue: 703101335462806n, + description: 'Shows number.bigInt using a boolean base value.', + }, + ], args: [ { name: 'value', @@ -32,9 +51,27 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a binary string.', - docsUrl: 'https://fakerjs.dev/api/number', - example: '0', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'number.binary()', + sampleReturnValue: '0', + description: 'Shows number.binary when optional params are omitted.', + }, + { + functionCall: 'number.binary(max=5)', + sampleReturnValue: '10', + description: 'Shows number.binary using max.', + }, + { + functionCall: 'number.binary(max=10, min=1)', + sampleReturnValue: '101', + description: 'Shows number.binary using min.', + }, + ], args: [ { name: 'max', @@ -61,9 +98,47 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ help: { summary: 'Returns a single random floating-point number, by default between `0.0` and `1.0`. To change the range, pass a `min` and `max` value. To limit the number of decimal places, pass a `multipleOf` or `fractionDigits` parameter.', - docsUrl: 'https://fakerjs.dev/api/number', - example: '0.5433707701438405', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateNumberValue, returnType: 'number', + usageExamples: [ + { + functionCall: 'number.float()', + sampleReturnValue: 0.417022004702574, + description: 'Shows number.float with all optional params omitted.', + }, + { + functionCall: 'number.float(fractionDigits=2)', + sampleReturnValue: 0.42, + description: 'Shows number.float rounding using only fractionDigits.', + }, + { + functionCall: 'number.float(multipleOf=0.5)', + sampleReturnValue: 0.5, + description: 'Shows number.float constrained using only multipleOf.', + }, + { + functionCall: 'number.float(min=1, max=10)', + sampleReturnValue: 4.753198042323167, + description: 'Shows number.float with an explicit numeric range.', + }, + { + functionCall: 'number.float(min=1, max=10, fractionDigits=2)', + sampleReturnValue: 4.75, + description: 'Shows number.float rounding with fractionDigits.', + }, + { + functionCall: 'number.float(min=1, max=10, multipleOf=0.5)', + sampleReturnValue: 4.5, + description: 'Shows number.float constrained to a multiple.', + }, + { + functionCall: 'number.float(max=10)', + sampleReturnValue: 4.17022004702574, + description: 'Shows number.float using only an upper bound.', + }, + ], args: [ { name: 'fractionDigits', @@ -106,9 +181,27 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a lowercase hexadecimal number.', - docsUrl: 'https://fakerjs.dev/api/number', - example: 'd', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'number.hex()', + sampleReturnValue: '6', + description: 'Shows number.hex when optional params are omitted.', + }, + { + functionCall: 'number.hex(max=10, min=1)', + sampleReturnValue: '5', + description: 'Shows number.hex using min.', + }, + { + functionCall: 'number.hex(max=5)', + sampleReturnValue: '2', + description: 'Shows number.hex using max.', + }, + ], args: [ { name: 'min', @@ -134,9 +227,32 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a single random integer between zero and the given max value or the given range.', - docsUrl: 'https://fakerjs.dev/api/number', - example: '5190574431878510', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateIntegerValue, returnType: 'integer', + usageExamples: [ + { + functionCall: 'number.int()', + sampleReturnValue: 3756200289967619, + description: 'Shows number.int when optional params are omitted.', + }, + { + functionCall: 'number.int(max=10, min=1)', + sampleReturnValue: 5, + description: 'Shows number.int using min.', + }, + { + functionCall: 'number.int(max=5)', + sampleReturnValue: 2, + description: 'Shows number.int using max.', + }, + { + functionCall: 'number.int(multipleOf=1)', + sampleReturnValue: 3756200289967619, + description: 'Shows number.int using multipleOf.', + }, + ], args: [ { name: 'min', @@ -168,9 +284,27 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an octal string.', - docsUrl: 'https://fakerjs.dev/api/number', - example: '6', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'number.octal()', + sampleReturnValue: '3', + description: 'Shows number.octal when optional params are omitted.', + }, + { + functionCall: 'number.octal(max=5)', + sampleReturnValue: '2', + description: 'Shows number.octal using max.', + }, + { + functionCall: 'number.octal(max=10, min=1)', + sampleReturnValue: '5', + description: 'Shows number.octal using min.', + }, + ], args: [ { name: 'max', @@ -196,9 +330,27 @@ const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a roman numeral in String format.', - docsUrl: 'https://fakerjs.dev/api/number', - example: 'XXXV', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'number.romanNumeral()', + sampleReturnValue: 'MDCLXVIII', + description: 'Shows number.romanNumeral when optional params are omitted.', + }, + { + functionCall: 'number.romanNumeral(max=10, min=1)', + sampleReturnValue: 'V', + description: 'Shows number.romanNumeral using min.', + }, + { + functionCall: 'number.romanNumeral(max=5)', + sampleReturnValue: 'III', + description: 'Shows number.romanNumeral using max.', + }, + ], args: [ { name: 'min', diff --git a/packages/core/js/domain/domain-faker-person-keyword-definitions.js b/packages/core/js/domain/domain-faker-person-keyword-definitions.js index 262ac555..eb3bca5e 100644 --- a/packages/core/js/domain/domain-faker-person-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-person-keyword-definitions.js @@ -1,3 +1,8 @@ +import { createStringEnumValidator, validateStringValue } from '../command-help/command-help-validators.js'; + +const PERSON_SEX_TYPE = 'female|male'; +const validatePersonSexTypeValue = createStringEnumValidator(PERSON_SEX_TYPE.split('|')); + const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ { keyword: 'person.bio', @@ -7,9 +12,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random short biography', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'musician', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.bio', + sampleReturnValue: 'person, activist, entrepreneur ✌🏿', + description: 'Shows the default person.bio call.', + }, + ], args: [], }, }, @@ -21,13 +34,26 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random first name.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'David', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.firstName()', + sampleReturnValue: 'Aaliyah', + description: 'Shows person.firstName when optional params are omitted.', + }, + { + functionCall: 'person.firstName(sex="female")', + sampleReturnValue: 'Monique', + description: 'Shows person.firstName using sex.', + }, + ], args: [ { name: 'sex', - type: 'string', + type: PERSON_SEX_TYPE, required: false, description: 'Optional sex for first-name selection. Valid values: female or male.', }, @@ -42,9 +68,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random full name.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Mrs. Sheryl Zemlak DVM', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.fullName', + sampleReturnValue: 'Aaliyah Corkery', + description: 'Shows the default person.fullName call.', + }, + ], args: [], }, }, @@ -56,9 +90,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random gender.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Female to male', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.gender', + sampleReturnValue: 'Genderflux', + description: 'Shows the default person.gender call.', + }, + ], args: [], }, }, @@ -70,9 +112,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random job area.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Branding', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobArea', + sampleReturnValue: 'Group', + description: 'Shows the default person.jobArea call.', + }, + ], args: [], }, }, @@ -84,9 +134,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random job descriptor.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Direct', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobDescriptor', + sampleReturnValue: 'Regional', + description: 'Shows the default person.jobDescriptor call.', + }, + ], args: [], }, }, @@ -98,9 +156,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random job title.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Senior Identity Technician', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobTitle', + sampleReturnValue: 'Regional Assurance Supervisor', + description: 'Shows the default person.jobTitle call.', + }, + ], args: [], }, }, @@ -112,9 +178,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random job type.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Engineer', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobType', + sampleReturnValue: 'Administrator', + description: 'Shows the default person.jobType call.', + }, + ], args: [], }, }, @@ -126,13 +200,26 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random last name.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Bernhard', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.lastName()', + sampleReturnValue: 'Abbott', + description: 'Shows person.lastName when optional params are omitted.', + }, + { + functionCall: 'person.lastName(sex="female")', + sampleReturnValue: 'Reichel', + description: 'Shows person.lastName using sex.', + }, + ], args: [ { name: 'sex', - type: 'string', + type: PERSON_SEX_TYPE, required: false, description: 'Optional sex for last-name selection. Valid values: female or male.', }, @@ -147,13 +234,26 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random middle name.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Ryan', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.middleName()', + sampleReturnValue: 'Abigail', + description: 'Shows person.middleName when optional params are omitted.', + }, + { + functionCall: 'person.middleName(sex="female")', + sampleReturnValue: 'Morgan', + description: 'Shows person.middleName using sex.', + }, + ], args: [ { name: 'sex', - type: 'string', + type: PERSON_SEX_TYPE, required: false, description: 'Optional sex for middle-name selection. Valid values: female or male.', }, @@ -168,13 +268,26 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random person prefix.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Mr.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.prefix()', + sampleReturnValue: 'Miss', + description: 'Shows person.prefix when optional params are omitted.', + }, + { + functionCall: 'person.prefix(sex="female")', + sampleReturnValue: 'Ms.', + description: 'Shows person.prefix using sex.', + }, + ], args: [ { name: 'sex', - type: 'string', + type: PERSON_SEX_TYPE, required: false, description: "The optional sex to use. Can be either 'female' or 'male'.", }, @@ -189,9 +302,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random sex.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'male', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.sex', + sampleReturnValue: 'female', + description: 'Shows the default person.sex call.', + }, + ], args: [], }, }, @@ -203,9 +324,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random sex type. The `SexType` is intended to be used in parameters and conditions.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'male', - returnType: 'string', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validatePersonSexTypeValue, + returnType: PERSON_SEX_TYPE, + usageExamples: [ + { + functionCall: 'person.sexType', + sampleReturnValue: 'female', + description: 'Shows the default person.sexType call.', + }, + ], args: [], }, }, @@ -217,9 +346,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random person suffix.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'IV', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.suffix', + sampleReturnValue: 'III', + description: 'Shows the default person.suffix call.', + }, + ], args: [], }, }, @@ -231,9 +368,17 @@ const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random zodiac sign.', - docsUrl: 'https://fakerjs.dev/api/person', - example: 'Cancer', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'person.zodiacSign', + sampleReturnValue: 'Cancer', + description: 'Shows the default person.zodiacSign call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-phone-keyword-definitions.js b/packages/core/js/domain/domain-faker-phone-keyword-definitions.js index 29749b6e..64f50116 100644 --- a/packages/core/js/domain/domain-faker-phone-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-phone-keyword-definitions.js @@ -1,3 +1,7 @@ +import { validateImeiValue, validateStringValue } from '../command-help/command-help-validators.js'; + +const PHONE_NUMBER_STYLE_TYPE = 'human|national|international'; + const DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS = [ { keyword: 'phone.imei', @@ -7,9 +11,17 @@ const DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates IMEI number.', - docsUrl: 'https://fakerjs.dev/api/phone', - example: '44-358223-971834-1', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/phone', + fakerDocsUrl: 'https://fakerjs.dev/api/phone', + validator: validateImeiValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'phone.imei', + sampleReturnValue: '47-031013-354628-7', + description: 'Shows the default phone.imei call.', + }, + ], args: [], }, }, @@ -22,13 +34,26 @@ const DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a random phone number.', - docsUrl: 'https://fakerjs.dev/api/phone', - example: '298.756.9044', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/phone', + fakerDocsUrl: 'https://fakerjs.dev/api/phone', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'phone.number()', + sampleReturnValue: '1-703-301-3354 x628', + description: 'Shows phone.number when optional params are omitted.', + }, + { + functionCall: 'phone.number(style="international")', + sampleReturnValue: '+15704101335', + description: 'Shows phone.number using style.', + }, + ], args: [ { name: 'style', - type: 'string', + type: PHONE_NUMBER_STYLE_TYPE, required: false, description: "Style of the generated phone number: 'human': (default) A human-input phone number, e.g. 555-770-7727 or 555.770.7727 x1234 'national': A phone number in a standardized national format, e.g. (555) 123-4567. 'international': A phone number in the E.123 international format, e.g. +15551234567", diff --git a/packages/core/js/domain/domain-faker-science-keyword-definitions.js b/packages/core/js/domain/domain-faker-science-keyword-definitions.js index 38628c08..67f621cc 100644 --- a/packages/core/js/domain/domain-faker-science-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-science-keyword-definitions.js @@ -1,3 +1,9 @@ +import { + validateIntegerValue, + validateObjectValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ { keyword: 'science.chemicalElement', @@ -7,9 +13,21 @@ const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a value using faker science.chemicalElement.', - docsUrl: 'https://fakerjs.dev/api/science', - example: '{"name":"Oxygen","symbol":"O","atomicNumber":8}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'science.chemicalElement', + sampleReturnValue: { + symbol: 'Sn', + name: 'Tin', + atomicNumber: 50, + }, + description: 'Shows the default science.chemicalElement call.', + }, + ], args: [], }, }, @@ -22,9 +40,17 @@ const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a chemical element atomic number.', - docsUrl: 'https://fakerjs.dev/api/science', - example: '8', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateIntegerValue, returnType: 'integer', + usageExamples: [ + { + functionCall: 'science.chemicalElement.atomicNumber', + sampleReturnValue: 50, + description: 'Shows the default science.chemicalElement.atomicNumber call.', + }, + ], args: [], }, }, @@ -37,9 +63,17 @@ const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a chemical element name.', - docsUrl: 'https://fakerjs.dev/api/science', - example: 'Oxygen', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'science.chemicalElement.name', + sampleReturnValue: 'Tin', + description: 'Shows the default science.chemicalElement.name call.', + }, + ], args: [], }, }, @@ -52,9 +86,17 @@ const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generate a chemical element symbol.', - docsUrl: 'https://fakerjs.dev/api/science', - example: 'O', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'science.chemicalElement.symbol', + sampleReturnValue: 'Sn', + description: 'Shows the default science.chemicalElement.symbol call.', + }, + ], args: [], }, }, @@ -66,9 +108,20 @@ const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random scientific unit.', - docsUrl: 'https://fakerjs.dev/api/science', - example: '{"name":"farad","symbol":"F"}', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateObjectValue, returnType: 'object', + usageExamples: [ + { + functionCall: 'science.unit', + sampleReturnValue: { + name: 'watt', + symbol: 'W', + }, + description: 'Shows the default science.unit call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-string-keyword-definitions.js b/packages/core/js/domain/domain-faker-string-keyword-definitions.js index 5163385c..065ff6c5 100644 --- a/packages/core/js/domain/domain-faker-string-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-string-keyword-definitions.js @@ -1,3 +1,16 @@ +import { + validateBinaryStringValue, + validateHexadecimalStringValue, + validateNanoIdValue, + validateNumericStringValue, + validateOctalStringValue, + validateStringValue, + validateUlidValue, + validateUuidValue, +} from '../command-help/command-help-validators.js'; + +const STRING_CASING_TYPE = 'upper|lower|mixed'; + const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ { keyword: 'string.alpha', @@ -8,9 +21,42 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generating a string consisting of letters in the English alphabet.', - docsUrl: 'https://fakerjs.dev/api/string', - example: 'R', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.alpha()', + sampleReturnValue: 'v', + description: 'Shows string.alpha with all optional params omitted.', + }, + { + functionCall: 'string.alpha(length=5)', + sampleReturnValue: 'vLaph', + description: 'Shows string.alpha generating a fixed-length alphabetic value.', + }, + { + functionCall: 'string.alpha(casing="upper")', + sampleReturnValue: 'K', + description: 'Shows string.alpha using only the casing option.', + }, + { + functionCall: 'string.alpha(length=5, casing="upper")', + sampleReturnValue: 'KSAHD', + description: 'Shows string.alpha with explicit uppercase output.', + }, + { + functionCall: 'string.alpha(exclude=["A","B","C"])', + sampleReturnValue: 'u', + description: 'Shows string.alpha excluding specific characters without setting length or casing.', + }, + { + functionCall: 'string.alpha(length=5, casing="upper", exclude=["A","B","C"])', + sampleReturnValue: 'MTDJG', + description: 'Shows string.alpha excluding specific characters from the candidate set.', + }, + ], args: [ { name: 'length', @@ -20,7 +66,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, { name: 'casing', - type: 'string', + type: STRING_CASING_TYPE, required: false, description: 'The casing of the characters.', }, @@ -42,9 +88,32 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generating a string consisting of alpha characters and digits.', - docsUrl: 'https://fakerjs.dev/api/string', - example: 's', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.alphanumeric()', + sampleReturnValue: 'p', + description: 'Shows string.alphanumeric when optional params are omitted.', + }, + { + functionCall: 'string.alphanumeric(length=5)', + sampleReturnValue: 'pI0i9', + description: 'Shows string.alphanumeric using length.', + }, + { + functionCall: 'string.alphanumeric(casing="upper")', + sampleReturnValue: 'F', + description: 'Shows string.alphanumeric using casing.', + }, + { + functionCall: 'string.alphanumeric(exclude=["A","B","C"])', + sampleReturnValue: 'o', + description: 'Shows string.alphanumeric using exclude.', + }, + ], args: [ { name: 'length', @@ -54,7 +123,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, { name: 'casing', - type: 'string', + type: STRING_CASING_TYPE, required: false, description: 'The casing of the characters.', }, @@ -76,9 +145,27 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a binary string.', - docsUrl: 'https://fakerjs.dev/api/string', - example: '0b0', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateBinaryStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.binary()', + sampleReturnValue: '0b0', + description: 'Shows string.binary when optional params are omitted.', + }, + { + functionCall: 'string.binary(length=5)', + sampleReturnValue: '0b01000', + description: 'Shows string.binary using length.', + }, + { + functionCall: 'string.binary(prefix="PRE-")', + sampleReturnValue: 'PRE-0', + description: 'Shows string.binary using prefix.', + }, + ], args: [ { name: 'length', @@ -104,11 +191,27 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a string from the given characters.', - docsUrl: 'https://fakerjs.dev/api/string', - example: 'A1B2', - examples: ['string.fromCharacters("ABC123", 6)', 'string.fromCharacters(characters=["A", "B", "C"], length=4)'], - exampleReturnValues: ['A1B2', 'CB2A'], + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.fromCharacters("ABC123", 6)', + sampleReturnValue: 'C2ABAA', + description: 'Shows string.fromCharacters in use.', + }, + { + functionCall: 'string.fromCharacters(characters=["A", "B", "C"], length=4)', + sampleReturnValue: 'BCAA', + description: 'Shows string.fromCharacters in use.', + }, + { + functionCall: 'string.fromCharacters(characters="ABC123", length=4)', + sampleReturnValue: 'C2AB', + description: 'Shows string.fromCharacters using length.', + }, + ], args: [ { name: 'characters', @@ -136,13 +239,36 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a hexadecimal string.', - docsUrl: 'https://fakerjs.dev/api/string', - example: '0x1', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateHexadecimalStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.hexadecimal()', + sampleReturnValue: '0x9', + description: 'Shows string.hexadecimal when optional params are omitted.', + }, + { + functionCall: 'string.hexadecimal(casing="upper")', + sampleReturnValue: '0x9', + description: 'Shows string.hexadecimal using casing.', + }, + { + functionCall: 'string.hexadecimal(length=5)', + sampleReturnValue: '0x9f063', + description: 'Shows string.hexadecimal using length.', + }, + { + functionCall: 'string.hexadecimal(prefix="PRE-")', + sampleReturnValue: 'PRE-9', + description: 'Shows string.hexadecimal using prefix.', + }, + ], args: [ { name: 'casing', - type: 'string', + type: STRING_CASING_TYPE, required: false, description: 'Casing of the generated number.', }, @@ -170,9 +296,22 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a Nano ID.', - docsUrl: 'https://fakerjs.dev/api/string', - example: 'KLm49ferlh-eUmJpZdSIO', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateNanoIdValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.nanoid()', + sampleReturnValue: 'Ii5lxGSFycYGT2SqxjPK-', + description: 'Shows string.nanoid when optional params are omitted.', + }, + { + functionCall: 'string.nanoid(length=5)', + sampleReturnValue: 'Ii5lx', + description: 'Shows string.nanoid using length.', + }, + ], args: [ { name: 'length', @@ -192,9 +331,32 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Generates a given length string of digits.', - docsUrl: 'https://fakerjs.dev/api/string', - example: '7', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateNumericStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.numeric()', + sampleReturnValue: '4', + description: 'Shows string.numeric when optional params are omitted.', + }, + { + functionCall: 'string.numeric(length=5)', + sampleReturnValue: '47031', + description: 'Shows string.numeric using length.', + }, + { + functionCall: 'string.numeric(allowLeadingZeros=true)', + sampleReturnValue: '4', + description: 'Shows string.numeric using allowLeadingZeros.', + }, + { + functionCall: 'string.numeric(exclude=["A","B","C"])', + sampleReturnValue: '4', + description: 'Shows string.numeric using exclude.', + }, + ], args: [ { name: 'length', @@ -226,9 +388,27 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns an octal string.', - docsUrl: 'https://fakerjs.dev/api/string', - example: '0o6', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateOctalStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.octal()', + sampleReturnValue: '0o3', + description: 'Shows string.octal when optional params are omitted.', + }, + { + functionCall: 'string.octal(length=5)', + sampleReturnValue: '0o35021', + description: 'Shows string.octal using length.', + }, + { + functionCall: 'string.octal(prefix="PRE-")', + sampleReturnValue: 'PRE-3', + description: 'Shows string.octal using prefix.', + }, + ], args: [ { name: 'length', @@ -254,9 +434,22 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`).', - docsUrl: 'https://fakerjs.dev/api/string', - example: '\\Fw;0e:G.H', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.sample()', + sampleReturnValue: 'Gc!=.)2AES', + description: 'Shows string.sample when optional params are omitted.', + }, + { + functionCall: 'string.sample(length=5)', + sampleReturnValue: 'Gc!=.', + description: 'Shows string.sample using length.', + }, + ], args: [ { name: 'length', @@ -275,9 +468,22 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a string containing only special characters from the following list:', - docsUrl: 'https://fakerjs.dev/api/string', - example: '.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.symbol()', + sampleReturnValue: '.', + description: 'Shows string.symbol when optional params are omitted.', + }, + { + functionCall: 'string.symbol(length=5)', + sampleReturnValue: '.\\!*%', + description: 'Shows string.symbol using length.', + }, + ], args: [ { name: 'length', @@ -297,9 +503,22 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a ULID (Universally Unique Lexicographically Sortable Identifier).', - docsUrl: 'https://fakerjs.dev/api/string', - example: '01KQADM2A0728G4D2HKCPWKS6N', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateUlidValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.ulid()', + sampleReturnValue: '01KVDQ3AJ0DQ09425BCHDN6W0N', + description: 'Shows string.ulid when optional params are omitted.', + }, + { + functionCall: 'string.ulid(refDate=1718755200000)', + sampleReturnValue: '01J0PWP300DQ09425BCHDN6W0N', + description: 'Shows string.ulid using refDate.', + }, + ], args: [ { name: 'refDate', @@ -320,9 +539,27 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a UUID (Universally Unique Identifier).', - docsUrl: 'https://fakerjs.dev/api/string', - example: '0628ae51-7b6c-4d33-9f24-dae19fb245df', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateUuidValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'string.uuid()', + sampleReturnValue: '6b042125-686a-43e0-8a68-23cf5bee102e', + description: 'Shows string.uuid when optional params are omitted.', + }, + { + functionCall: 'string.uuid(version=7)', + sampleReturnValue: '019edb71-aa40-76b0-8421-25686a3e0a68', + description: 'Shows string.uuid using version.', + }, + { + functionCall: 'string.uuid(refDate="2026-06-18T00:00:00.000Z")', + sampleReturnValue: '019ed807-0800-76b0-8421-25686a3e0a68', + description: 'Shows string.uuid using refDate.', + }, + ], args: [ { name: 'version', diff --git a/packages/core/js/domain/domain-faker-system-keyword-definitions.js b/packages/core/js/domain/domain-faker-system-keyword-definitions.js index 6782abdb..e593717b 100644 --- a/packages/core/js/domain/domain-faker-system-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-system-keyword-definitions.js @@ -1,3 +1,10 @@ +import { + validateCronValue, + validateMimeTypeValue, + validateSemverValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ { keyword: 'system.commonFileExt', @@ -7,9 +14,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a commonly used file extension.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'pdf', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.commonFileExt', + sampleReturnValue: 'png', + description: 'Shows the default system.commonFileExt call.', + }, + ], args: [], }, }, @@ -21,9 +36,22 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random file name with a given extension or a commonly used extension.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'bleak.pdf', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.commonFileName()', + sampleReturnValue: 'fog_aboard.mp4v', + description: 'Shows system.commonFileName when optional params are omitted.', + }, + { + functionCall: 'system.commonFileName(extension="txt")', + sampleReturnValue: 'fog_aboard.txt', + description: 'Shows system.commonFileName using extension.', + }, + ], args: [ { name: 'extension', @@ -42,9 +70,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a commonly used file type.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'video', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.commonFileType', + sampleReturnValue: 'image', + description: 'Shows the default system.commonFileType call.', + }, + ], args: [], }, }, @@ -57,9 +93,27 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random cron expression.', - docsUrl: 'https://fakerjs.dev/api/system', - example: '* 15 * * SAT', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateCronValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.cron()', + sampleReturnValue: '25 17 * 4 *', + description: 'Shows system.cron when optional params are omitted.', + }, + { + functionCall: 'system.cron(includeNonStandard=true)', + sampleReturnValue: '@annually', + description: 'Shows system.cron using includeNonStandard.', + }, + { + functionCall: 'system.cron(includeYear=true)', + sampleReturnValue: '25 17 * 4 * 1994', + description: 'Shows system.cron using includeYear.', + }, + ], args: [ { name: 'includeNonStandard', @@ -84,9 +138,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a directory path.', - docsUrl: 'https://fakerjs.dev/api/system', - example: '/bin', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.directoryPath', + sampleReturnValue: '/opt/include', + description: 'Shows the default system.directoryPath call.', + }, + ], args: [], }, }, @@ -99,9 +161,22 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a file extension.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'xsl', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.fileExt()', + sampleReturnValue: '7z', + description: 'Shows system.fileExt when optional params are omitted.', + }, + { + functionCall: 'system.fileExt(mimeType="image/png")', + sampleReturnValue: '7z', + description: 'Shows system.fileExt using mimeType.', + }, + ], args: [ { name: 'mimeType', @@ -120,9 +195,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random file name with extension.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'unsightly.woff', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.fileName', + sampleReturnValue: 'fog_aboard.otf', + description: 'Shows the default system.fileName call.', + }, + ], args: [], }, }, @@ -134,9 +217,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a file path.', - docsUrl: 'https://fakerjs.dev/api/system', - example: '/tmp/ouch.xlt', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.filePath', + sampleReturnValue: '/opt/include/down_reproachfully_besides.woff2', + description: 'Shows the default system.filePath call.', + }, + ], args: [], }, }, @@ -148,9 +239,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a file type.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'font', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.fileType', + sampleReturnValue: 'font', + description: 'Shows the default system.fileType call.', + }, + ], args: [], }, }, @@ -162,9 +261,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a mime-type.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'application/gzip', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateMimeTypeValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.mimeType', + sampleReturnValue: 'application/x-httpd-php', + description: 'Shows the default system.mimeType call.', + }, + ], args: [], }, }, @@ -176,9 +283,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random network interface.', - docsUrl: 'https://fakerjs.dev/api/system', - example: 'wlx3fba717f9f9c', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.networkInterface', + sampleReturnValue: 'wlx042125686a3e', + description: 'Shows the default system.networkInterface call.', + }, + ], args: [], }, }, @@ -190,9 +305,17 @@ const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a semantic version.', - docsUrl: 'https://fakerjs.dev/api/system', - example: '4.3.6', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateSemverValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'system.semver', + sampleReturnValue: '4.15.0', + description: 'Shows the default system.semver call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js b/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js index 8d451caf..3dd8342d 100644 --- a/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js @@ -1,3 +1,5 @@ +import { validateStringValue, validateVinValue, validateVrmValue } from '../command-help/command-help-validators.js'; + const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ { keyword: 'vehicle.bicycle', @@ -7,9 +9,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a type of bicycle.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'Touring Bicycle', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.bicycle', + sampleReturnValue: 'Flat-Foot Comfort Bicycle', + description: 'Shows the default vehicle.bicycle call.', + }, + ], args: [], }, }, @@ -21,9 +31,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a vehicle color.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'sky blue', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.color', + sampleReturnValue: 'magenta', + description: 'Shows the default vehicle.color call.', + }, + ], args: [], }, }, @@ -35,9 +53,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a fuel type.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'Gasoline', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.fuel', + sampleReturnValue: 'Electric', + description: 'Shows the default vehicle.fuel call.', + }, + ], args: [], }, }, @@ -49,9 +75,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a manufacturer name.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'Hyundai', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.manufacturer', + sampleReturnValue: 'Lamborghini', + description: 'Shows the default vehicle.manufacturer call.', + }, + ], args: [], }, }, @@ -63,9 +97,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a vehicle model.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'Aventador', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.model', + sampleReturnValue: 'Escalade', + description: 'Shows the default vehicle.model call.', + }, + ], args: [], }, }, @@ -77,9 +119,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a vehicle type.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'Hatchback', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.type', + sampleReturnValue: 'Extended Cab Pickup', + description: 'Shows the default vehicle.type call.', + }, + ], args: [], }, }, @@ -91,9 +141,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random vehicle.', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'Ford CTS', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.vehicle', + sampleReturnValue: 'Lamborghini Model X', + description: 'Shows the default vehicle.vehicle call.', + }, + ], args: [], }, }, @@ -105,9 +163,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a vehicle identification number (VIN).', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: '7SJ9N0LM3LM265056', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateVinValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.vin', + sampleReturnValue: 'DP09436BDHKN28064', + description: 'Shows the default vehicle.vin call.', + }, + ], args: [], }, }, @@ -119,9 +185,17 @@ const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a vehicle registration number (Vehicle Registration Mark - VRM)', - docsUrl: 'https://fakerjs.dev/api/vehicle', - example: 'OD11RTZ', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateVrmValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.vrm', + sampleReturnValue: 'KS03DCE', + description: 'Shows the default vehicle.vrm call.', + }, + ], args: [], }, }, diff --git a/packages/core/js/domain/domain-faker-word-keyword-definitions.js b/packages/core/js/domain/domain-faker-word-keyword-definitions.js index 7497af9a..a3fd62c4 100644 --- a/packages/core/js/domain/domain-faker-word-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-word-keyword-definitions.js @@ -1,3 +1,7 @@ +import { validateStringValue } from '../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ { keyword: 'word.adjective', @@ -8,9 +12,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random adjective.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'heavenly', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.adjective()', + sampleReturnValue: 'inferior', + description: 'Shows word.adjective when optional params are omitted.', + }, + { + functionCall: 'word.adjective(length=5)', + sampleReturnValue: 'major', + description: 'Shows word.adjective using length.', + }, + { + functionCall: 'word.adjective(max=5)', + sampleReturnValue: 'inferior', + description: 'Shows word.adjective using max.', + }, + { + functionCall: 'word.adjective(strategy="any-length")', + sampleReturnValue: 'inferior', + description: 'Shows word.adjective using strategy.', + }, + ], args: [ { name: 'length', @@ -26,7 +53,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -43,9 +70,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random adverb.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'selfishly', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.adverb()', + sampleReturnValue: 'knavishly', + description: 'Shows word.adverb when optional params are omitted.', + }, + { + functionCall: 'word.adverb(length=5)', + sampleReturnValue: 'never', + description: 'Shows word.adverb using length.', + }, + { + functionCall: 'word.adverb(max=5)', + sampleReturnValue: 'knavishly', + description: 'Shows word.adverb using max.', + }, + { + functionCall: 'word.adverb(strategy="any-length")', + sampleReturnValue: 'knavishly', + description: 'Shows word.adverb using strategy.', + }, + ], args: [ { name: 'length', @@ -61,7 +111,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -78,9 +128,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random conjunction.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'indeed', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.conjunction()', + sampleReturnValue: 'likewise', + description: 'Shows word.conjunction when optional params are omitted.', + }, + { + functionCall: 'word.conjunction(length=5)', + sampleReturnValue: 'until', + description: 'Shows word.conjunction using length.', + }, + { + functionCall: 'word.conjunction(max=5)', + sampleReturnValue: 'likewise', + description: 'Shows word.conjunction using max.', + }, + { + functionCall: 'word.conjunction(strategy="any-length")', + sampleReturnValue: 'likewise', + description: 'Shows word.conjunction using strategy.', + }, + ], args: [ { name: 'length', @@ -96,7 +169,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -113,9 +186,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random interjection.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'er', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.interjection()', + sampleReturnValue: 'woot', + description: 'Shows word.interjection when optional params are omitted.', + }, + { + functionCall: 'word.interjection(length=5)', + sampleReturnValue: 'fooey', + description: 'Shows word.interjection using length.', + }, + { + functionCall: 'word.interjection(max=5)', + sampleReturnValue: 'woot', + description: 'Shows word.interjection using max.', + }, + { + functionCall: 'word.interjection(strategy="any-length")', + sampleReturnValue: 'woot', + description: 'Shows word.interjection using strategy.', + }, + ], args: [ { name: 'length', @@ -131,7 +227,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -148,9 +244,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random noun.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'cook', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.noun()', + sampleReturnValue: 'heating', + description: 'Shows word.noun when optional params are omitted.', + }, + { + functionCall: 'word.noun(length=5)', + sampleReturnValue: 'humor', + description: 'Shows word.noun using length.', + }, + { + functionCall: 'word.noun(max=5)', + sampleReturnValue: 'heating', + description: 'Shows word.noun using max.', + }, + { + functionCall: 'word.noun(strategy="any-length")', + sampleReturnValue: 'heating', + description: 'Shows word.noun using strategy.', + }, + ], args: [ { name: 'length', @@ -166,7 +285,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -183,9 +302,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random preposition.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'beside', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.preposition()', + sampleReturnValue: 'except', + description: 'Shows word.preposition when optional params are omitted.', + }, + { + functionCall: 'word.preposition(length=5)', + sampleReturnValue: 'aside', + description: 'Shows word.preposition using length.', + }, + { + functionCall: 'word.preposition(max=5)', + sampleReturnValue: 'except', + description: 'Shows word.preposition using max.', + }, + { + functionCall: 'word.preposition(strategy="any-length")', + sampleReturnValue: 'except', + description: 'Shows word.preposition using strategy.', + }, + ], args: [ { name: 'length', @@ -201,7 +343,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -219,9 +361,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ help: { summary: 'Returns a random word, that can be an adjective, adverb, conjunction, interjection, noun, preposition, or verb.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'snoopy', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.sample()', + sampleReturnValue: 'boohoo', + description: 'Shows word.sample when optional params are omitted.', + }, + { + functionCall: 'word.sample(length=5)', + sampleReturnValue: 'yowza', + description: 'Shows word.sample using length.', + }, + { + functionCall: 'word.sample(max=5)', + sampleReturnValue: 'boohoo', + description: 'Shows word.sample using max.', + }, + { + functionCall: 'word.sample(strategy="any-length")', + sampleReturnValue: 'boohoo', + description: 'Shows word.sample using strategy.', + }, + ], args: [ { name: 'length', @@ -237,7 +402,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -254,9 +419,32 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random verb.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'embalm', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.verb()', + sampleReturnValue: 'hunger', + description: 'Shows word.verb when optional params are omitted.', + }, + { + functionCall: 'word.verb(length=5)', + sampleReturnValue: 'mould', + description: 'Shows word.verb using length.', + }, + { + functionCall: 'word.verb(max=5)', + sampleReturnValue: 'hunger', + description: 'Shows word.verb using max.', + }, + { + functionCall: 'word.verb(strategy="any-length")', + sampleReturnValue: 'hunger', + description: 'Shows word.verb using strategy.', + }, + ], args: [ { name: 'length', @@ -272,7 +460,7 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, { name: 'strategy', - type: 'string', + type: WORD_SELECTION_STRATEGY_TYPE, required: false, description: 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', @@ -289,9 +477,27 @@ const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ }, help: { summary: 'Returns a random string containing some words separated by spaces.', - docsUrl: 'https://fakerjs.dev/api/word', - example: 'geez', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, returnType: 'string', + usageExamples: [ + { + functionCall: 'word.words()', + sampleReturnValue: 'fog aboard', + description: 'Shows word.words when optional params are omitted.', + }, + { + functionCall: 'word.words(count=5)', + sampleReturnValue: 'boohoo pish tenderly above pop', + description: 'Shows word.words using count.', + }, + { + functionCall: 'word.words(max=5)', + sampleReturnValue: 'fog aboard', + description: 'Shows word.words using max.', + }, + ], args: [ { name: 'count', diff --git a/packages/core/js/domain/domain-keywords.js b/packages/core/js/domain/domain-keywords.js index 722dc10a..eb0094b3 100644 --- a/packages/core/js/domain/domain-keywords.js +++ b/packages/core/js/domain/domain-keywords.js @@ -2,11 +2,14 @@ import { DOMAIN_KEYWORD_DEFINITIONS } from './domain-keyword-definitions.js'; import { executeCustomAutoIncrementTimestamp } from './auto-increment-timestamp.js'; import { executeCustomAutoIncrementSequence } from './auto-increment-sequence.js'; import { executeCustomCounterString } from './counterstring.js'; +import { DomainKeywordInvocationParser } from './parser/DomainKeywordInvocationParser.js'; +import { normalizeUsageExamples } from '../command-help/command-help-contract.js'; const DOMAIN_ROOT_PREFIX = 'awd.domain.'; const DOMAIN_PREFIX = 'domain.'; const DELEGATE_TYPE_FAKER = 'faker'; const DELEGATE_TYPE_CUSTOM = 'custom'; +const DOMAIN_INVOCATION_PARSER = new DomainKeywordInvocationParser(); function normaliseAlias(value) { return String(value || '').trim(); @@ -17,6 +20,82 @@ function buildCanonicalKeyword(fakerCommand) { return `${DOMAIN_ROOT_PREFIX}${command}`; } +function serializeDomainInvocationValue(value, type = '') { + const allowedTypes = String(type || '') + .split('|') + .map((entry) => entry.trim()) + .filter(Boolean); + + if (typeof value === 'string') { + if (allowedTypes.includes('regexp')) { + return JSON.stringify(value); + } + return JSON.stringify(value); + } + if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') { + return String(value); + } + return JSON.stringify(value); +} + +function unquoteLiteralTypeToken(value) { + const trimmed = String(value || '').trim(); + if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { + return trimmed.slice(1, -1); + } + return trimmed; +} + +function isQuotedLiteralTypeToken(value) { + const trimmed = String(value || '').trim(); + return (trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'")); +} + +function normalizeDomainExampleFunctionCall(functionCall, keyword, args) { + const normalizedFunctionCall = String(functionCall || '').trim(); + if (!normalizedFunctionCall) { + return ''; + } + + const parsed = DOMAIN_INVOCATION_PARSER.parse(normalizedFunctionCall); + if (!parsed.ok || parsed.keyword !== keyword) { + return normalizedFunctionCall; + } + + if ((parsed.arguments || []).length === 0 || parsed.arguments.every((argument) => argument.kind === 'named')) { + return normalizedFunctionCall; + } + + const namedArgs = parsed.arguments.map((argument, index) => { + if (argument.kind === 'named') { + return `${argument.name}=${serializeDomainInvocationValue(argument.value, args[index]?.type)}`; + } + + const argName = args[index]?.name; + if (!argName) { + return null; + } + return `${argName}=${serializeDomainInvocationValue(argument.value, args[index]?.type)}`; + }); + + if (namedArgs.some((argument) => !argument)) { + return normalizedFunctionCall; + } + + return `${keyword}(${namedArgs.join(', ')})`; +} + +function normalizeDomainUsageExamplesToNamedForm(usageExamples, keyword, args) { + if (!Array.isArray(usageExamples)) { + return []; + } + + return usageExamples.map((usageExample) => ({ + ...usageExample, + functionCall: normalizeDomainExampleFunctionCall(usageExample?.functionCall, keyword, args), + })); +} + function getCommandFromCanonical(canonicalKeyword) { const keyword = String(canonicalKeyword || '').trim(); if (!keyword.startsWith(DOMAIN_ROOT_PREFIX)) { @@ -46,6 +125,22 @@ function buildDomainKeywordCatalog(definitions = DOMAIN_KEYWORD_DEFINITIONS) { return definitions.map((definition) => { const keyword = String(definition?.keyword || '').trim(); const canonical = buildCanonicalKeyword(keyword); + const normalizedArgs = Array.isArray(definition?.help?.args) + ? definition.help.args.map((arg) => ({ + name: String(arg?.name || '').trim(), + type: String(arg?.type || '').trim(), + required: arg?.required === true, + description: String(arg?.description || '').trim(), + examples: Array.isArray(arg?.examples) ? arg.examples.filter((value) => value !== undefined) : [], + })) + : []; + const returnType = String(definition?.help?.returnType || '').trim(); + const usageExamples = normalizeUsageExamples({ + command: keyword, + returnType, + usageExamples: definition?.help?.usageExamples, + }); + const normalizedUsageExamples = normalizeDomainUsageExamplesToNamedForm(usageExamples, keyword, normalizedArgs); return { canonical, keyword, @@ -58,23 +153,11 @@ function buildDomainKeywordCatalog(definitions = DOMAIN_KEYWORD_DEFINITIONS) { help: { summary: String(definition?.help?.summary || '').trim(), docsUrl: String(definition?.help?.docsUrl || '').trim(), - example: String(definition?.help?.example || '').trim(), - examples: Array.isArray(definition?.help?.examples) - ? definition.help.examples.map((example) => String(example || '').trim()).filter(Boolean) - : [], - exampleReturnValues: Array.isArray(definition?.help?.exampleReturnValues) - ? definition.help.exampleReturnValues.map((value) => String(value || '').trim()).filter(Boolean) - : [], - returnType: String(definition?.help?.returnType || '').trim(), - args: Array.isArray(definition?.help?.args) - ? definition.help.args.map((arg) => ({ - name: String(arg?.name || '').trim(), - type: String(arg?.type || '').trim(), - required: arg?.required === true, - description: String(arg?.description || '').trim(), - examples: Array.isArray(arg?.examples) ? arg.examples.filter((value) => value !== undefined) : [], - })) - : [], + fakerDocsUrl: String(definition?.help?.fakerDocsUrl || '').trim(), + usageExamples: normalizedUsageExamples, + validator: definition?.help?.validator, + returnType, + args: normalizedArgs, }, }; }); @@ -147,11 +230,12 @@ function normalizeDomainKeywordHelp(keyword) { return { canonical: String(keyword.canonical || '').trim(), keyword: String(keyword.keyword || '').trim(), + argTransform: String(keyword.delegate?.argTransform || '').trim(), summary: String(keyword.help?.summary || '').trim(), docsUrl: String(keyword.help?.docsUrl || '').trim(), - example: String(keyword.help?.example || '').trim(), - examples: Array.isArray(keyword.help?.examples) ? keyword.help.examples : [], - exampleReturnValues: Array.isArray(keyword.help?.exampleReturnValues) ? keyword.help.exampleReturnValues : [], + fakerDocsUrl: String(keyword.help?.fakerDocsUrl || '').trim(), + usageExamples: Array.isArray(keyword.help?.usageExamples) ? keyword.help.usageExamples : [], + validator: keyword.help?.validator, returnType: String(keyword.help?.returnType || '').trim(), args: Array.isArray(keyword.help?.args) ? keyword.help.args : [], }; @@ -204,6 +288,9 @@ function isTypeMatch(value, typeName) { if (item === 'boolean' && typeof value === 'boolean') return true; if (item === 'array' && Array.isArray(value)) return true; if (item === 'object' && value !== null && typeof value === 'object' && !Array.isArray(value)) return true; + if (isQuotedLiteralTypeToken(item) && typeof value === 'string' && value === unquoteLiteralTypeToken(item)) + return true; + if (typeof value === 'string' && value === item) return true; } return false; } diff --git a/packages/core/js/faker/faker-commands.js b/packages/core/js/faker/faker-commands.js index ae322c81..03552110 100644 --- a/packages/core/js/faker/faker-commands.js +++ b/packages/core/js/faker/faker-commands.js @@ -150,7 +150,6 @@ const KNOWN_FAKER_COMMANDS = [ 'image.avatarGitHub', 'image.personPortrait', 'image.url', - 'image.urlLoremFlickr', 'image.urlPicsumPhotos', 'image.dataUri', 'internet.email', diff --git a/packages/core/js/faker/faker-helper-keyword-definitions.js b/packages/core/js/faker/faker-helper-keyword-definitions.js index 23778916..e643c435 100644 --- a/packages/core/js/faker/faker-helper-keyword-definitions.js +++ b/packages/core/js/faker/faker-helper-keyword-definitions.js @@ -1,4 +1,11 @@ import { getDomainKeywordHelpByAlias } from '../domain/domain-keywords.js'; +import { normalizeUsageExamples } from '../command-help/command-help-contract.js'; +import { + validateAnyValue, + validateArrayValue, + validateNumberValue, + validateStringValue, +} from '../command-help/command-help-validators.js'; const FAKER_HELPERS_DOCS_URL = 'https://fakerjs.dev/api/helpers'; @@ -7,8 +14,8 @@ const FAKER_HELPERS_DOCS_URL = 'https://fakerjs.dev/api/helpers'; const FAKER_HELPER_KEYWORD_DEFINITIONS = { 'helpers.fake': { summary: 'Interpolates faker template placeholders inside a string and returns the rendered result.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -18,12 +25,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Template string containing faker placeholders such as {{person.firstName}} or {{location.city}}.', }, ], - examples: ['helpers.fake("Hi, my name is {{person.firstName}} {{person.lastName}}!")'], + usageExamples: [ + { + functionCall: 'helpers.fake("Hi, my name is {{person.firstName}} {{person.lastName}}!")', + sampleReturnValue: 'Hi, my name is Aaliyah Bosco!', + description: 'Shows helpers.fake in use.', + }, + ], }, 'helpers.mustache': { summary: 'Replaces {{placeholder}} tokens in a string using values from the supplied data object.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -39,12 +52,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Object that provides replacement values for the placeholders used in the text.', }, ], - examples: ['helpers.mustache("Hello {{name}}", { name: "Ada" })'], + usageExamples: [ + { + functionCall: 'helpers.mustache("Hello {{name}}", { name: "Ada" })', + sampleReturnValue: 'Hello Ada', + description: 'Shows helpers.mustache in use.', + }, + ], }, 'helpers.fromRegExp': { summary: 'Generates a string that matches the supplied regular-expression-style pattern.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -54,12 +73,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Regular expression, or regex-like string, used to generate matching output.', }, ], - examples: ['helpers.fromRegExp("[A-Z]{2}[0-9]{2}")'], + usageExamples: [ + { + functionCall: 'helpers.fromRegExp("[A-Z]{2}[0-9]{2}")', + sampleReturnValue: 'KS03', + description: 'Shows helpers.fromRegExp in use.', + }, + ], }, 'helpers.maybe': { summary: 'Calls a callback and returns its value only when faker decides the optional value should be present.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, returnType: 'unknown', params: [ { @@ -75,12 +100,23 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Optional configuration controlling probability and fallback behavior.', }, ], - examples: ['helpers.maybe(() => "enabled")'], + usageExamples: [ + { + functionCall: 'helpers.maybe(() => "enabled")', + sampleReturnValue: 'enabled', + description: 'Shows helpers.maybe using only the callback argument.', + }, + { + functionCall: 'helpers.maybe(() => "enabled", { probability: 1 })', + sampleReturnValue: 'enabled', + description: 'Shows helpers.maybe forcing the callback branch with an options object.', + }, + ], }, 'helpers.arrayElement': { summary: 'Returns one random element from the supplied array.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, returnType: 'unknown', params: [ { @@ -90,12 +126,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Array of candidate values to choose from.', }, ], - examples: ['helpers.arrayElement(["A", "B", "C"])'], + usageExamples: [ + { + functionCall: 'helpers.arrayElement(["A", "B", "C"])', + sampleReturnValue: 'B', + description: 'Shows helpers.arrayElement in use.', + }, + ], }, 'helpers.objectKey': { summary: 'Returns one random key from the supplied object.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -105,12 +147,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Object whose enumerable keys are used as candidate values.', }, ], - examples: ['helpers.objectKey({ red: "#f00", blue: "#00f" })'], + usageExamples: [ + { + functionCall: 'helpers.objectKey({ red: "#f00", blue: "#00f" })', + sampleReturnValue: 'red', + description: 'Shows helpers.objectKey in use.', + }, + ], }, 'helpers.objectValue': { summary: 'Returns one random value from the supplied object.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, returnType: 'unknown', params: [ { @@ -120,12 +168,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Object whose enumerable values are used as candidate values.', }, ], - examples: ['helpers.objectValue({ red: "#f00", blue: "#00f" })'], + usageExamples: [ + { + functionCall: 'helpers.objectValue({ red: "#f00", blue: "#00f" })', + sampleReturnValue: '#f00', + description: 'Shows helpers.objectValue in use.', + }, + ], }, 'helpers.objectEntry': { summary: 'Returns one random [key, value] entry from the supplied object.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, returnType: 'array', params: [ { @@ -135,12 +189,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Object whose enumerable entries are used as candidate values.', }, ], - examples: ['helpers.objectEntry({ red: "#f00", blue: "#00f" })'], + usageExamples: [ + { + functionCall: 'helpers.objectEntry({ red: "#f00", blue: "#00f" })', + sampleReturnValue: ['red', '#f00'], + description: 'Shows helpers.objectEntry in use.', + }, + ], }, 'helpers.enumValue': { summary: 'Returns one random value from the supplied enum-like object.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, returnType: 'unknown', params: [ { @@ -150,12 +210,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Enum-like object to sample from while ignoring numeric reverse-mapping keys.', }, ], - examples: ['helpers.enumValue({ Pending: "pending", Active: "active" })'], + usageExamples: [ + { + functionCall: 'helpers.enumValue({ Pending: "pending", Active: "active" })', + sampleReturnValue: 'pending', + description: 'Shows helpers.enumValue in use.', + }, + ], }, 'helpers.slugify': { summary: 'Converts a string into a URL-friendly slug.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -165,12 +231,23 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Input text to normalize into a lowercase, hyphen-separated slug.', }, ], - examples: ['helpers.slugify("Hello World 2026")'], + usageExamples: [ + { + functionCall: 'helpers.slugify("Hello World 2026")', + sampleReturnValue: 'Hello-World-2026', + description: 'Shows helpers.slugify in use.', + }, + { + functionCall: 'helpers.slugify()', + sampleReturnValue: '', + description: 'Shows helpers.slugify when optional params are omitted.', + }, + ], }, 'helpers.replaceSymbols': { summary: 'Replaces placeholder symbols such as # and ? in a string with random digits or letters.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -180,12 +257,23 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Template string containing placeholder symbols to replace.', }, ], - examples: ['helpers.replaceSymbols("##??-##")'], + usageExamples: [ + { + functionCall: 'helpers.replaceSymbols("##??-##")', + sampleReturnValue: '47AH-10', + description: 'Shows helpers.replaceSymbols in use.', + }, + { + functionCall: 'helpers.replaceSymbols()', + sampleReturnValue: '', + description: 'Shows helpers.replaceSymbols when optional params are omitted.', + }, + ], }, 'helpers.replaceCreditCardSymbols': { summary: 'Replaces credit-card placeholders and computes a valid Luhn checksum for the result.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: 'demo-card-####-fake', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, returnType: 'string', params: [ { @@ -201,12 +289,28 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Replacement symbol to use for digit placeholders instead of the default #.', }, ], - examples: ['helpers.replaceCreditCardSymbols("1234-[4-9]-##!!-L")'], + usageExamples: [ + { + functionCall: 'helpers.replaceCreditCardSymbols()', + sampleReturnValue: '6453-4703-1013-3546-2807', + description: 'Shows helpers.replaceCreditCardSymbols with all optional params omitted.', + }, + { + functionCall: 'helpers.replaceCreditCardSymbols("1234-[4-9]-##!!-L")', + sampleReturnValue: '1234-6-7043-6', + description: 'Shows helpers.replaceCreditCardSymbols using the default placeholder symbols.', + }, + { + functionCall: 'helpers.replaceCreditCardSymbols("1234-****-****-L", "*")', + sampleReturnValue: '1234-4703-1013-1', + description: 'Shows helpers.replaceCreditCardSymbols using a custom digit placeholder symbol.', + }, + ], }, 'helpers.shuffle': { summary: 'Returns a shuffled copy of the supplied array.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, returnType: 'array', params: [ { @@ -216,12 +320,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Array of values to shuffle.', }, ], - examples: ['helpers.shuffle(["A", "B", "C"])'], + usageExamples: [ + { + functionCall: 'helpers.shuffle(["A", "B", "C"])', + sampleReturnValue: ['A', 'C', 'B'], + description: 'Shows helpers.shuffle in use.', + }, + ], }, 'helpers.uniqueArray': { summary: 'Builds an array of unique values by repeatedly sampling a source until the requested length is reached.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '[]', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, returnType: 'array', params: [ { @@ -237,12 +347,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Number of unique values to return.', }, ], - examples: ['helpers.uniqueArray(["red", "green", "blue"], 2)'], + usageExamples: [ + { + functionCall: 'helpers.uniqueArray(["red", "green", "blue"], 2)', + sampleReturnValue: ['red', 'blue'], + description: 'Shows helpers.uniqueArray in use.', + }, + ], }, 'helpers.weightedArrayElement': { summary: 'Returns one value from a weighted array, favoring entries with higher weights.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, returnType: 'unknown', params: [ { @@ -252,12 +368,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Array of { weight, value } objects used for weighted selection.', }, ], - examples: ['helpers.weightedArrayElement([{ weight: 5, value: "sunny" }, { weight: 1, value: "rainy" }])'], + usageExamples: [ + { + functionCall: 'helpers.weightedArrayElement([{ weight: 5, value: "sunny" }, { weight: 1, value: "rainy" }])', + sampleReturnValue: 'sunny', + description: 'Shows helpers.weightedArrayElement in use.', + }, + ], }, 'helpers.arrayElements': { summary: 'Returns multiple random elements from the supplied array.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, returnType: 'array', params: [ { @@ -273,12 +395,23 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Exact number of items to return, or a min/max range for the returned item count.', }, ], - examples: ['helpers.arrayElements(["A", "B", "C"], 2)'], + usageExamples: [ + { + functionCall: 'helpers.arrayElements(["A", "B", "C"], 2)', + sampleReturnValue: ['C', 'B'], + description: 'Shows helpers.arrayElements in use.', + }, + { + functionCall: 'helpers.arrayElements(["A","B","C"], 5)', + sampleReturnValue: ['A', 'C', 'B'], + description: 'Shows helpers.arrayElements using count.', + }, + ], }, 'helpers.rangeToNumber': { summary: 'Converts a number or { min, max } range into a concrete number.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '2', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateNumberValue, returnType: 'number', params: [ { @@ -288,12 +421,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Fixed number or range object to resolve into a single numeric value.', }, ], - examples: ['helpers.rangeToNumber({ min: 1, max: 2 })'], + usageExamples: [ + { + functionCall: 'helpers.rangeToNumber({ min: 1, max: 2 })', + sampleReturnValue: 1, + description: 'Shows helpers.rangeToNumber in use.', + }, + ], }, 'helpers.multiple': { summary: 'Calls a generator callback multiple times and returns the collected results as an array.', - docsUrl: FAKER_HELPERS_DOCS_URL, - example: '[null,null,null]', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, returnType: 'array', params: [ { @@ -309,7 +448,18 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { description: 'Exact count or configuration controlling how many values to generate.', }, ], - examples: ['helpers.multiple(() => faker.person.firstName(), { count: 3 })'], + usageExamples: [ + { + functionCall: 'helpers.multiple(() => "sample", { count: 3 })', + sampleReturnValue: ['sample', 'sample', 'sample'], + description: 'Shows helpers.multiple collecting three callback results with an explicit count.', + }, + { + functionCall: 'helpers.multiple(() => "sample")', + sampleReturnValue: ['sample', 'sample', 'sample'], + description: 'Shows helpers.multiple using the default repetition count.', + }, + ], }, }; @@ -318,28 +468,39 @@ function normalizeFakerHelperKeywordHelp(definition) { return undefined; } + const normalizedParams = Array.isArray(definition.params) + ? definition.params.map((param) => ({ + name: String(param.name || '').trim(), + optional: param.optional !== false, + type: String(param.type || '').trim(), + description: String(param.description || '').trim(), + examples: Array.isArray(param.examples) ? param.examples : [], + })) + : []; + const returnType = String(definition.returnType || '').trim(); + const usageExamples = normalizeUsageExamples({ + command: definition.command || '', + returnType, + usageExamples: definition.usageExamples, + }); + return { summary: String(definition.summary || '').trim(), - params: Array.isArray(definition.params) - ? definition.params.map((param) => ({ - name: String(param.name || '').trim(), - optional: param.optional !== false, - type: String(param.type || '').trim(), - description: String(param.description || '').trim(), - examples: Array.isArray(param.examples) ? param.examples : [], - })) - : [], + params: normalizedParams, docsUrl: String(definition.docsUrl || '').trim(), - example: String(definition.example || '').trim(), - examples: Array.isArray(definition.examples) ? definition.examples : [], - exampleReturnValues: Array.isArray(definition.exampleReturnValues) ? definition.exampleReturnValues : [], - returnType: String(definition.returnType || '').trim(), + fakerDocsUrl: String(definition.fakerDocsUrl || '').trim(), + usageExamples, + validator: definition.validator, + returnType, }; } function buildFakerHelperHelpMetadata(definitions = FAKER_HELPER_KEYWORD_DEFINITIONS) { return Object.fromEntries( - Object.entries(definitions).map(([command, definition]) => [command, normalizeFakerHelperKeywordHelp(definition)]) + Object.entries(definitions).map(([command, definition]) => [ + command, + normalizeFakerHelperKeywordHelp({ ...definition, command }), + ]) ); } @@ -348,7 +509,7 @@ function getFakerHelperKeywordHelp(commandValue, definitions = FAKER_HELPER_KEYW if (!Object.prototype.hasOwnProperty.call(definitions, command)) { return undefined; } - return normalizeFakerHelperKeywordHelp(definitions[command]); + return normalizeFakerHelperKeywordHelp({ ...definitions[command], command }); } function mapDomainKeywordHelpToFakerCommandHelp(commandHelp) { @@ -356,22 +517,30 @@ function mapDomainKeywordHelpToFakerCommandHelp(commandHelp) { return undefined; } + const params = Array.isArray(commandHelp.args) + ? commandHelp.args.map((arg) => ({ + name: arg.name, + optional: arg.required !== true, + type: arg.type, + description: arg.description || '', + examples: Array.isArray(arg.examples) ? arg.examples : [], + })) + : []; + const returnType = commandHelp.returnType || ''; + const usageExamples = normalizeUsageExamples({ + command: commandHelp.keyword, + returnType, + usageExamples: commandHelp.usageExamples, + }); + return { summary: commandHelp.summary || '', - params: Array.isArray(commandHelp.args) - ? commandHelp.args.map((arg) => ({ - name: arg.name, - optional: arg.required !== true, - type: arg.type, - description: arg.description || '', - examples: Array.isArray(arg.examples) ? arg.examples : [], - })) - : [], + params, docsUrl: commandHelp.docsUrl || '', - example: commandHelp.example || '', - examples: Array.isArray(commandHelp.examples) ? commandHelp.examples : [], - exampleReturnValues: Array.isArray(commandHelp.exampleReturnValues) ? commandHelp.exampleReturnValues : [], - returnType: commandHelp.returnType || '', + fakerDocsUrl: commandHelp.fakerDocsUrl || '', + usageExamples, + validator: commandHelp.validator, + returnType, }; } diff --git a/packages/core/package.json b/packages/core/package.json index 360a66ea..07292556 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -9,6 +9,7 @@ "./mcp/*": "./js/mcp/*", "./faker/*": "./js/faker/*", "./domain/*": "./js/domain/*", + "./command-help/*": "./js/command-help/*", "./data_formats/*": "./js/data_formats/*", "./data_generation/*": "./js/data_generation/*", "./grid/*": "./js/grid/*", diff --git a/packages/core/src/tests/command-help/command-definition-usage-examples.test.js b/packages/core/src/tests/command-help/command-definition-usage-examples.test.js new file mode 100644 index 00000000..fdaeaec2 --- /dev/null +++ b/packages/core/src/tests/command-help/command-definition-usage-examples.test.js @@ -0,0 +1,225 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { pathToFileURL } from 'node:url'; + +const repoRoot = path.resolve(process.cwd()); +const domainDefinitionsDir = path.join(repoRoot, 'packages/core/js/domain'); +const fakerDefinitionsFile = path.join(repoRoot, 'packages/core/js/faker/faker-helper-keyword-definitions.js'); + +function collectDomainDefinitionFiles() { + return fs + .readdirSync(domainDefinitionsDir) + .filter((fileName) => fileName.endsWith('definitions.js')) + .map((fileName) => path.join(domainDefinitionsDir, fileName)); +} + +function collectExportedDefinitionValues(moduleNamespace) { + return Object.entries(moduleNamespace) + .filter(([, value]) => Array.isArray(value) || (value && typeof value === 'object')) + .filter(([exportName]) => exportName.endsWith('_DEFINITIONS')); +} + +function findMissingUsageExamplesInDomainDefinitions(definitions = [], exportName, modulePath) { + return definitions.flatMap((definition, index) => { + const help = definition?.help; + const hasUsageExamplesProperty = Object.prototype.hasOwnProperty.call(help || {}, 'usageExamples'); + const usageExamples = Array.isArray(help?.usageExamples) ? help.usageExamples : []; + if (hasUsageExamplesProperty && usageExamples.length > 0) { + return []; + } + + return [ + { + modulePath, + exportName, + keyword: definition?.keyword || `(index ${index})`, + hasUsageExamplesProperty, + usageExampleCount: usageExamples.length, + }, + ]; + }); +} + +function findMissingUsageExamplesInFakerHelperDefinitions(definitions = {}, exportName, modulePath) { + return Object.entries(definitions).flatMap(([command, definition]) => { + const hasUsageExamplesProperty = Object.prototype.hasOwnProperty.call(definition || {}, 'usageExamples'); + const usageExamples = Array.isArray(definition?.usageExamples) ? definition.usageExamples : []; + if (hasUsageExamplesProperty && usageExamples.length > 0) { + return []; + } + + return [ + { + modulePath, + exportName, + command, + hasUsageExamplesProperty, + usageExampleCount: usageExamples.length, + }, + ]; + }); +} + +function findLegacyExampleFieldsInDomainDefinitions(definitions = [], exportName, modulePath) { + return definitions.flatMap((definition, index) => { + const help = definition?.help || {}; + const legacyFields = ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => + Object.prototype.hasOwnProperty.call(help, fieldName) + ); + if (legacyFields.length === 0) { + return []; + } + + return [ + { + modulePath, + exportName, + keyword: definition?.keyword || `(index ${index})`, + legacyFields, + }, + ]; + }); +} + +function findLegacyExampleFieldsInFakerHelperDefinitions(definitions = {}, exportName, modulePath) { + return Object.entries(definitions).flatMap(([command, definition]) => { + const legacyFields = ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => + Object.prototype.hasOwnProperty.call(definition || {}, fieldName) + ); + if (legacyFields.length === 0) { + return []; + } + + return [ + { + modulePath, + exportName, + command, + legacyFields, + }, + ]; + }); +} + +function findMissingValidatorsInDomainDefinitions(definitions = [], exportName, modulePath) { + return definitions.flatMap((definition, index) => { + const help = definition?.help || {}; + const hasValidatorProperty = Object.prototype.hasOwnProperty.call(help, 'validator'); + if (hasValidatorProperty && typeof help.validator === 'function') { + return []; + } + + return [ + { + modulePath, + exportName, + keyword: definition?.keyword || `(index ${index})`, + hasValidatorProperty, + validatorType: typeof help.validator, + }, + ]; + }); +} + +function findMissingValidatorsInFakerHelperDefinitions(definitions = {}, exportName, modulePath) { + return Object.entries(definitions).flatMap(([command, definition]) => { + const hasValidatorProperty = Object.prototype.hasOwnProperty.call(definition || {}, 'validator'); + if (hasValidatorProperty && typeof definition?.validator === 'function') { + return []; + } + + return [ + { + modulePath, + exportName, + command, + hasValidatorProperty, + validatorType: typeof definition?.validator, + }, + ]; + }); +} + +describe('keyword definition usage examples contract', () => { + test('all domain definition modules export definitions with explicit help.usageExamples', async () => { + const missingUsageExamples = []; + + for (const modulePath of collectDomainDefinitionFiles()) { + const moduleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { + if (!Array.isArray(value)) { + continue; + } + missingUsageExamples.push(...findMissingUsageExamplesInDomainDefinitions(value, exportName, modulePath)); + } + } + + expect(missingUsageExamples).toEqual([]); + }); + + test('faker helper definition modules export definitions with explicit usageExamples', async () => { + const moduleNamespace = await import(pathToFileURL(fakerDefinitionsFile).href); + const missingUsageExamples = []; + + for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + continue; + } + missingUsageExamples.push( + ...findMissingUsageExamplesInFakerHelperDefinitions(value, exportName, fakerDefinitionsFile) + ); + } + + expect(missingUsageExamples).toEqual([]); + }); + + test('keyword definition exports do not expose legacy example fields', async () => { + const legacyFieldFailures = []; + + for (const modulePath of collectDomainDefinitionFiles()) { + const moduleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { + if (!Array.isArray(value)) { + continue; + } + legacyFieldFailures.push(...findLegacyExampleFieldsInDomainDefinitions(value, exportName, modulePath)); + } + } + + const fakerModuleNamespace = await import(pathToFileURL(fakerDefinitionsFile).href); + for (const [exportName, value] of collectExportedDefinitionValues(fakerModuleNamespace)) { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + continue; + } + legacyFieldFailures.push( + ...findLegacyExampleFieldsInFakerHelperDefinitions(value, exportName, fakerDefinitionsFile) + ); + } + + expect(legacyFieldFailures).toEqual([]); + }); + + test('keyword definition exports expose explicit validator functions', async () => { + const missingValidators = []; + + for (const modulePath of collectDomainDefinitionFiles()) { + const moduleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { + if (!Array.isArray(value)) { + continue; + } + missingValidators.push(...findMissingValidatorsInDomainDefinitions(value, exportName, modulePath)); + } + } + + const fakerModuleNamespace = await import(pathToFileURL(fakerDefinitionsFile).href); + for (const [exportName, value] of collectExportedDefinitionValues(fakerModuleNamespace)) { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + continue; + } + missingValidators.push(...findMissingValidatorsInFakerHelperDefinitions(value, exportName, fakerDefinitionsFile)); + } + + expect(missingValidators).toEqual([]); + }); +}); diff --git a/packages/core/src/tests/command-help/command-help-examples.test.js b/packages/core/src/tests/command-help/command-help-examples.test.js new file mode 100644 index 00000000..e0a28339 --- /dev/null +++ b/packages/core/src/tests/command-help/command-help-examples.test.js @@ -0,0 +1,487 @@ +import { Faker, faker as baseFaker } from '@faker-js/faker'; +import { validateCommandHelpValue } from '../../../js/command-help/command-help-contract.js'; +import { + executeDomainKeyword, + DOMAIN_KEYWORDS, + DOMAIN_KEYWORD_DEFINITIONS, + getDomainKeywordHelpByAlias, +} from '../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../js/domain/domain-keyword-parser.js'; +import { KNOWN_FAKER_COMMANDS } from '../../../js/faker/faker-commands.js'; +import { isForbiddenFakerCommand } from '../../../js/faker/faker-commands.js'; +import { getFakerCommandHelp } from '../../../js/faker/faker-helper-keyword-definitions.js'; +import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../js/faker/faker-helper-keyword-definitions.js'; +import { FakerCommand } from '../../../js/data_generation/faker/fakerCommand.js'; +import { DomainKeywordInvocationParser } from '../../../js/domain/parser/DomainKeywordInvocationParser.js'; + +const DOMAIN_INVOCATION_PARSER = new DomainKeywordInvocationParser(); +const EXAMPLE_SEED = 1; +const EXAMPLE_REF_DATE = new Date('2026-06-18T15:55:20.000Z'); +const EXAMPLE_MATH_RANDOM = 0.5; + +function createExampleFaker() { + const faker = new Faker({ locale: baseFaker.rawDefinitions }); + faker.seed(EXAMPLE_SEED); + faker.setDefaultRefDate(EXAMPLE_REF_DATE); + return faker; +} + +function isRequiredParam(param) { + return param?.required === true || param?.optional === false; +} + +function splitTopLevelArguments(argsText = '') { + const args = []; + let current = ''; + let depth = 0; + let quote = ''; + let escaping = false; + + for (const character of String(argsText || '')) { + if (escaping) { + current += character; + escaping = false; + continue; + } + + if (quote) { + current += character; + if (character === '\\') { + escaping = true; + continue; + } + if (character === quote) { + quote = ''; + } + continue; + } + + if (character === '"' || character === "'") { + quote = character; + current += character; + continue; + } + + if (character === '(' || character === '[' || character === '{') { + depth += 1; + current += character; + continue; + } + + if (character === ')' || character === ']' || character === '}') { + depth = Math.max(0, depth - 1); + current += character; + continue; + } + + if (character === ',' && depth === 0) { + if (current.trim()) { + args.push(current.trim()); + } + current = ''; + continue; + } + + current += character; + } + + if (current.trim()) { + args.push(current.trim()); + } + + return args; +} + +function getHelperExampleArgCount(functionCall) { + const trimmed = String(functionCall || '').trim(); + const openParenIndex = trimmed.indexOf('('); + if (openParenIndex === -1) { + return 0; + } + + const inner = trimmed.slice(openParenIndex + 1, -1).trim(); + if (!inner) { + return 0; + } + + return splitTopLevelArguments(inner).length; +} + +function extractInvocationParams(functionCall) { + const trimmed = String(functionCall || '').trim(); + const openParenIndex = trimmed.indexOf('('); + if (openParenIndex === -1) { + return ''; + } + return trimmed.slice(openParenIndex); +} + +function getOptionalCompanionNames(params = [], targetParam = {}) { + const paramsByName = new Map(params.map((param) => [param.name, param])); + const companionNames = []; + + if (targetParam?.name === 'min' && !isRequiredParam(paramsByName.get('max'))) { + companionNames.push('max'); + } + if (targetParam?.name === 'inputFormat' && !isRequiredParam(paramsByName.get('start'))) { + companionNames.push('start'); + } + + return companionNames.filter(Boolean); +} + +function normalizeExampleValue(value) { + if (value instanceof Date) { + return value.toISOString(); + } + + if (typeof value === 'bigint') { + return { + __type: 'bigint', + value: value.toString(), + }; + } + + if (Array.isArray(value)) { + return value.map((entry) => normalizeExampleValue(entry)); + } + + if (value && typeof value === 'object') { + return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, normalizeExampleValue(entry)])); + } + + return value; +} + +function withDeterministicMathRandom(callback) { + const originalRandom = Math.random; + Math.random = () => EXAMPLE_MATH_RANDOM; + try { + return callback(); + } finally { + Math.random = originalRandom; + } +} + +function executeFakerExample(functionCall) { + return withDeterministicMathRandom(() => { + const faker = createExampleFaker(); + const command = new FakerCommand(functionCall, { unsafeFakerExpressions: true }); + const parseResult = command.parse(); + expect(parseResult.isError).toBe(false); + + const compileResult = command.compile(faker); + expect(compileResult?.isError || false).toBe(false); + + const executionResult = command.execute(faker); + expect(executionResult.isError).toBe(false); + return executionResult.data; + }); +} + +function executeDomainExample(functionCall) { + return withDeterministicMathRandom(() => { + const faker = createExampleFaker(); + const parsed = parseKeywordInvocation(functionCall); + expect(parsed.errors || []).toEqual([]); + return executeDomainKeyword(parsed.keyword, { + faker, + args: parsed.args, + runStartedAt: EXAMPLE_REF_DATE, + }); + }); +} + +function buildFakerCommandCases() { + const domainDefinitionByKeyword = new Map( + DOMAIN_KEYWORD_DEFINITIONS.map((definition) => [definition.keyword, definition]) + ); + + return KNOWN_FAKER_COMMANDS.filter((command) => command !== 'RegEx').map((command) => { + const help = getFakerCommandHelp(command); + const sourceDefinition = + FAKER_HELPER_KEYWORD_DEFINITIONS[command] || domainDefinitionByKeyword.get(command) || null; + + return { + catalog: 'faker', + command, + help, + sourceDefinition, + sourceValidator: sourceDefinition?.validator || sourceDefinition?.help?.validator, + params: Array.isArray(help?.params) ? help.params : [], + }; + }); +} + +function buildDomainCommandCases() { + const definitionByKeyword = new Map(DOMAIN_KEYWORD_DEFINITIONS.map((definition) => [definition.keyword, definition])); + + return DOMAIN_KEYWORDS.map((entry) => ({ + catalog: 'domain', + command: entry.keyword, + help: getDomainKeywordHelpByAlias(entry.keyword), + sourceDefinition: definitionByKeyword.get(entry.keyword) || null, + sourceValidator: definitionByKeyword.get(entry.keyword)?.help?.validator, + params: Array.isArray(entry.help?.args) ? entry.help.args : [], + })); +} + +function buildValidationContext(entry, usageExample) { + const fieldDefinition = { + sourceType: entry.catalog, + command: entry.command, + params: extractInvocationParams(usageExample.functionCall), + ruleSpec: usageExample.functionCall, + }; + + const context = { + catalog: entry.catalog, + command: entry.command, + functionCall: usageExample.functionCall, + ruleSpec: usageExample.functionCall, + fieldDefinition, + help: entry.help, + sourceDefinition: entry.sourceDefinition, + }; + + if (!entry.command.startsWith('helpers.')) { + const parsed = parseKeywordInvocation(usageExample.functionCall); + expect(parsed.errors || []).toEqual([]); + context.args = parsed.args; + context.parsedArgs = parsed.args; + } + + return context; +} + +describe('command help usage examples', () => { + const fakerCases = buildFakerCommandCases(); + const domainCases = buildDomainCommandCases(); + const commandCases = [...fakerCases, ...domainCases]; + + test('all commands expose at least one structured usage example', () => { + const missing = commandCases + .filter((entry) => !Array.isArray(entry.help?.usageExamples) || entry.help.usageExamples.length === 0) + .map((entry) => `${entry.catalog}:${entry.command}`); + + expect(missing).toEqual([]); + }); + + test('commands expose at least one usage example per optional param, plus a zero-arg example when all params are optional', () => { + const missingCoverage = commandCases + .map((entry) => { + const optionalCount = entry.params.filter((param) => !isRequiredParam(param)).length; + const allParamsOptional = entry.params.length > 0 && optionalCount === entry.params.length; + const minimumExampleCount = Math.max(1, optionalCount + (allParamsOptional ? 1 : 0)); + return { + ...entry, + optionalCount, + minimumExampleCount, + }; + }) + .filter((entry) => (entry.help?.usageExamples?.length || 0) < entry.minimumExampleCount) + .map((entry) => ({ + command: `${entry.catalog}:${entry.command}`, + optionalParamCount: entry.optionalCount, + minimumExampleCount: entry.minimumExampleCount, + usageExampleCount: entry.help?.usageExamples?.length || 0, + })); + + expect(missingCoverage).toEqual([]); + }); + + test('each optional parameter has a focused usage example and all-optional commands include a zero-arg example', () => { + const failures = commandCases.flatMap((entry) => { + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + const optionalParams = entry.params + .map((param, index) => ({ ...param, index })) + .filter((param) => !isRequiredParam(param)); + const requiredParamNames = new Set(entry.params.filter(isRequiredParam).map((param) => param.name)); + const lastRequiredIndex = entry.params.reduce( + (current, param, index) => (isRequiredParam(param) ? index : current), + -1 + ); + const entryFailures = []; + + if (entry.params.length > 0 && optionalParams.length === entry.params.length) { + const hasZeroArgExample = usageExamples.some((usageExample) => { + if (entry.command.startsWith('helpers.')) { + return getHelperExampleArgCount(usageExample.functionCall) === 0; + } + const parsed = DOMAIN_INVOCATION_PARSER.parse(usageExample.functionCall); + return parsed.ok && (parsed.arguments || []).length === 0; + }); + + if (!hasZeroArgExample) { + entryFailures.push({ + command: `${entry.catalog}:${entry.command}`, + reason: 'missing zero-arg example for all-optional params', + }); + } + } + + for (const optionalParam of optionalParams) { + if (entry.command.startsWith('helpers.')) { + const requiredArgCount = Math.max(optionalParam.index + 1, lastRequiredIndex + 1); + const hasFocusedExample = usageExamples.some( + (usageExample) => getHelperExampleArgCount(usageExample.functionCall) === requiredArgCount + ); + + if (!hasFocusedExample) { + entryFailures.push({ + command: `${entry.catalog}:${entry.command}`, + param: optionalParam.name, + reason: `missing focused positional example with ${requiredArgCount} argument(s)`, + }); + } + + continue; + } + + const hasFocusedExample = usageExamples.some((usageExample) => { + const parsed = DOMAIN_INVOCATION_PARSER.parse(usageExample.functionCall); + if (!parsed.ok || parsed.keyword !== entry.command) { + return false; + } + + const namedArgs = (parsed.arguments || []) + .filter((argument) => argument.kind === 'named') + .map((arg) => arg.name); + if (!namedArgs.includes(optionalParam.name)) { + return false; + } + + const optionalArgNames = namedArgs.filter((name) => !requiredParamNames.has(name)); + const allowedOptionalArgNames = new Set([ + optionalParam.name, + ...getOptionalCompanionNames(entry.params, optionalParam), + ]); + + return optionalArgNames.every((name) => allowedOptionalArgNames.has(name)); + }); + + if (!hasFocusedExample) { + entryFailures.push({ + command: `${entry.catalog}:${entry.command}`, + param: optionalParam.name, + reason: 'missing focused named example for optional param', + }); + } + } + + return entryFailures; + }); + + expect(failures).toEqual([]); + }); + + test('all structured usage examples include functionCall, sampleReturnValue, and description', () => { + const invalidExamples = commandCases.flatMap((entry) => { + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + return usageExamples + .map((usageExample, index) => { + const hasFunctionCall = + typeof usageExample?.functionCall === 'string' && usageExample.functionCall.trim().length > 0; + const hasDescription = + typeof usageExample?.description === 'string' && usageExample.description.trim().length > 0; + const hasSampleReturnValue = Object.prototype.hasOwnProperty.call(usageExample || {}, 'sampleReturnValue'); + if ( + hasFunctionCall && + hasDescription && + hasSampleReturnValue && + typeof usageExample.sampleReturnValue !== 'undefined' + ) { + return null; + } + return { + command: `${entry.catalog}:${entry.command}`, + exampleIndex: index + 1, + usageExample, + }; + }) + .filter(Boolean); + }); + + expect(invalidExamples).toEqual([]); + }); + + test('runtime command help objects do not expose legacy example fields', () => { + const legacyFieldFailures = commandCases + .map((entry) => ({ + command: `${entry.catalog}:${entry.command}`, + legacyFields: ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => + Object.prototype.hasOwnProperty.call(entry.help || {}, fieldName) + ), + })) + .filter((entry) => entry.legacyFields.length > 0); + + expect(legacyFieldFailures).toEqual([]); + }); + + test('non-helper command help examples use domain named-parameter syntax', () => { + const invalidExamples = commandCases.flatMap((entry) => { + if (entry.command.startsWith('helpers.')) { + return []; + } + + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + return usageExamples + .map((usageExample, index) => { + const parsed = DOMAIN_INVOCATION_PARSER.parse(usageExample.functionCall); + const hasOnlyNamedArgs = (parsed.arguments || []).every((argument) => argument.kind === 'named'); + if (parsed.ok && parsed.keyword === entry.command && hasOnlyNamedArgs) { + return null; + } + return { + command: `${entry.catalog}:${entry.command}`, + exampleIndex: index + 1, + functionCall: usageExample.functionCall, + }; + }) + .filter(Boolean); + }); + + expect(invalidExamples).toEqual([]); + }); + + test('faker-style usage examples remain scoped to helpers only', () => { + const invalidExamples = fakerCases.flatMap((entry) => { + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + return usageExamples + .filter((usageExample) => { + const functionCall = String(usageExample.functionCall || '').trim(); + return functionCall !== entry.command && !functionCall.startsWith(`${entry.command}(`); + }) + .map((usageExample) => ({ + command: entry.command, + functionCall: usageExample.functionCall, + })); + }); + + expect(invalidExamples).toEqual([]); + }); + + for (const entry of commandCases) { + if (entry.catalog === 'faker' && isForbiddenFakerCommand(entry.command)) { + continue; + } + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + for (const [index, usageExample] of usageExamples.entries()) { + test(`${entry.catalog}:${entry.command} example ${index + 1} executes and validates`, () => { + const validator = entry.sourceValidator; + expect(validator).toBeDefined(); + expect(typeof validator).toBe('function'); + const validationContext = buildValidationContext(entry, usageExample); + + const actualValue = + entry.catalog === 'faker' && entry.command.startsWith('helpers.') + ? executeFakerExample(usageExample.functionCall) + : executeDomainExample(usageExample.functionCall); + + expect(validateCommandHelpValue(validator, actualValue, validationContext)).toBe(true); + expect(validateCommandHelpValue(validator, usageExample.sampleReturnValue, validationContext)).toBe(true); + expect(normalizeExampleValue(usageExample.sampleReturnValue)).toEqual(normalizeExampleValue(actualValue)); + }); + } + } +}); diff --git a/packages/core/src/tests/command-help/command-help-validators.test.js b/packages/core/src/tests/command-help/command-help-validators.test.js new file mode 100644 index 00000000..e26b64fa --- /dev/null +++ b/packages/core/src/tests/command-help/command-help-validators.test.js @@ -0,0 +1,356 @@ +import { validateCommandHelpValue } from '../../../js/command-help/command-help-contract.js'; +import { + createPredicateValidator, + createRegexValidator, + createStringEnumValidator, + validateAirlineIataCodeValue, + validateBinaryStringValue, + validateCounterStringValue, + validateCountryCodeValue, + validateCreditCardNumberValue, + validateEnumMemberValue, + validateIbanValue, + validateImeiValue, + validateIpValue, + validateIpv4Value, + validateIpv6Value, + validateIsbnValue, + validateMacAddressValue, + validateRoutingNumberValue, + validateLiteralValue, + validateTimeZoneValue, + validateUpcValue, + validateUrlValue, + validateUuidValue, + validateVinValue, + validateStringValue, +} from '../../../js/command-help/command-help-validators.js'; + +describe('command help validators', () => { + test('validateCommandHelpValue passes the validation context through to function validators', () => { + let receivedArgs = null; + const validator = (...args) => { + receivedArgs = args; + return true; + }; + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'string.counterString', + params: '(min=12, max=12, delimiter="#")', + ruleSpec: 'string.counterString(min=12, max=12, delimiter="#")', + }, + }; + + expect(validateCommandHelpValue(validator, '#3#5#7#9#12#', context)).toBe(true); + expect(receivedArgs).toEqual(['#3#5#7#9#12#', context]); + }); + + test('counterstring validator enforces the declared length bounds from the field definition', () => { + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'string.counterString', + params: '(min=12, max=12, delimiter="#")', + ruleSpec: 'string.counterString(min=12, max=12, delimiter="#")', + }, + args: [12, 12, '#'], + }; + + expect(validateCounterStringValue('#3#5#7#9#12#', context)).toBe(true); + expect(validateCounterStringValue('#3#5#7#9#', context)).toBe(false); + }); + + test('counterstring validator ignores delimiter choice and only validates the requested length range', () => { + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'string.counterString', + params: '(min=12, max=12, delimiter="#")', + ruleSpec: 'string.counterString(min=12, max=12, delimiter="#")', + }, + args: [12, 12, '#'], + }; + + expect(validateCounterStringValue('X3X5X7X9X12X', context)).toBe(true); + }); + + test('enum validator only allows values declared on the field definition', () => { + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'datatype.enum', + params: 'active,inactive,pending', + ruleSpec: 'datatype.enum(active,inactive,pending)', + }, + }; + + expect(validateEnumMemberValue('active', context)).toBe(true); + expect(validateEnumMemberValue('inactive', context)).toBe(true); + expect(validateEnumMemberValue('archived', context)).toBe(false); + }); + + test('literal validator matches the declared literal value exactly', () => { + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'literal.value', + params: '(value=true)', + ruleSpec: 'literal.value(value=true)', + }, + args: [true], + }; + + expect(validateLiteralValue(true, context)).toBe(true); + expect(validateLiteralValue('true', context)).toBe(false); + expect(validateLiteralValue(false, context)).toBe(false); + }); + + test('literal validator defaults to empty string when no literal value is provided', () => { + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'literal.value', + params: '()', + ruleSpec: 'literal.value()', + }, + args: [], + }; + + expect(validateLiteralValue('', context)).toBe(true); + expect(validateLiteralValue('Pending', context)).toBe(false); + }); + + test('string enum validators only allow declared values', () => { + const validator = createStringEnumValidator(['http', 'https']); + + expect(validator('http')).toBe(true); + expect(validator('https')).toBe(true); + expect(validator('ftp')).toBe(false); + expect(validator(123)).toBe(false); + }); + + test('regex validators require a non-empty string that matches the pattern', () => { + const validator = createRegexValidator(/^[A-Z]{2}$/u); + + expect(validator('AB')).toBe(true); + expect(validator('A1')).toBe(false); + expect(validator('')).toBe(false); + }); + + test('predicate validators can enforce semantic checks', () => { + const validator = createPredicateValidator((value) => value.endsWith('.json')); + + expect(validator('sample.json')).toBe(true); + expect(validator('sample.txt')).toBe(false); + expect(validator('')).toBe(false); + }); + + test('string validator requires non-empty strings by default', () => { + expect(validateStringValue('Alpha')).toBe(true); + expect(validateStringValue('')).toBe(false); + }); + + test('string validator allows empty string when a zero-length configuration is explicitly requested', () => { + const context = { + help: { + args: [{ name: 'length' }], + }, + args: [0], + fieldDefinition: { + sourceType: 'domain', + command: 'string.alpha', + params: '(length=0)', + ruleSpec: 'string.alpha(length=0)', + }, + }; + + expect(validateStringValue('', context)).toBe(true); + }); + + test('string validator allows empty string for helpers with empty input passthrough behavior', () => { + const context = { + command: 'helpers.slugify', + functionCall: 'helpers.slugify()', + fieldDefinition: { + sourceType: 'faker', + command: 'helpers.slugify', + ruleSpec: 'helpers.slugify()', + }, + }; + + expect(validateStringValue('', context)).toBe(true); + }); + + test('country code validator respects the requested variant', () => { + expect( + validateCountryCodeValue('GB', { + help: { + args: [{ name: 'variant' }], + }, + args: [], + }) + ).toBe(true); + + expect( + validateCountryCodeValue('GBR', { + help: { + args: [{ name: 'variant' }], + }, + args: ['alpha-3'], + }) + ).toBe(true); + + expect( + validateCountryCodeValue('826', { + help: { + args: [{ name: 'variant' }], + }, + args: ['numeric'], + }) + ).toBe(true); + + expect( + validateCountryCodeValue('GB', { + help: { + args: [{ name: 'variant' }], + }, + args: ['numeric'], + }) + ).toBe(false); + }); + + test('network validators distinguish ip address families', () => { + expect(validateIpValue('2001:db8::1')).toBe(true); + expect(validateIpv4Value('192.168.0.1')).toBe(true); + expect(validateIpv4Value('2001:db8::1')).toBe(false); + expect(validateIpv6Value('2001:db8::1')).toBe(true); + expect(validateIpv6Value('192.168.0.1')).toBe(false); + }); + + test('url validator enforces http and https urls', () => { + expect(validateUrlValue('https://example.com/path')).toBe(true); + expect(validateUrlValue('notaurl')).toBe(false); + expect( + validateUrlValue('https://example.com', { + help: { + args: [{ name: 'protocol' }], + }, + args: ['https'], + }) + ).toBe(true); + expect( + validateUrlValue('https://example.com', { + help: { + args: [{ name: 'protocol' }], + }, + args: ['http'], + }) + ).toBe(false); + }); + + test('mac validator respects the requested separator', () => { + expect(validateMacAddressValue('aa:bb:cc:dd:ee:ff')).toBe(true); + expect( + validateMacAddressValue('aa-bb-cc-dd-ee-ff', { + help: { + args: [{ name: 'separator' }], + }, + args: ['-'], + }) + ).toBe(true); + expect( + validateMacAddressValue('aabbccddeeff', { + help: { + args: [{ name: 'separator' }], + }, + args: [''], + }) + ).toBe(true); + expect(validateMacAddressValue('aa-bb-cc-dd-ee-ff')).toBe(false); + }); + + test('binary validator respects the configured prefix and length', () => { + expect( + validateBinaryStringValue('0b1010', { + help: { + args: [{ name: 'length' }, { name: 'prefix' }], + }, + args: [4], + }) + ).toBe(true); + + expect( + validateBinaryStringValue('PRE-1010', { + help: { + args: [{ name: 'length' }, { name: 'prefix' }], + }, + args: [4, 'PRE-'], + }) + ).toBe(true); + + expect( + validateBinaryStringValue('0b101', { + help: { + args: [{ name: 'length' }, { name: 'prefix' }], + }, + args: [4], + }) + ).toBe(false); + }); + + test('semantic document and payment validators enforce checksums', () => { + expect(validateIsbnValue('978-0-306-40615-7')).toBe(true); + expect(validateIsbnValue('978-0-306-40615-8')).toBe(false); + expect(validateUpcValue('036000291452')).toBe(true); + expect(validateUpcValue('036000291453')).toBe(false); + expect(validateCreditCardNumberValue('4111 1111 1111 1111')).toBe(true); + expect(validateCreditCardNumberValue('4111 1111 1111 1112')).toBe(false); + expect(validateImeiValue('35-209900-176148-1')).toBe(true); + expect(validateImeiValue('35-209900-176148-2')).toBe(false); + expect(validateRoutingNumberValue('011000015')).toBe(true); + expect(validateRoutingNumberValue('011000016')).toBe(false); + }); + + test('iban validator respects the optional country code constraint', () => { + expect(validateIbanValue('GB82 WEST 1234 5698 7654 32')).toBe(true); + expect( + validateIbanValue('GB82 WEST 1234 5698 7654 32', { + help: { + args: [{ name: 'countryCode' }, { name: 'formatted' }], + }, + args: ['GB', true], + }) + ).toBe(true); + expect( + validateIbanValue('DE89 3704 0044 0532 0130 00', { + help: { + args: [{ name: 'countryCode' }, { name: 'formatted' }], + }, + args: ['GB', true], + }) + ).toBe(false); + }); + + test('timezone validator recognises IANA timezone names', () => { + expect(validateTimeZoneValue('Europe/London')).toBe(true); + expect(validateTimeZoneValue('Mars/Phobos')).toBe(false); + }); + + test('uuid validator respects requested version and vin validator enforces vin shape', () => { + expect( + validateUuidValue('019edb71-aa40-76b0-8421-25686a3e0a68', { help: { args: [{ name: 'version' }] }, args: [7] }) + ).toBe(true); + expect( + validateUuidValue('6b042125-686a-43e0-8a68-23cf5bee102e', { help: { args: [{ name: 'version' }] }, args: [7] }) + ).toBe(false); + expect(validateVinValue('1M8GDM9AXKP042788')).toBe(true); + expect(validateVinValue('1M8GDM9AOKP042788')).toBe(false); + }); + + test('airline iata code validator rejects malformed codes', () => { + expect(validateAirlineIataCodeValue('BA')).toBe(true); + expect(validateAirlineIataCodeValue('B')).toBe(false); + expect(validateAirlineIataCodeValue('B-A')).toBe(false); + }); +}); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js index 4cfdce8b..a1912e18 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js @@ -26,8 +26,8 @@ describe('domain docs generator output', () => { const locationDoc = fs.readFileSync(path.join(docsDir, locationDocName), 'utf8'); - expect(locationDoc).toContain('- `{"name":"Icelandic","alpha2":"is","alpha3":"isl"}`'); - expect(locationDoc).not.toContain('{"name":"Icelandic","alpha2":"is","alpha3":"isl"}'); + expect(locationDoc).toMatch(/- `\{"name":"[^"]+","alpha2":"[a-z]{2}","alpha3":"[a-z]{3}"\}`/); + expect(locationDoc).not.toContain('{"name":'); } finally { fs.rmSync(docsDir, { recursive: true, force: true }); } diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js index d427919f..eb3d89eb 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js @@ -1,96 +1,37 @@ -import fs from 'node:fs'; -import path from 'node:path'; -import { fileURLToPath } from 'node:url'; import { DOMAIN_KEYWORDS } from '../../../../../js/domain/domain-keywords.js'; import { DomainKeywordInvocationParser } from '../../../../../js/domain/parser/DomainKeywordInvocationParser.js'; -function readDomainDocsTxtExamples() { - const testDir = path.dirname(fileURLToPath(import.meta.url)); - let rootDir = testDir; - while (rootDir && !fs.existsSync(path.join(rootDir, 'docs-src'))) { - const parent = path.dirname(rootDir); - if (parent === rootDir) { - break; - } - rootDir = parent; - } - const docsDir = path.resolve(rootDir, 'docs-src/docs/040-test-data/domain'); - const files = fs - .readdirSync(docsDir) - .filter((name) => name.endsWith('.md') && !name.endsWith('domain-test-data.md')) - .sort((a, b) => a.localeCompare(b)); - - const examples = []; - const keywordsWithoutLiteralExamples = new Set(); - for (const fileName of files) { - const body = fs.readFileSync(path.join(docsDir, fileName), 'utf8'); - const matches = [...body.matchAll(/```txt\s*\n([\s\S]*?)\n```/g)]; - for (const match of matches) { - const invocation = match[1].trim(); - if (invocation) { - examples.push(invocation); - } - } - - const sectionPattern = - /### `([^`]+)`[\s\S]*?Literal-only parser example is not currently available for this method\./g; - for (const match of body.matchAll(sectionPattern)) { - keywordsWithoutLiteralExamples.add(match[1]); - } - } - - return { examples, keywordsWithoutLiteralExamples }; -} - describe('domain docs parameter examples', () => { const invocationParser = new DomainKeywordInvocationParser(); - const docsExamples = readDomainDocsTxtExamples(); - - test('every keyword with curated named examples demonstrates each argument at least once', () => { - const usedByKeyword = new Map(); - - for (const invocation of docsExamples.examples) { - const parsed = invocationParser.parse(invocation); - if (!parsed.ok) { - continue; - } - - const namedArgs = parsed.arguments.filter((entry) => entry.kind === 'named').map((entry) => entry.name); - if (namedArgs.length === 0) { - continue; - } - const existing = usedByKeyword.get(parsed.keyword) || new Set(); - for (const name of namedArgs) { - existing.add(name); - } - usedByKeyword.set(parsed.keyword, existing); - } + test('curated named usage examples parse cleanly and only reference documented arguments', () => { + const invalid = []; - const missing = []; for (const keyword of DOMAIN_KEYWORDS) { - const curatedExamples = keyword.help?.examples || []; - if (!Array.isArray(curatedExamples) || curatedExamples.length === 0) { + const usageExamples = Array.isArray(keyword.help?.usageExamples) ? keyword.help.usageExamples : []; + if (usageExamples.length === 0) { continue; } - const argNames = (keyword.help?.args || []) - .map((arg) => arg.name) - .filter((argName) => Boolean(argName) && argName !== 'value'); - if (argNames.length === 0) { - continue; - } - if (docsExamples.keywordsWithoutLiteralExamples.has(keyword.keyword)) { - continue; - } - const demonstrated = usedByKeyword.get(keyword.keyword) || new Set(); - for (const argName of argNames) { - if (!demonstrated.has(argName)) { - missing.push(`${keyword.keyword}.${argName}`); + const documentedArgNames = new Set((keyword.help?.args || []).map((arg) => arg.name).filter(Boolean)); + for (const usageExample of usageExamples) { + const parsed = invocationParser.parse(String(usageExample?.functionCall || '').trim()); + if (!parsed.ok) { + invalid.push(`${keyword.keyword}:parse`); + continue; } + + parsed.arguments + .filter((entry) => entry.kind === 'named') + .map((entry) => entry.name) + .forEach((name) => { + if (!documentedArgNames.has(name)) { + invalid.push(`${keyword.keyword}.${name}`); + } + }); } } - expect(missing).toEqual([]); + expect(invalid).toEqual([]); }); }); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js index 5e438c54..d09bfcb2 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js @@ -33,12 +33,6 @@ describe('image domain keyword execution', () => { expectMeaningfulString(result); }); - test('executes image.urlLoremFlickr', () => { - const result = executeDomainKeyword('image.urlLoremFlickr', { faker, args: [] }); - console.log('image.urlLoremFlickr', result); - expectMeaningfulString(result); - }); - test('executes image.urlPicsumPhotos', () => { const result = executeDomainKeyword('image.urlPicsumPhotos', { faker, args: [] }); console.log('image.urlPicsumPhotos', result); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js index d26b0de2..b7cd64b6 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js @@ -55,7 +55,7 @@ describe('internet domain keyword execution', () => { test('executes internet.httpMethod', () => { const result = executeDomainKeyword('internet.httpMethod', { faker, args: [] }); console.log('internet.httpMethod', result); - expect(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']).toContain(result); + expect(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).toContain(result); }); test('executes internet.httpStatusCode', () => { diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-keyword-params-usage.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-keyword-params-usage.test.js index 8820ae3e..16714380 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-keyword-params-usage.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-keyword-params-usage.test.js @@ -52,10 +52,22 @@ function sampleValueForType(type) { .split('|') .map((entry) => entry.trim()); const numericLiterals = allowed.filter((entry) => /^[+-]?\d+(\.\d+)?$/.test(entry)).map((entry) => Number(entry)); + const stringLiterals = allowed + .filter( + (entry) => + !['string', 'integer', 'number', 'date', 'regexp', 'boolean', 'array', 'object'].includes(entry) && + !/^[+-]?\d+(\.\d+)?$/.test(entry) + ) + .map((entry) => + (entry.startsWith('"') && entry.endsWith('"')) || (entry.startsWith("'") && entry.endsWith("'")) + ? entry.slice(1, -1) + : entry + ); if (numericLiterals.length === allowed.length && numericLiterals.length > 0) { return numericLiterals[0]; } + if (stringLiterals.length > 0) return stringLiterals[0]; if (allowed.includes('integer')) { return 7; @@ -108,7 +120,8 @@ function sampleValueForKeywordArg(keywordName, argName, typeName) { if (key === 'internet.jwt.header') return { alg: 'HS256', typ: 'JWT' }; if (key === 'internet.jwt.payload') return { iss: 'Acme' }; if (key === 'internet.ipv4.cidrBlock') return '192.168.0.0/24'; - if (key === 'internet.ipv4.network') return 'private'; + if (key === 'internet.ipv4.network') return 'private-a'; + if (key === 'finance.bitcoinAddress.network') return 'testnet'; if (key === 'internet.password.pattern') return '[A-Za-z0-9]'; if (key === 'phone.number.style') return 'human'; if (key === 'string.alpha.casing') return 'lower'; @@ -142,7 +155,7 @@ function sampleValueForKeywordArg(keywordName, argName, typeName) { if (type.includes('regexp')) return '[A-Z]'; if (type.includes('boolean')) return true; if (type.includes('array')) return ['a', 'b']; - return 'sample'; + return sampleValueForType(type); } function buildValidArgs(keyword) { diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-param-invocation-coverage.test-helper.js b/packages/core/src/tests/data_generation/unit/domain/domain-param-invocation-coverage.test-helper.js index 89af34de..b7726e7f 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-param-invocation-coverage.test-helper.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-param-invocation-coverage.test-helper.js @@ -20,10 +20,24 @@ function sampleValueForType(typeName) { const types = String(typeName || '') .split('|') .map((entry) => entry.trim()); + const stringLiterals = types + .filter( + (entry) => + !['string', 'integer', 'number', 'date', 'regexp', 'boolean', 'array', 'object'].includes(entry) && + !/^[+-]?\d+(\.\d+)?$/.test(entry) + ) + .map((entry) => + (entry.startsWith('"') && entry.endsWith('"')) || (entry.startsWith("'") && entry.endsWith("'")) + ? entry.slice(1, -1) + : entry + ); if (types.includes('number') || types.includes('integer')) { return 7; } + if (stringLiterals.length > 0) { + return stringLiterals[0]; + } if (types.includes('regexp')) { return '[A-Z]'; } @@ -40,7 +54,7 @@ function sampleValueForType(typeName) { } function sampleValueForKeywordArg(keywordName, argName, typeName) { - void keywordName; + const key = `${keywordName}.${argName}`; if (argName === 'from') return 1577836800000; if (argName === 'to') return 1580428800000; if (argName === 'refDate') return 1716110400000; @@ -55,7 +69,8 @@ function sampleValueForKeywordArg(keywordName, argName, typeName) { if (argName === 'protocol') return 'https'; if (argName === 'countryCode') return 'GB'; if (argName === 'mimeType') return 'image/png'; - if (argName === 'network') return 'private'; + if (key === 'internet.ipv4.network') return 'private-a'; + if (key === 'finance.bitcoinAddress.network') return 'testnet'; if (argName === 'cidrBlock') return '192.168.0.0/24'; if (argName === 'types') return ['smiley']; if (argName === 'header') return { alg: 'HS256', typ: 'JWT' }; diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js b/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js index 37f6c26a..9d1f6de1 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js @@ -64,7 +64,7 @@ function assertDomainKeywordResult(keyword, result) { expect(String(result).includes('.') || String(result).includes(':')).toBe(true); } if (/httpMethod$/i.test(keyword)) { - expect(['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']).toContain(String(result)); + expect(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).toContain(String(result)); } if (/httpStatusCode$/i.test(keyword)) { const numeric = Number(result); diff --git a/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js b/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js index 980ef35e..4fa54ff8 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js @@ -40,7 +40,16 @@ describe('domain keyword catalog', () => { expect(entry.help && typeof entry.help).toBe('object'); expect(typeof entry.help.summary).toBe('string'); expect(typeof entry.help.docsUrl).toBe('string'); - expect(typeof entry.help.example).toBe('string'); + expect(typeof entry.help.fakerDocsUrl).toBe('string'); + expect(Array.isArray(entry.help.usageExamples)).toBe(true); + expect(entry.help.usageExamples.length).toBeGreaterThan(0); + expect(entry.help.usageExamples[0]).toEqual( + expect.objectContaining({ + functionCall: expect.any(String), + description: expect.any(String), + }) + ); + expect(entry.help.validator).toBeDefined(); expect(typeof entry.help.returnType).toBe('string'); expect(entry.help.returnType.length).toBeGreaterThan(0); expect(Array.isArray(entry.help.args)).toBe(true); @@ -78,14 +87,17 @@ describe('domain keyword catalog', () => { if ( fakerHelp.summary !== domainHelp.summary || fakerHelp.docsUrl !== domainHelp.docsUrl || - fakerHelp.example !== domainHelp.example || + fakerHelp.fakerDocsUrl !== domainHelp.fakerDocsUrl || fakerHelp.returnType !== domainHelp.returnType || - JSON.stringify(fakerParamNames) !== JSON.stringify(domainArgNames) + JSON.stringify(fakerParamNames) !== JSON.stringify(domainArgNames) || + serializeExampleValue(fakerHelp.usageExamples || []) !== serializeExampleValue(domainHelp.usageExamples || []) ) { mismatches.push({ keyword: entry.keyword, domainArgNames, fakerParamNames, + domainUsageExamples: domainHelp.usageExamples, + fakerUsageExamples: fakerHelp.usageExamples, }); } }); @@ -102,14 +114,27 @@ describe('domain keyword catalog', () => { }); }); - test('standalone domain definitions include at least one help example', () => { - const missingExamples = DOMAIN_KEYWORD_DEFINITIONS.filter( - (definition) => typeof definition?.help?.example !== 'string' || definition.help.example.trim().length === 0 + test('standalone domain definitions normalize to at least one structured usage example', () => { + const missingExamples = DOMAIN_KEYWORDS.filter( + (definition) => !Array.isArray(definition?.help?.usageExamples) || definition.help.usageExamples.length === 0 ).map((definition) => definition.keyword); expect(missingExamples).toEqual([]); }); + test('standalone domain definitions expose explicit sample return values for every usage example', () => { + const missingSampleReturnValues = DOMAIN_KEYWORD_DEFINITIONS.flatMap((definition) => { + const usageExamples = Array.isArray(definition?.help?.usageExamples) ? definition.help.usageExamples : []; + return usageExamples + .map((usageExample, index) => + typeof usageExample?.sampleReturnValue === 'undefined' ? `${definition.keyword} example ${index + 1}` : null + ) + .filter(Boolean); + }); + + expect(missingSampleReturnValues).toEqual([]); + }); + test('standalone domain definitions do not contain legacy placeholder argument docs', () => { const legacyPlaceholderArgs = []; DOMAIN_KEYWORD_DEFINITIONS.forEach((definition) => { @@ -130,7 +155,20 @@ describe('domain keyword catalog', () => { { keyword: 'demo.echo', delegate: { type: 'custom', target: 'demo.echo' }, - help: { summary: 'Echo', docsUrl: 'https://example.test', example: 'x', returnType: 'string', args: [] }, + help: { + summary: 'Echo', + docsUrl: 'https://example.test', + usageExamples: [ + { + functionCall: 'demo.echo()', + sampleReturnValue: 'x', + description: 'Shows demo.echo in use.', + }, + ], + validator: (value) => typeof value === 'string', + returnType: 'string', + args: [], + }, }, ]); expect(catalog).toHaveLength(1); @@ -150,6 +188,10 @@ describe('domain keyword catalog', () => { expect(byKeyword.get('autoIncrement.sequence')?.help?.docsUrl).toBe( 'https://anywaydata.com/docs/test-data/auto-increment-sequences' ); + expect(byKeyword.get('person.firstName')?.help?.docsUrl).toBe( + 'https://anywaydata.com/docs/test-data/domain/person' + ); + expect(byKeyword.get('person.firstName')?.help?.fakerDocsUrl).toBe('https://fakerjs.dev/api/person'); expect(byKeyword.get('datatype.boolean')?.help?.args.map((arg) => arg.name)).toEqual(['probability']); expect(byKeyword.get('finance.accountName')?.help?.returnType).toBe('string'); expect(byKeyword.get('finance.accountNumber')?.help?.returnType).toBe('string'); @@ -173,7 +215,8 @@ describe('domain keyword catalog', () => { for (const entry of DOMAIN_KEYWORDS) { const declaredType = String(entry?.help?.returnType || ''); - const example = String(entry?.help?.example || ''); + const exampleValue = entry?.help?.usageExamples?.[0]?.sampleReturnValue; + const example = typeof exampleValue === 'undefined' ? '' : exampleValue; const inferred = inferTypeFromExampleLiteral(example); const inferredType = inferred.type; const confidence = inferred.confidence; @@ -183,6 +226,23 @@ describe('domain keyword catalog', () => { .map((part) => part.trim()) .filter((part) => part.length > 0); + if (allowedTypes.includes('string') && inferredType === 'date') { + continue; + } + if (allowedTypes.includes('integer') && inferredType === 'number') { + continue; + } + if (inferredType === 'string' && allowedTypes.includes(String(example))) { + continue; + } + if ( + inferredType === 'string' && + allowedTypes.includes(JSON.stringify(String(example))) && + !allowedTypes.includes('string') + ) { + continue; + } + if (allowedTypes.includes('object') && !exampleLooksLikeObjectLiteral(example)) { failures.push({ keyword: entry.keyword, @@ -205,6 +265,30 @@ describe('domain keyword catalog', () => { expect(failures).toEqual([]); }); + + test('faker-backed domain commands keep anywaydata docsUrl and upstream fakerDocsUrl', () => { + const failures = DOMAIN_KEYWORDS.filter((entry) => entry.delegate?.type === DELEGATE_TYPE_FAKER).flatMap( + (entry) => { + const docsUrl = String(entry.help?.docsUrl || '').trim(); + const fakerDocsUrl = String(entry.help?.fakerDocsUrl || '').trim(); + const failuresForEntry = []; + + if (!docsUrl.startsWith('https://anywaydata.com/docs/')) { + failuresForEntry.push(`${entry.keyword}:docsUrl`); + } + if (docsUrl.includes('fakerjs.dev')) { + failuresForEntry.push(`${entry.keyword}:docsUrl-faker`); + } + if (!fakerDocsUrl.startsWith('https://fakerjs.dev/api/')) { + failuresForEntry.push(`${entry.keyword}:fakerDocsUrl`); + } + + return failuresForEntry; + } + ); + + expect(failures).toEqual([]); + }); }); describe('domain keyword alias mapping', () => { @@ -343,10 +427,22 @@ function sampleValueForType(type) { .split('|') .map((entry) => entry.trim()); const numericLiterals = allowed.filter((entry) => /^[+-]?\d+(\.\d+)?$/.test(entry)).map((entry) => Number(entry)); + const stringLiterals = allowed + .filter( + (entry) => + !['string', 'integer', 'number', 'date', 'regexp', 'boolean', 'array', 'object'].includes(entry) && + !/^[+-]?\d+(\.\d+)?$/.test(entry) + ) + .map((entry) => + (entry.startsWith('"') && entry.endsWith('"')) || (entry.startsWith("'") && entry.endsWith("'")) + ? entry.slice(1, -1) + : entry + ); if (numericLiterals.length === allowed.length && numericLiterals.length > 0) { return numericLiterals[0]; } + if (stringLiterals.length > 0) return stringLiterals[0]; if (allowed.includes('integer')) return 7; if (allowed.includes('number')) return 7; @@ -357,6 +453,33 @@ function sampleValueForType(type) { return 'sample'; } +function normalizeExampleValue(value) { + if (typeof value === 'bigint') { + return { + __type: 'bigint', + value: value.toString(), + }; + } + + if (value instanceof Date) { + return value.toISOString(); + } + + if (Array.isArray(value)) { + return value.map((entry) => normalizeExampleValue(entry)); + } + + if (value && typeof value === 'object') { + return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, normalizeExampleValue(entry)])); + } + + return value; +} + +function serializeExampleValue(value) { + return JSON.stringify(normalizeExampleValue(value)); +} + function valueToInvocationLiteral(value) { if (typeof value === 'string') { return JSON.stringify(value); @@ -374,6 +497,24 @@ function valueToInvocationLiteral(value) { } function inferTypeFromExampleLiteral(example) { + if (example === null || typeof example === 'undefined') { + return { type: 'unknown', confidence: 'low' }; + } + if (Array.isArray(example)) { + return { type: 'array', confidence: 'high' }; + } + if (typeof example === 'object') { + return { type: 'object', confidence: 'high' }; + } + if (typeof example === 'bigint') { + return { type: 'integer', confidence: 'high' }; + } + if (typeof example === 'boolean') { + return { type: 'boolean', confidence: 'high' }; + } + if (typeof example === 'number') { + return { type: 'number', confidence: Number.isFinite(example) ? 'high' : 'low' }; + } const value = String(example || '').trim(); if (value.length === 0) return { type: 'unknown', confidence: 'low' }; @@ -390,6 +531,9 @@ function inferTypeFromExampleLiteral(example) { } function exampleLooksLikeObjectLiteral(example) { + if (example && typeof example === 'object' && !Array.isArray(example)) { + return true; + } const value = String(example || '').trim(); return value.startsWith('{') && value.endsWith('}'); } diff --git a/scripts/generate-domain-docs.mjs b/scripts/generate-domain-docs.mjs index cefd435a..fe3faa3b 100644 --- a/scripts/generate-domain-docs.mjs +++ b/scripts/generate-domain-docs.mjs @@ -6,9 +6,7 @@ import { executeDomainKeyword } from '../packages/core/js/domain/domain-keywords import { toInlineCode } from '../packages/core/js/domain/domain-doc-markdown.js'; const configuredOutDir = process.env.ANYWAYDATA_DOMAIN_DOCS_OUT_DIR; -const outDir = configuredOutDir - ? path.resolve(configuredOutDir) - : path.resolve('docs-src/docs/040-test-data/domain'); +const outDir = configuredOutDir ? path.resolve(configuredOutDir) : path.resolve('docs-src/docs/040-test-data/domain'); fs.mkdirSync(outDir, { recursive: true }); for (const fileName of fs.readdirSync(outDir)) { if (fileName.endsWith('.md')) { @@ -117,6 +115,19 @@ const domainIntroOverrides = { autoIncrement: 'The `autoIncrement` domain provides stateful sequence helpers for accepted generated rows.', literal: 'The `literal` domain returns caller-provided values directly and does not invoke faker.', }; +const PRIMITIVE_TYPE_TOKENS = new Set([ + 'string', + 'number', + 'integer', + 'boolean', + 'array', + 'object', + 'date', + 'regexp', + 'unknown', + 'bigint', + 'comma-separated list', +]); function escapeMdxText(value) { return String(value ?? '') @@ -125,7 +136,9 @@ function escapeMdxText(value) { } function escapeMarkdownTableCell(value) { - const normalized = String(value ?? '').replaceAll('\r\n', '\n').replaceAll('\r', '\n'); + const normalized = String(value ?? '') + .replaceAll('\r\n', '\n') + .replaceAll('\r', '\n'); return escapeMdxText(normalized.replaceAll('\n', '
')).replaceAll('|', '\\|'); } @@ -145,12 +158,10 @@ function canExecuteInvocation(keyword, args) { } function getDefinitionReturnValues(entry) { - const explicit = Array.isArray(entry?.help?.exampleReturnValues) ? entry.help.exampleReturnValues : []; - if (explicit.length > 0) { - return explicit; - } - const single = String(entry?.help?.example || '').trim(); - return single ? [single] : []; + return (Array.isArray(entry?.help?.usageExamples) ? entry.help.usageExamples : []) + .filter((usageExample) => Object.prototype.hasOwnProperty.call(usageExample || {}, 'sampleReturnValue')) + .map((usageExample) => usageExample.sampleReturnValue) + .filter((value) => typeof value !== 'undefined'); } function toNamedInvocation(keyword, argSpecs, typedArgs) { @@ -195,25 +206,78 @@ function renderInvocation(keyword, typedArgs) { return `${keyword}(${renderedArgs.join(', ')})`; } -function sampleValueForArg(argSpec) { +function parseLiteralTypeToken(token) { + const trimmed = String(token || '').trim(); + if (!trimmed) { + return undefined; + } + if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { + return trimmed.slice(1, -1); + } + if (/^[+-]?\d+(\.\d+)?$/.test(trimmed)) { + return Number(trimmed); + } + return trimmed; +} + +function getLiteralUnionValues(typeName) { + const typeTokens = String(typeName || '') + .split('|') + .map((entry) => entry.trim()) + .filter(Boolean); + + if (typeTokens.length === 0) { + return []; + } + + const literalValues = []; + for (const typeToken of typeTokens) { + if (PRIMITIVE_TYPE_TOKENS.has(typeToken)) { + return []; + } + const literalValue = parseLiteralTypeToken(typeToken); + if (typeof literalValue === 'undefined') { + return []; + } + literalValues.push(literalValue); + } + + return literalValues; +} + +function choosePreferredLiteralUnionValue(values, name, keyword) { + if (!Array.isArray(values) || values.length === 0) { + return undefined; + } + + if (name === 'strategy' && values.includes('any-length')) return 'any-length'; + if (name === 'aircraftType' && values.includes('widebody')) return 'widebody'; + if (name === 'protocol' && values.includes('https')) return 'https'; + if (name === 'network' && keyword === 'internet.ipv4' && values.includes('private-a')) return 'private-a'; + if (name === 'network' && keyword === 'finance.bitcoinAddress' && values.includes('testnet')) return 'testnet'; + if (name === 'format' && values.includes('css')) return 'css'; + if (name === 'casing' && values.includes('upper')) return 'upper'; + + return values[0]; +} + +function sampleValueForArg(argSpec, keyword = '') { const name = String(argSpec?.name || '').trim(); const typeName = String(argSpec?.type || '').trim(); + const examples = Array.isArray(argSpec?.examples) ? argSpec.examples.filter((value) => value !== undefined) : []; + if (examples.length > 0) { + return examples[0]; + } if (name === 'firstName') return 'Alex'; if (name === 'lastName') return 'Taylor'; if (name === 'provider') return 'example.com'; if (name === 'aircraftType') return 'narrowbody'; if (name === 'countryCode') return 'GB'; if (name === 'cidrBlock') return '192.168.0.0/24'; - if (name === 'network') return 'private-a'; - if (name === 'protocol') return 'https'; - if (name === 'format') return 'hex'; - if (name === 'casing') return 'lower'; if (name === 'prefix') return '#'; if (name === 'separator') return '-'; if (name === 'characters') return 'ABC123'; - if (name === 'variant') return '13'; if (name === 'pattern') return '[A-Za-z0-9]'; - if (name === 'strategy') return 'any-length'; if (name === 'version') return 'v4'; if (name === 'mode') return 'age'; if (name === 'sex') return 'male'; @@ -229,6 +293,11 @@ function sampleValueForArg(argSpec) { if (name === 'abbreviated') return false; if (name === 'memorable') return false; + const literalUnionValues = getLiteralUnionValues(typeName); + if (literalUnionValues.length > 0) { + return choosePreferredLiteralUnionValue(literalUnionValues, name, keyword); + } + const first = typeName .split('|') @@ -258,16 +327,16 @@ for (const domain of domains) { '', ]; - const docsByDomain = [ + const fakerDocsByDomain = [ ...new Set( keywords - .map((k) => String(k.help.docsUrl || '').trim()) + .map((k) => String(k.help.fakerDocsUrl || '').trim()) .filter((url) => url.length > 0 && url.includes('fakerjs.dev/api/')) ), ]; - if (docsByDomain.length > 0) { + if (fakerDocsByDomain.length > 0) { lines.push('## Faker Documentation', ''); - for (const url of docsByDomain) lines.push(`- [${url}](${url})`); + for (const url of fakerDocsByDomain) lines.push(`- [${url}](${url})`); lines.push(''); } @@ -278,9 +347,9 @@ for (const domain of domains) { const override = invocationOverrides[entry.keyword]; const requiredArgSpecs = args.filter((a) => a.required); const typedRequiredArgs = requiredArgSpecs.map((a) => { - return sampleValueForArg(a); + return sampleValueForArg(a, entry.keyword); }); - const sampledArgs = args.map((arg) => sampleValueForArg(arg)); + const sampledArgs = args.map((arg) => sampleValueForArg(arg, entry.keyword)); let executableExampleArgs = override ? override.args : typedRequiredArgs; if (!canExecuteInvocation(entry.keyword, executableExampleArgs)) { if (canExecuteInvocation(entry.keyword, sampledArgs)) { @@ -303,8 +372,10 @@ for (const domain of domains) { lines.push(escapeMdxText(entry.help.summary || 'No summary provided.'), ''); lines.push(`- Canonical: \`${entry.canonical}\``); if (entry.help.docsUrl) { - const docsLabel = String(entry?.delegate?.type || '') === 'faker' ? 'Faker docs' : 'Docs'; - lines.push(`- ${docsLabel}: [${entry.help.docsUrl}](${entry.help.docsUrl})`); + lines.push(`- Docs: [${entry.help.docsUrl}](${entry.help.docsUrl})`); + } + if (entry.help.fakerDocsUrl) { + lines.push(`- Faker docs: [${entry.help.fakerDocsUrl}](${entry.help.fakerDocsUrl})`); } lines.push(''); @@ -322,7 +393,9 @@ for (const domain of domains) { } if (hasExecutableExample) { - const definitionExamples = Array.isArray(entry.help.examples) ? entry.help.examples.filter(Boolean) : []; + const definitionExamples = (Array.isArray(entry.help.usageExamples) ? entry.help.usageExamples : []) + .map((usageExample) => String(usageExample?.functionCall || '').trim()) + .filter(Boolean); let namedInvocation = ''; const allArgsValues = sampledArgs; if (args.length > 0 && canExecuteInvocation(entry.keyword, allArgsValues)) { @@ -346,9 +419,9 @@ for (const domain of domains) { const seenExamples = new Set(primaryExamples); for (let index = 0; index < args.length; index += 1) { const arg = args[index]; - const value = sampleValueForArg(arg); + const value = sampleValueForArg(arg, entry.keyword); const typedArgs = args.map((entryArg, argIndex) => - argIndex === index ? value : sampleValueForArg(entryArg) + argIndex === index ? value : sampleValueForArg(entryArg, entry.keyword) ); const fullNamed = toNamedInvocation(entry.keyword, args, typedArgs); if (fullNamed && canExecuteInvocation(entry.keyword, typedArgs)) { diff --git a/tests/integration/cross-surface-option-parity.test.js b/tests/integration/cross-surface-option-parity.test.js index d938c7f1..1d6e1e0c 100644 --- a/tests/integration/cross-surface-option-parity.test.js +++ b/tests/integration/cross-surface-option-parity.test.js @@ -35,7 +35,7 @@ function requestMcpServer(payload) { input: request, encoding: 'utf8', cwd: repoRoot, - timeout: 15000, + timeout: 45000, }); const messages = jsonRpcMessages(output); expect(messages.length).toBeGreaterThan(0); From 0fed3786f9c84b4311e82ec5400f5bdcae23e8aa Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Thu, 18 Jun 2026 23:51:34 +0100 Subject: [PATCH 02/16] Tighten string validators and examples --- .../shared-schema-definition.stories.js | 6 +- .../command-help/command-help-validators.js | 134 ++++++++++++++++- ...domain-faker-string-keyword-definitions.js | 19 ++- .../command-help-validators.test.js | 140 ++++++++++++++++++ .../unit/domain/domain-string-exec.test.js | 3 + 5 files changed, 286 insertions(+), 16 deletions(-) diff --git a/apps/web/src/stories/shared-schema-definition.stories.js b/apps/web/src/stories/shared-schema-definition.stories.js index 3d50a90a..9e2703f4 100644 --- a/apps/web/src/stories/shared-schema-definition.stories.js +++ b/apps/web/src/stories/shared-schema-definition.stories.js @@ -523,12 +523,8 @@ export const ParamsDialog = { await expect(firstHelpIcon).toHaveAttribute('data-help-text', expect.stringContaining('Default: 1')); await expect(dialogScope.getByRole('textbox', { name: /start value/i }).value).toBe('1'); await expect(dialogScope.getByRole('textbox', { name: /step value/i }).value).toBe('1'); - let prefixInput = dialogScope.getByRole('textbox', { name: /prefix value/i }); + const prefixInput = dialogScope.getByRole('textbox', { name: /prefix value/i }); await userEvent.click(prefixInput); - await waitFor(() => { - prefixInput = dialogScope.getByRole('textbox', { name: /prefix value/i }); - expect(document.activeElement).toBe(prefixInput); - }); await userEvent.clear(prefixInput); await userEvent.type(prefixInput, 'filename'); await waitFor(() => diff --git a/packages/core/js/command-help/command-help-validators.js b/packages/core/js/command-help/command-help-validators.js index 75151037..f0194095 100644 --- a/packages/core/js/command-help/command-help-validators.js +++ b/packages/core/js/command-help/command-help-validators.js @@ -47,7 +47,7 @@ const MIME_TYPE_REGEX = /^[A-Za-z0-9!#$&^_.+-]+\/[A-Za-z0-9!#$&^_.+-]+$/u; const SEMVER_REGEX = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u; const ULID_REGEX = /^[0-7][0-9A-HJKMNP-TV-Z]{25}$/u; -const NANOID_REGEX = /^[A-Za-z0-9_-]+$/u; +const NANOID_CHARACTER_CLASS = 'A-Za-z0-9_-'; const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-([0-9a-f])[0-9a-f]{3}-([89ab])[0-9a-f]{3}-[0-9a-f]{12}$/iu; const BASE58_REGEX_SOURCE = '[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]'; const BECH32_REGEX_SOURCE = '[ac-hj-np-z02-9]'; @@ -102,6 +102,17 @@ function createRegexValidator(regex) { return (value, context = {}) => validateStringValue(value, context) && regex.test(value); } +function createDynamicRegexValidator(createRegex) { + return (value, context = {}) => { + if (!validateStringValue(value, context)) { + return false; + } + + const regex = createRegex(context); + return regex instanceof RegExp && regex.test(value); + }; +} + function createPredicateValidator(predicate) { return (value, context = {}) => validateStringValue(value, context) && predicate(value, context) === true; } @@ -112,6 +123,64 @@ function getNormalizedContextCommand(context = {}) { .toLowerCase(); } +function escapeRegexLiteral(value) { + return String(value).replace(/[.*+?^${}()|[\]\\]/gu, '\\$&'); +} + +function escapeRegexCharacterClass(value) { + return String(value).replace(/[\\\]-^]/gu, '\\$&'); +} + +function normalizeCharacterEntries(value) { + if (Array.isArray(value)) { + return value.map((entry) => String(entry)).filter((entry) => entry.length > 0); + } + + return [...String(value ?? '')].filter((entry) => entry.length > 0); +} + +function buildRegexQuantifier(lengthValue, { minimum = 1 } = {}) { + const { min, max } = getNormalizedStringLengthBounds(lengthValue, { minimum }); + + if (max === Number.POSITIVE_INFINITY) { + if (min === 0) { + return '*'; + } + if (min === 1) { + return '+'; + } + return `{${min},}`; + } + + if (min === max) { + return `{${min}}`; + } + + return `{${min},${max}}`; +} + +function buildCharacterClassRegex(allowedCharacters, lengthValue, options = {}) { + const characterClass = [...allowedCharacters].map((entry) => escapeRegexCharacterClass(entry)).join(''); + if (characterClass.length === 0) { + return /^$/u; + } + + return new RegExp(`^[${characterClass}]${buildRegexQuantifier(lengthValue, options)}$`, 'u'); +} + +function buildAlternationRegex(allowedEntries, lengthValue, options = {}) { + const alternatives = [...new Set(allowedEntries.map((entry) => String(entry)).filter((entry) => entry.length > 0))] + .sort((left, right) => right.length - left.length) + .map((entry) => escapeRegexLiteral(entry)) + .join('|'); + + if (alternatives.length === 0) { + return /^$/u; + } + + return new RegExp(`^(?:${alternatives})${buildRegexQuantifier(lengthValue, options)}$`, 'u'); +} + function getContextParamSpecs(context = {}) { if (Array.isArray(context?.help?.args)) { return context.help.args; @@ -140,7 +209,12 @@ function isExplicitZeroLengthStringConfig(context = {}) { if (!ZERO_LENGTH_STRING_PARAM_NAMES.has(paramName)) { return false; } - return Object.is(args[index], 0); + const argValue = args[index]; + if (Object.is(argValue, 0)) { + return true; + } + + return getNormalizedStringLengthBounds(argValue, { minimum: 1 }).min === 0; }); } @@ -607,6 +681,34 @@ const validateBinaryStringValue = createPredicateValidator((value, context = {}) return /^[01]+$/u.test(body) && validateExactOrRangedLength(body, length); }); +const validateAlphaStringValue = createDynamicRegexValidator((context = {}) => { + const { length, casing = 'mixed', exclude = [] } = getContextNamedArgs(context); + const baseCharacters = + casing === 'upper' + ? 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' + : casing === 'lower' + ? 'abcdefghijklmnopqrstuvwxyz' + : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; + const excludedCharacters = new Set(normalizeCharacterEntries(exclude)); + const allowedCharacters = [...baseCharacters].filter((character) => !excludedCharacters.has(character)); + + return buildCharacterClassRegex(allowedCharacters, length, { minimum: 1 }); +}); + +const validateAlphanumericStringValue = createDynamicRegexValidator((context = {}) => { + const { length, casing = 'mixed', exclude = [] } = getContextNamedArgs(context); + const baseCharacters = + casing === 'upper' + ? 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789' + : casing === 'lower' + ? 'abcdefghijklmnopqrstuvwxyz0123456789' + : 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; + const excludedCharacters = new Set(normalizeCharacterEntries(exclude)); + const allowedCharacters = [...baseCharacters].filter((character) => !excludedCharacters.has(character)); + + return buildCharacterClassRegex(allowedCharacters, length, { minimum: 1 }); +}); + const validateHexadecimalStringValue = createPredicateValidator((value, context = {}) => { const { casing = 'mixed', length, prefix = '0x' } = getContextNamedArgs(context); if (!value.startsWith(String(prefix))) { @@ -627,6 +729,13 @@ const validateHexadecimalStringValue = createPredicateValidator((value, context return /^[0-9A-Fa-f]+$/u.test(body); }); +const validateFromCharactersStringValue = createDynamicRegexValidator((context = {}) => { + const { characters, length } = getContextNamedArgs(context); + const allowedEntries = normalizeCharacterEntries(characters); + + return buildAlternationRegex(allowedEntries, length, { minimum: 1 }); +}); + const validateNumericStringValue = createPredicateValidator((value, context = {}) => { const { allowLeadingZeros = false, length } = getContextNamedArgs(context); @@ -647,9 +756,20 @@ const validateOctalStringValue = createPredicateValidator((value, context = {}) return /^[0-7]+$/u.test(body) && validateExactOrRangedLength(body, length); }); -const validateNanoIdValue = createPredicateValidator((value, context = {}) => { +const validateNanoIdValue = createDynamicRegexValidator((context = {}) => { const { length = 21 } = getContextNamedArgs(context); - return NANOID_REGEX.test(value) && validateExactOrRangedLength(value, length, { minimum: 1 }); + return new RegExp(`^[${NANOID_CHARACTER_CLASS}]${buildRegexQuantifier(length, { minimum: 1 })}$`, 'u'); +}); + +const validateSampleStringValue = createDynamicRegexValidator((context = {}) => { + const { length = 10 } = getContextNamedArgs(context); + return new RegExp(`^[!-}]${buildRegexQuantifier(length, { minimum: 1 })}$`, 'u'); +}); + +const validateSymbolStringValue = createDynamicRegexValidator((context = {}) => { + const { length = 1 } = getContextNamedArgs(context); + const allowedSymbols = `!"#$%&'()*+,-./:;<=>?@[\\]^_\`{|}~`; + return buildCharacterClassRegex(allowedSymbols, length, { minimum: 1 }); }); const validateUlidValue = createPredicateValidator((value) => ULID_REGEX.test(value)); @@ -766,10 +886,13 @@ function validateEnumMemberValue(value, context = {}) { export { createPredicateValidator, + createDynamicRegexValidator, createRegexValidator, createStringEnumValidator, validateAccountNumberValue, + validateAlphaStringValue, validateAircraftIataTypeCodeValue, + validateAlphanumericStringValue, validateAirlineIataCodeValue, validateAirlineRecordLocatorValue, validateAirlineSeatValue, @@ -794,6 +917,7 @@ export { validateEthereumAddressValue, validateExampleEmailValue, validateFlightNumberValue, + validateFromCharactersStringValue, validateHexadecimalStringValue, validateIbanValue, validateImeiValue, @@ -815,10 +939,12 @@ export { validateOctalStringValue, validatePinValue, validateRoutingNumberValue, + validateSampleStringValue, validateSemverValue, validateStringOrNumberOrBooleanValue, validateStringOrNumberValue, validateStringValue, + validateSymbolStringValue, validateTimeZoneValue, validateUlidValue, validateUpcValue, diff --git a/packages/core/js/domain/domain-faker-string-keyword-definitions.js b/packages/core/js/domain/domain-faker-string-keyword-definitions.js index 065ff6c5..8258e3a4 100644 --- a/packages/core/js/domain/domain-faker-string-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-string-keyword-definitions.js @@ -1,10 +1,14 @@ import { + validateAlphaStringValue, + validateAlphanumericStringValue, validateBinaryStringValue, + validateFromCharactersStringValue, validateHexadecimalStringValue, validateNanoIdValue, validateNumericStringValue, validateOctalStringValue, - validateStringValue, + validateSampleStringValue, + validateSymbolStringValue, validateUlidValue, validateUuidValue, } from '../command-help/command-help-validators.js'; @@ -23,7 +27,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ summary: 'Generating a string consisting of letters in the English alphabet.', docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateStringValue, + validator: validateAlphaStringValue, returnType: 'string', usageExamples: [ { @@ -90,7 +94,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ summary: 'Generating a string consisting of alpha characters and digits.', docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateStringValue, + validator: validateAlphanumericStringValue, returnType: 'string', usageExamples: [ { @@ -193,7 +197,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ summary: 'Generates a string from the given characters.', docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateStringValue, + validator: validateFromCharactersStringValue, returnType: 'string', usageExamples: [ { @@ -436,7 +440,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ summary: 'Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`).', docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateStringValue, + validator: validateSampleStringValue, returnType: 'string', usageExamples: [ { @@ -467,10 +471,11 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ target: 'string.symbol', }, help: { - summary: 'Returns a string containing only special characters from the following list:', + summary: + 'Returns a string containing only ASCII symbol characters such as !, ", #, $, %, &, (, ), *, +, -, /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, and ~.', docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateStringValue, + validator: validateSymbolStringValue, returnType: 'string', usageExamples: [ { diff --git a/packages/core/src/tests/command-help/command-help-validators.test.js b/packages/core/src/tests/command-help/command-help-validators.test.js index e26b64fa..3a0604ff 100644 --- a/packages/core/src/tests/command-help/command-help-validators.test.js +++ b/packages/core/src/tests/command-help/command-help-validators.test.js @@ -1,5 +1,7 @@ import { validateCommandHelpValue } from '../../../js/command-help/command-help-contract.js'; import { + validateAlphaStringValue, + validateAlphanumericStringValue, createPredicateValidator, createRegexValidator, createStringEnumValidator, @@ -9,6 +11,7 @@ import { validateCountryCodeValue, validateCreditCardNumberValue, validateEnumMemberValue, + validateFromCharactersStringValue, validateIbanValue, validateImeiValue, validateIpValue, @@ -18,6 +21,9 @@ import { validateMacAddressValue, validateRoutingNumberValue, validateLiteralValue, + validateNanoIdValue, + validateSampleStringValue, + validateSymbolStringValue, validateTimeZoneValue, validateUpcValue, validateUrlValue, @@ -168,6 +174,23 @@ describe('command help validators', () => { expect(validateStringValue('', context)).toBe(true); }); + test('string validator allows empty string when the configured length range includes zero', () => { + const context = { + help: { + args: [{ name: 'length' }], + }, + args: [{ min: 0, max: 3 }], + fieldDefinition: { + sourceType: 'domain', + command: 'string.sample', + params: '(length={min:0,max:3})', + ruleSpec: 'string.sample(length={min:0,max:3})', + }, + }; + + expect(validateStringValue('', context)).toBe(true); + }); + test('string validator allows empty string for helpers with empty input passthrough behavior', () => { const context = { command: 'helpers.slugify', @@ -299,6 +322,123 @@ describe('command help validators', () => { ).toBe(false); }); + test('alpha validator respects casing, exclusions, and length', () => { + const uppercaseContext = { + help: { + args: [{ name: 'length' }, { name: 'casing' }, { name: 'exclude' }], + }, + args: [5, 'upper', ['A', 'B']], + }; + + expect(validateAlphaStringValue('KSCHD', uppercaseContext)).toBe(true); + expect(validateAlphaStringValue('KSaHD', uppercaseContext)).toBe(false); + expect(validateAlphaStringValue('ABCDZ', uppercaseContext)).toBe(false); + expect(validateAlphaStringValue('KSAH', uppercaseContext)).toBe(false); + }); + + test('alphanumeric validator respects casing, exclusions, and length', () => { + const context = { + help: { + args: [{ name: 'length' }, { name: 'casing' }, { name: 'exclude' }], + }, + args: [6, 'lower', ['a', '1']], + }; + + expect(validateAlphanumericStringValue('bc2def', context)).toBe(true); + expect(validateAlphanumericStringValue('BC2DEF', context)).toBe(false); + expect(validateAlphanumericStringValue('ba2def', context)).toBe(false); + expect(validateAlphanumericStringValue('bc2de', context)).toBe(false); + }); + + test('fromCharacters validator only allows strings built from the declared source tokens', () => { + expect( + validateFromCharactersStringValue('xyzxy', { + help: { + args: [{ name: 'characters' }, { name: 'length' }], + }, + args: ['xyz', 5], + }) + ).toBe(true); + + expect( + validateFromCharactersStringValue('abab', { + help: { + args: [{ name: 'characters' }, { name: 'length' }], + }, + args: [['ab', 'cd'], 2], + }) + ).toBe(true); + + expect( + validateFromCharactersStringValue('abef', { + help: { + args: [{ name: 'characters' }, { name: 'length' }], + }, + args: [['ab', 'cd'], 2], + }) + ).toBe(false); + }); + + test('nanoid validator enforces the Nano ID alphabet and configured length', () => { + expect( + validateNanoIdValue('Abc123_-Xy', { + help: { + args: [{ name: 'length' }], + }, + args: [10], + }) + ).toBe(true); + + expect( + validateNanoIdValue('Abc123_-X!', { + help: { + args: [{ name: 'length' }], + }, + args: [10], + }) + ).toBe(false); + }); + + test('sample validator restricts output to the documented ASCII range', () => { + expect( + validateSampleStringValue(`!AZaz09{}|`, { + help: { + args: [{ name: 'length' }], + }, + args: [10], + }) + ).toBe(true); + + expect( + validateSampleStringValue(`bad\nline`, { + help: { + args: [{ name: 'length' }], + }, + args: [8], + }) + ).toBe(false); + }); + + test('symbol validator restricts output to documented symbol characters and length', () => { + expect( + validateSymbolStringValue(`!@#{}~`, { + help: { + args: [{ name: 'length' }], + }, + args: [6], + }) + ).toBe(true); + + expect( + validateSymbolStringValue('!@#A{}', { + help: { + args: [{ name: 'length' }], + }, + args: [6], + }) + ).toBe(false); + }); + test('semantic document and payment validators enforce checksums', () => { expect(validateIsbnValue('978-0-306-40615-7')).toBe(true); expect(validateIsbnValue('978-0-306-40615-8')).toBe(false); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js index c9cb5a8b..dc19384d 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js @@ -106,6 +106,7 @@ describe('string domain keyword execution', () => { test('string.nanoid length arg affects output', () => { const result = runWithSeed(1051, 'string.nanoid', [10]); expect(result).toHaveLength(10); + expect(result).toMatch(/^[A-Za-z0-9_-]+$/); }); test('executes string.numeric', () => { @@ -152,6 +153,7 @@ describe('string domain keyword execution', () => { test('string.sample length arg affects output', () => { const result = runWithSeed(1081, 'string.sample', [10]); expect(result).toHaveLength(10); + expect(result).toMatch(/^[!-}]+$/); }); test('executes string.symbol', () => { @@ -162,6 +164,7 @@ describe('string domain keyword execution', () => { test('string.symbol length arg affects output', () => { const result = runWithSeed(1091, 'string.symbol', [6]); expect(result).toHaveLength(6); + expect(result).toMatch(/^[!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~]+$/); }); test('executes string.ulid', () => { From 46a5c61028db2b12637d07a6ab720c98cf1872e0 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 00:52:25 +0100 Subject: [PATCH 03/16] Add command example validation coverage --- jest.config.cjs | 1 + ...ain-custom-internet-keyword-definitions.js | 71 +++++ ...main-faker-internet-keyword-definitions.js | 24 -- .../js/domain/domain-keyword-definitions.js | 2 + packages/core/js/domain/domain-keywords.js | 2 + .../core/js/domain/internet-http-method.js | 55 ++++ .../command-help-examples.test-support.js | 281 +++++++++++++++++ .../command-help-examples.test.js | 288 +----------------- ...all-commands-generate-and-validate-test.js | 52 ++++ .../unit/domain/domain-internet-exec.test.js | 25 +- .../domain-result-assertions.test-helper.js | 2 +- .../unit/domain/domainKeywords.test.js | 5 + .../unit/domain/internet-http-method.test.js | 36 +++ 13 files changed, 537 insertions(+), 307 deletions(-) create mode 100644 packages/core/js/domain/domain-custom-internet-keyword-definitions.js create mode 100644 packages/core/js/domain/internet-http-method.js create mode 100644 packages/core/src/tests/command-help/command-help-examples.test-support.js create mode 100644 packages/core/src/tests/command-help/seeded-all-commands-generate-and-validate-test.js create mode 100644 packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js diff --git a/jest.config.cjs b/jest.config.cjs index 1e3ca63c..bc9506fd 100644 --- a/jest.config.cjs +++ b/jest.config.cjs @@ -3,6 +3,7 @@ module.exports = { transform: {}, testMatch: [ '**/packages/core/src/tests/**/*.test.js', + '**/packages/core/src/tests/**/*-test.js', '**/packages/core-ui/src/tests/**/*.test.js', '**/tests/integration/**/*.test.js', '**/apps/web/src/tests/jest/**/*.test.js', diff --git a/packages/core/js/domain/domain-custom-internet-keyword-definitions.js b/packages/core/js/domain/domain-custom-internet-keyword-definitions.js new file mode 100644 index 00000000..5e98ba1b --- /dev/null +++ b/packages/core/js/domain/domain-custom-internet-keyword-definitions.js @@ -0,0 +1,71 @@ +import { createPredicateValidator } from '../command-help/command-help-validators.js'; +import { INTERNET_HTTP_METHOD_RETURN_TYPE, getInternetHttpMethodPool } from './internet-http-method.js'; + +const validateHttpMethodValue = createPredicateValidator((value, context = {}) => { + const args = Array.isArray(context?.args) + ? context.args + : Array.isArray(context?.parsedArgs) + ? context.parsedArgs + : []; + const availableMethods = getInternetHttpMethodPool({ + commonOnly: args[0] === true, + excludes: typeof args[1] === 'undefined' ? '' : args[1], + }); + + return availableMethods.includes(String(value ?? '').trim()); +}); + +const DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS = [ + { + keyword: 'internet.httpMethod', + delegate: { + type: 'custom', + target: 'internet.httpMethod', + }, + help: { + summary: + 'Returns a random HTTP method from the full set GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, and CONNECT, with optional filtering for common methods and exclusions.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: '', + validator: validateHttpMethodValue, + returnType: INTERNET_HTTP_METHOD_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.httpMethod()', + sampleReturnValue: 'PUT', + description: 'Shows internet.httpMethod choosing from the full HTTP method set by default.', + }, + { + functionCall: 'internet.httpMethod(commonOnly=true)', + sampleReturnValue: 'POST', + description: 'Shows internet.httpMethod restricted to the common request methods.', + }, + { + functionCall: 'internet.httpMethod(excludes="patch, TRACE")', + sampleReturnValue: 'POST', + description: + 'Shows internet.httpMethod trimming spaces, normalizing case, and excluding methods from the full set.', + }, + ], + args: [ + { + name: 'commonOnly', + type: 'boolean', + required: false, + description: 'When true, limits generation to GET, HEAD, POST, PUT, and DELETE. Defaults to false.', + examples: [true], + }, + { + name: 'excludes', + type: 'string', + required: false, + description: + 'Comma-separated HTTP methods to remove from the candidate set. Values are case-insensitive and surrounding spaces are trimmed.', + examples: ['patch, TRACE'], + }, + ], + }, + }, +]; + +export { DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-internet-keyword-definitions.js b/packages/core/js/domain/domain-faker-internet-keyword-definitions.js index 5d7d7d87..b7224460 100644 --- a/packages/core/js/domain/domain-faker-internet-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-internet-keyword-definitions.js @@ -12,13 +12,11 @@ import { validateUrlValue, } from '../command-help/command-help-validators.js'; -const HTTP_METHOD_RETURN_TYPE = 'GET|POST|PUT|DELETE|PATCH'; const HTTP_PROTOCOL_RETURN_TYPE = 'http|https'; const IPV4_NETWORK_TYPE = 'any|loopback|private-a|private-b|private-c|test-net-1|test-net-2|test-net-3|link-local|multicast'; const MAC_SEPARATOR_TYPE = '":"|"-"|""'; const JWT_ALGORITHM_RETURN_TYPE = 'ES256|ES384|ES512|HS256|HS384|HS512|PS256|PS384|PS512|RS256|RS384|RS512|none'; -const validateHttpMethodValue = createStringEnumValidator(HTTP_METHOD_RETURN_TYPE.split('|')); const validateProtocolValue = createStringEnumValidator(HTTP_PROTOCOL_RETURN_TYPE.split('|')); const validateJwtAlgorithmValue = createStringEnumValidator(JWT_ALGORITHM_RETURN_TYPE.split('|')); @@ -238,28 +236,6 @@ const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ args: [], }, }, - { - keyword: 'internet.httpMethod', - delegate: { - type: 'faker', - target: 'internet.httpMethod', - }, - help: { - summary: 'Returns a random http method.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateHttpMethodValue, - returnType: HTTP_METHOD_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'internet.httpMethod', - sampleReturnValue: 'PUT', - description: 'Shows the default internet.httpMethod call.', - }, - ], - args: [], - }, - }, { keyword: 'internet.httpStatusCode', delegate: { diff --git a/packages/core/js/domain/domain-keyword-definitions.js b/packages/core/js/domain/domain-keyword-definitions.js index d75729b5..f317bc2d 100644 --- a/packages/core/js/domain/domain-keyword-definitions.js +++ b/packages/core/js/domain/domain-keyword-definitions.js @@ -13,6 +13,7 @@ import { DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS } from './domain-faker-git-keyword import { DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS } from './domain-faker-hacker-keyword-definitions.js'; import { DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS } from './domain-faker-image-keyword-definitions.js'; import { DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS } from './domain-faker-internet-keyword-definitions.js'; +import { DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS } from './domain-custom-internet-keyword-definitions.js'; import { DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS } from './domain-custom-autoincrement-keyword-definitions.js'; import { DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS } from './domain-custom-literal-keyword-definitions.js'; import { DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS } from './domain-faker-location-keyword-definitions.js'; @@ -44,6 +45,7 @@ const DOMAIN_KEYWORD_DEFINITIONS = [ ...DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS, ...DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS, ...DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS, + ...DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS, ...DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS, ...DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS, ...DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS, diff --git a/packages/core/js/domain/domain-keywords.js b/packages/core/js/domain/domain-keywords.js index eb0094b3..f879954e 100644 --- a/packages/core/js/domain/domain-keywords.js +++ b/packages/core/js/domain/domain-keywords.js @@ -2,6 +2,7 @@ import { DOMAIN_KEYWORD_DEFINITIONS } from './domain-keyword-definitions.js'; import { executeCustomAutoIncrementTimestamp } from './auto-increment-timestamp.js'; import { executeCustomAutoIncrementSequence } from './auto-increment-sequence.js'; import { executeCustomCounterString } from './counterstring.js'; +import { executeCustomInternetHttpMethod } from './internet-http-method.js'; import { DomainKeywordInvocationParser } from './parser/DomainKeywordInvocationParser.js'; import { normalizeUsageExamples } from '../command-help/command-help-contract.js'; @@ -360,6 +361,7 @@ function applyFakerArgTransform(keyword, args = []) { const BUILT_IN_CUSTOM_DELEGATES = { 'autoIncrement.timestamp': executeCustomAutoIncrementTimestamp, 'autoIncrement.sequence': executeCustomAutoIncrementSequence, + 'internet.httpMethod': executeCustomInternetHttpMethod, 'literal.value': (executionContext = {}) => { const args = Array.isArray(executionContext.args) ? executionContext.args : []; return typeof args[0] === 'undefined' ? '' : args[0]; diff --git a/packages/core/js/domain/internet-http-method.js b/packages/core/js/domain/internet-http-method.js new file mode 100644 index 00000000..51d91124 --- /dev/null +++ b/packages/core/js/domain/internet-http-method.js @@ -0,0 +1,55 @@ +const ALL_HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']; +const COMMON_HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE']; +const INTERNET_HTTP_METHOD_RETURN_TYPE = ALL_HTTP_METHODS.join('|'); + +function normalizeHttpMethodToken(value) { + return String(value ?? '') + .trim() + .toUpperCase(); +} + +function parseExcludedHttpMethodsCsv(excludesValue = '') { + return String(excludesValue ?? '') + .split(',') + .map((value) => normalizeHttpMethodToken(value)) + .filter((value) => value.length > 0); +} + +function getInternetHttpMethodPool({ commonOnly = false, excludes = '' } = {}) { + const baseMethods = commonOnly === true ? COMMON_HTTP_METHODS : ALL_HTTP_METHODS; + const excludedMethods = new Set(parseExcludedHttpMethodsCsv(excludes)); + + return baseMethods.filter((method) => !excludedMethods.has(method)); +} + +function selectRandomHttpMethod(methods, executionContext = {}) { + if (executionContext?.faker?.helpers?.arrayElement) { + return executionContext.faker.helpers.arrayElement(methods); + } + + const index = Math.floor(Math.random() * methods.length); + return methods[index]; +} + +function executeCustomInternetHttpMethod(executionContext = {}) { + const args = Array.isArray(executionContext.args) ? executionContext.args : []; + const commonOnly = args[0] === true; + const excludes = typeof args[1] === 'undefined' ? '' : args[1]; + const availableMethods = getInternetHttpMethodPool({ commonOnly, excludes }); + + if (availableMethods.length === 0) { + throw new Error('Invalid argument for excludes: no HTTP methods remain after exclusions.'); + } + + return selectRandomHttpMethod(availableMethods, executionContext); +} + +export { + ALL_HTTP_METHODS, + COMMON_HTTP_METHODS, + INTERNET_HTTP_METHOD_RETURN_TYPE, + executeCustomInternetHttpMethod, + getInternetHttpMethodPool, + normalizeHttpMethodToken, + parseExcludedHttpMethodsCsv, +}; diff --git a/packages/core/src/tests/command-help/command-help-examples.test-support.js b/packages/core/src/tests/command-help/command-help-examples.test-support.js new file mode 100644 index 00000000..f821ce16 --- /dev/null +++ b/packages/core/src/tests/command-help/command-help-examples.test-support.js @@ -0,0 +1,281 @@ +import { Faker, faker as baseFaker } from '@faker-js/faker'; +import { + executeDomainKeyword, + DOMAIN_KEYWORDS, + DOMAIN_KEYWORD_DEFINITIONS, + getDomainKeywordHelpByAlias, +} from '../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../js/domain/domain-keyword-parser.js'; +import { KNOWN_FAKER_COMMANDS, isForbiddenFakerCommand } from '../../../js/faker/faker-commands.js'; +import { + getFakerCommandHelp, + FAKER_HELPER_KEYWORD_DEFINITIONS, +} from '../../../js/faker/faker-helper-keyword-definitions.js'; +import { FakerCommand } from '../../../js/data_generation/faker/fakerCommand.js'; +import { DomainKeywordInvocationParser } from '../../../js/domain/parser/DomainKeywordInvocationParser.js'; + +const DOMAIN_INVOCATION_PARSER = new DomainKeywordInvocationParser(); +const SEEDED_EXAMPLE_FAKER_SEED = 1; +const SEEDED_EXAMPLE_REF_DATE = new Date('2026-06-18T15:55:20.000Z'); +const SEEDED_EXAMPLE_MATH_RANDOM = 0.5; + +function createExampleFaker() { + const faker = new Faker({ locale: baseFaker.rawDefinitions }); + faker.seed(SEEDED_EXAMPLE_FAKER_SEED); + faker.setDefaultRefDate(SEEDED_EXAMPLE_REF_DATE); + return faker; +} + +function isRequiredParam(param) { + return param?.required === true || param?.optional === false; +} + +function splitTopLevelArguments(argsText = '') { + const args = []; + let current = ''; + let depth = 0; + let quote = ''; + let escaping = false; + + for (const character of String(argsText || '')) { + if (escaping) { + current += character; + escaping = false; + continue; + } + + if (quote) { + current += character; + if (character === '\\') { + escaping = true; + continue; + } + if (character === quote) { + quote = ''; + } + continue; + } + + if (character === '"' || character === "'") { + quote = character; + current += character; + continue; + } + + if (character === '(' || character === '[' || character === '{') { + depth += 1; + current += character; + continue; + } + + if (character === ')' || character === ']' || character === '}') { + depth = Math.max(0, depth - 1); + current += character; + continue; + } + + if (character === ',' && depth === 0) { + if (current.trim()) { + args.push(current.trim()); + } + current = ''; + continue; + } + + current += character; + } + + if (current.trim()) { + args.push(current.trim()); + } + + return args; +} + +function getHelperExampleArgCount(functionCall) { + const trimmed = String(functionCall || '').trim(); + const openParenIndex = trimmed.indexOf('('); + if (openParenIndex === -1) { + return 0; + } + + const inner = trimmed.slice(openParenIndex + 1, -1).trim(); + if (!inner) { + return 0; + } + + return splitTopLevelArguments(inner).length; +} + +function extractInvocationParams(functionCall) { + const trimmed = String(functionCall || '').trim(); + const openParenIndex = trimmed.indexOf('('); + if (openParenIndex === -1) { + return ''; + } + return trimmed.slice(openParenIndex); +} + +function getOptionalCompanionNames(params = [], targetParam = {}) { + const paramsByName = new Map(params.map((param) => [param.name, param])); + const companionNames = []; + + if (targetParam?.name === 'min' && !isRequiredParam(paramsByName.get('max'))) { + companionNames.push('max'); + } + if (targetParam?.name === 'inputFormat' && !isRequiredParam(paramsByName.get('start'))) { + companionNames.push('start'); + } + + return companionNames.filter(Boolean); +} + +function normalizeExampleValue(value) { + if (value instanceof Date) { + return value.toISOString(); + } + + if (typeof value === 'bigint') { + return { + __type: 'bigint', + value: value.toString(), + }; + } + + if (Array.isArray(value)) { + return value.map((entry) => normalizeExampleValue(entry)); + } + + if (value && typeof value === 'object') { + return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, normalizeExampleValue(entry)])); + } + + return value; +} + +function withDeterministicMathRandom(callback) { + const originalRandom = Math.random; + Math.random = () => SEEDED_EXAMPLE_MATH_RANDOM; + try { + return callback(); + } finally { + Math.random = originalRandom; + } +} + +function executeFakerExample(functionCall) { + return withDeterministicMathRandom(() => { + const faker = createExampleFaker(); + const command = new FakerCommand(functionCall, { unsafeFakerExpressions: true }); + const parseResult = command.parse(); + expect(parseResult.isError).toBe(false); + + const compileResult = command.compile(faker); + expect(compileResult?.isError || false).toBe(false); + + const executionResult = command.execute(faker); + expect(executionResult.isError).toBe(false); + return executionResult.data; + }); +} + +function executeDomainExample(functionCall) { + return withDeterministicMathRandom(() => { + const faker = createExampleFaker(); + const parsed = parseKeywordInvocation(functionCall); + expect(parsed.errors || []).toEqual([]); + return executeDomainKeyword(parsed.keyword, { + faker, + args: parsed.args, + runStartedAt: SEEDED_EXAMPLE_REF_DATE, + }); + }); +} + +function buildFakerCommandCases() { + const domainDefinitionByKeyword = new Map( + DOMAIN_KEYWORD_DEFINITIONS.map((definition) => [definition.keyword, definition]) + ); + + return KNOWN_FAKER_COMMANDS.filter((command) => command !== 'RegEx').map((command) => { + const help = getFakerCommandHelp(command); + const sourceDefinition = + FAKER_HELPER_KEYWORD_DEFINITIONS[command] || domainDefinitionByKeyword.get(command) || null; + + return { + catalog: 'faker', + command, + help, + sourceDefinition, + sourceValidator: sourceDefinition?.validator || sourceDefinition?.help?.validator, + params: Array.isArray(help?.params) ? help.params : [], + }; + }); +} + +function buildDomainCommandCases() { + const definitionByKeyword = new Map(DOMAIN_KEYWORD_DEFINITIONS.map((definition) => [definition.keyword, definition])); + + return DOMAIN_KEYWORDS.map((entry) => ({ + catalog: 'domain', + command: entry.keyword, + help: getDomainKeywordHelpByAlias(entry.keyword), + sourceDefinition: definitionByKeyword.get(entry.keyword) || null, + sourceValidator: definitionByKeyword.get(entry.keyword)?.help?.validator, + params: Array.isArray(entry.help?.args) ? entry.help.args : [], + })); +} + +function buildValidationContext(entry, usageExample) { + const fieldDefinition = { + sourceType: entry.catalog, + command: entry.command, + params: extractInvocationParams(usageExample.functionCall), + ruleSpec: usageExample.functionCall, + }; + + const context = { + catalog: entry.catalog, + command: entry.command, + functionCall: usageExample.functionCall, + ruleSpec: usageExample.functionCall, + fieldDefinition, + help: entry.help, + sourceDefinition: entry.sourceDefinition, + }; + + if (!entry.command.startsWith('helpers.')) { + const parsed = parseKeywordInvocation(usageExample.functionCall); + expect(parsed.errors || []).toEqual([]); + context.args = parsed.args; + context.parsedArgs = parsed.args; + } + + return context; +} + +function buildCommandCases() { + const fakerCases = buildFakerCommandCases(); + const domainCases = buildDomainCommandCases(); + return { + fakerCases, + domainCases, + commandCases: [...fakerCases, ...domainCases], + }; +} + +export { + DOMAIN_INVOCATION_PARSER, + SEEDED_EXAMPLE_FAKER_SEED, + SEEDED_EXAMPLE_MATH_RANDOM, + SEEDED_EXAMPLE_REF_DATE, + buildCommandCases, + buildValidationContext, + executeDomainExample, + executeFakerExample, + getHelperExampleArgCount, + getOptionalCompanionNames, + isForbiddenFakerCommand, + isRequiredParam, + normalizeExampleValue, +}; diff --git a/packages/core/src/tests/command-help/command-help-examples.test.js b/packages/core/src/tests/command-help/command-help-examples.test.js index e0a28339..fd37d59c 100644 --- a/packages/core/src/tests/command-help/command-help-examples.test.js +++ b/packages/core/src/tests/command-help/command-help-examples.test.js @@ -1,263 +1,13 @@ -import { Faker, faker as baseFaker } from '@faker-js/faker'; -import { validateCommandHelpValue } from '../../../js/command-help/command-help-contract.js'; import { - executeDomainKeyword, - DOMAIN_KEYWORDS, - DOMAIN_KEYWORD_DEFINITIONS, - getDomainKeywordHelpByAlias, -} from '../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../js/domain/domain-keyword-parser.js'; -import { KNOWN_FAKER_COMMANDS } from '../../../js/faker/faker-commands.js'; -import { isForbiddenFakerCommand } from '../../../js/faker/faker-commands.js'; -import { getFakerCommandHelp } from '../../../js/faker/faker-helper-keyword-definitions.js'; -import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../js/faker/faker-helper-keyword-definitions.js'; -import { FakerCommand } from '../../../js/data_generation/faker/fakerCommand.js'; -import { DomainKeywordInvocationParser } from '../../../js/domain/parser/DomainKeywordInvocationParser.js'; - -const DOMAIN_INVOCATION_PARSER = new DomainKeywordInvocationParser(); -const EXAMPLE_SEED = 1; -const EXAMPLE_REF_DATE = new Date('2026-06-18T15:55:20.000Z'); -const EXAMPLE_MATH_RANDOM = 0.5; - -function createExampleFaker() { - const faker = new Faker({ locale: baseFaker.rawDefinitions }); - faker.seed(EXAMPLE_SEED); - faker.setDefaultRefDate(EXAMPLE_REF_DATE); - return faker; -} - -function isRequiredParam(param) { - return param?.required === true || param?.optional === false; -} - -function splitTopLevelArguments(argsText = '') { - const args = []; - let current = ''; - let depth = 0; - let quote = ''; - let escaping = false; - - for (const character of String(argsText || '')) { - if (escaping) { - current += character; - escaping = false; - continue; - } - - if (quote) { - current += character; - if (character === '\\') { - escaping = true; - continue; - } - if (character === quote) { - quote = ''; - } - continue; - } - - if (character === '"' || character === "'") { - quote = character; - current += character; - continue; - } - - if (character === '(' || character === '[' || character === '{') { - depth += 1; - current += character; - continue; - } - - if (character === ')' || character === ']' || character === '}') { - depth = Math.max(0, depth - 1); - current += character; - continue; - } - - if (character === ',' && depth === 0) { - if (current.trim()) { - args.push(current.trim()); - } - current = ''; - continue; - } - - current += character; - } - - if (current.trim()) { - args.push(current.trim()); - } - - return args; -} - -function getHelperExampleArgCount(functionCall) { - const trimmed = String(functionCall || '').trim(); - const openParenIndex = trimmed.indexOf('('); - if (openParenIndex === -1) { - return 0; - } - - const inner = trimmed.slice(openParenIndex + 1, -1).trim(); - if (!inner) { - return 0; - } - - return splitTopLevelArguments(inner).length; -} - -function extractInvocationParams(functionCall) { - const trimmed = String(functionCall || '').trim(); - const openParenIndex = trimmed.indexOf('('); - if (openParenIndex === -1) { - return ''; - } - return trimmed.slice(openParenIndex); -} - -function getOptionalCompanionNames(params = [], targetParam = {}) { - const paramsByName = new Map(params.map((param) => [param.name, param])); - const companionNames = []; - - if (targetParam?.name === 'min' && !isRequiredParam(paramsByName.get('max'))) { - companionNames.push('max'); - } - if (targetParam?.name === 'inputFormat' && !isRequiredParam(paramsByName.get('start'))) { - companionNames.push('start'); - } - - return companionNames.filter(Boolean); -} - -function normalizeExampleValue(value) { - if (value instanceof Date) { - return value.toISOString(); - } - - if (typeof value === 'bigint') { - return { - __type: 'bigint', - value: value.toString(), - }; - } - - if (Array.isArray(value)) { - return value.map((entry) => normalizeExampleValue(entry)); - } - - if (value && typeof value === 'object') { - return Object.fromEntries(Object.entries(value).map(([key, entry]) => [key, normalizeExampleValue(entry)])); - } - - return value; -} - -function withDeterministicMathRandom(callback) { - const originalRandom = Math.random; - Math.random = () => EXAMPLE_MATH_RANDOM; - try { - return callback(); - } finally { - Math.random = originalRandom; - } -} - -function executeFakerExample(functionCall) { - return withDeterministicMathRandom(() => { - const faker = createExampleFaker(); - const command = new FakerCommand(functionCall, { unsafeFakerExpressions: true }); - const parseResult = command.parse(); - expect(parseResult.isError).toBe(false); - - const compileResult = command.compile(faker); - expect(compileResult?.isError || false).toBe(false); - - const executionResult = command.execute(faker); - expect(executionResult.isError).toBe(false); - return executionResult.data; - }); -} - -function executeDomainExample(functionCall) { - return withDeterministicMathRandom(() => { - const faker = createExampleFaker(); - const parsed = parseKeywordInvocation(functionCall); - expect(parsed.errors || []).toEqual([]); - return executeDomainKeyword(parsed.keyword, { - faker, - args: parsed.args, - runStartedAt: EXAMPLE_REF_DATE, - }); - }); -} - -function buildFakerCommandCases() { - const domainDefinitionByKeyword = new Map( - DOMAIN_KEYWORD_DEFINITIONS.map((definition) => [definition.keyword, definition]) - ); - - return KNOWN_FAKER_COMMANDS.filter((command) => command !== 'RegEx').map((command) => { - const help = getFakerCommandHelp(command); - const sourceDefinition = - FAKER_HELPER_KEYWORD_DEFINITIONS[command] || domainDefinitionByKeyword.get(command) || null; - - return { - catalog: 'faker', - command, - help, - sourceDefinition, - sourceValidator: sourceDefinition?.validator || sourceDefinition?.help?.validator, - params: Array.isArray(help?.params) ? help.params : [], - }; - }); -} - -function buildDomainCommandCases() { - const definitionByKeyword = new Map(DOMAIN_KEYWORD_DEFINITIONS.map((definition) => [definition.keyword, definition])); - - return DOMAIN_KEYWORDS.map((entry) => ({ - catalog: 'domain', - command: entry.keyword, - help: getDomainKeywordHelpByAlias(entry.keyword), - sourceDefinition: definitionByKeyword.get(entry.keyword) || null, - sourceValidator: definitionByKeyword.get(entry.keyword)?.help?.validator, - params: Array.isArray(entry.help?.args) ? entry.help.args : [], - })); -} - -function buildValidationContext(entry, usageExample) { - const fieldDefinition = { - sourceType: entry.catalog, - command: entry.command, - params: extractInvocationParams(usageExample.functionCall), - ruleSpec: usageExample.functionCall, - }; - - const context = { - catalog: entry.catalog, - command: entry.command, - functionCall: usageExample.functionCall, - ruleSpec: usageExample.functionCall, - fieldDefinition, - help: entry.help, - sourceDefinition: entry.sourceDefinition, - }; - - if (!entry.command.startsWith('helpers.')) { - const parsed = parseKeywordInvocation(usageExample.functionCall); - expect(parsed.errors || []).toEqual([]); - context.args = parsed.args; - context.parsedArgs = parsed.args; - } - - return context; -} + DOMAIN_INVOCATION_PARSER, + buildCommandCases, + getHelperExampleArgCount, + getOptionalCompanionNames, + isRequiredParam, +} from './command-help-examples.test-support.js'; describe('command help usage examples', () => { - const fakerCases = buildFakerCommandCases(); - const domainCases = buildDomainCommandCases(); - const commandCases = [...fakerCases, ...domainCases]; + const { fakerCases, commandCases } = buildCommandCases(); test('all commands expose at least one structured usage example', () => { const missing = commandCases @@ -460,28 +210,4 @@ describe('command help usage examples', () => { expect(invalidExamples).toEqual([]); }); - - for (const entry of commandCases) { - if (entry.catalog === 'faker' && isForbiddenFakerCommand(entry.command)) { - continue; - } - const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; - for (const [index, usageExample] of usageExamples.entries()) { - test(`${entry.catalog}:${entry.command} example ${index + 1} executes and validates`, () => { - const validator = entry.sourceValidator; - expect(validator).toBeDefined(); - expect(typeof validator).toBe('function'); - const validationContext = buildValidationContext(entry, usageExample); - - const actualValue = - entry.catalog === 'faker' && entry.command.startsWith('helpers.') - ? executeFakerExample(usageExample.functionCall) - : executeDomainExample(usageExample.functionCall); - - expect(validateCommandHelpValue(validator, actualValue, validationContext)).toBe(true); - expect(validateCommandHelpValue(validator, usageExample.sampleReturnValue, validationContext)).toBe(true); - expect(normalizeExampleValue(usageExample.sampleReturnValue)).toEqual(normalizeExampleValue(actualValue)); - }); - } - } }); diff --git a/packages/core/src/tests/command-help/seeded-all-commands-generate-and-validate-test.js b/packages/core/src/tests/command-help/seeded-all-commands-generate-and-validate-test.js new file mode 100644 index 00000000..2cd5e87d --- /dev/null +++ b/packages/core/src/tests/command-help/seeded-all-commands-generate-and-validate-test.js @@ -0,0 +1,52 @@ +import { validateCommandHelpValue } from '../../../js/command-help/command-help-contract.js'; +import { + SEEDED_EXAMPLE_FAKER_SEED, + SEEDED_EXAMPLE_MATH_RANDOM, + SEEDED_EXAMPLE_REF_DATE, + buildCommandCases, + buildValidationContext, + executeDomainExample, + executeFakerExample, + isForbiddenFakerCommand, + normalizeExampleValue, +} from './command-help-examples.test-support.js'; + +const SEEDED_COMMAND_HELP_GENERATION = { + fakerSeed: SEEDED_EXAMPLE_FAKER_SEED, + refDateIso: SEEDED_EXAMPLE_REF_DATE.toISOString(), + mathRandom: SEEDED_EXAMPLE_MATH_RANDOM, +}; + +describe('seeded all commands generate and validate', () => { + const { commandCases } = buildCommandCases(); + + for (const entry of commandCases) { + if (entry.catalog === 'faker' && isForbiddenFakerCommand(entry.command)) { + continue; + } + + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + for (const [index, usageExample] of usageExamples.entries()) { + test(`${entry.catalog}:${entry.command} example ${index + 1} ${usageExample.functionCall} executes and validates with fakerSeed=${SEEDED_COMMAND_HELP_GENERATION.fakerSeed}, refDate=${SEEDED_COMMAND_HELP_GENERATION.refDateIso}, mathRandom=${SEEDED_COMMAND_HELP_GENERATION.mathRandom}`, () => { + const validator = entry.sourceValidator; + expect(validator).toBeDefined(); + expect(typeof validator).toBe('function'); + const validationContext = buildValidationContext(entry, usageExample); + + const actualValue = + entry.catalog === 'faker' && entry.command.startsWith('helpers.') + ? executeFakerExample(usageExample.functionCall) + : executeDomainExample(usageExample.functionCall); + + console.log( + `[command-help-example] ${entry.catalog}:${entry.command} fakerSeed=${SEEDED_COMMAND_HELP_GENERATION.fakerSeed} refDate=${SEEDED_COMMAND_HELP_GENERATION.refDateIso} mathRandom=${SEEDED_COMMAND_HELP_GENERATION.mathRandom} ${usageExample.functionCall}`, + actualValue + ); + + expect(validateCommandHelpValue(validator, actualValue, validationContext)).toBe(true); + expect(validateCommandHelpValue(validator, usageExample.sampleReturnValue, validationContext)).toBe(true); + expect(normalizeExampleValue(usageExample.sampleReturnValue)).toEqual(normalizeExampleValue(actualValue)); + }); + } + } +}); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js index b7cd64b6..67560b99 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js @@ -55,7 +55,30 @@ describe('internet domain keyword execution', () => { test('executes internet.httpMethod', () => { const result = executeDomainKeyword('internet.httpMethod', { faker, args: [] }); console.log('internet.httpMethod', result); - expect(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).toContain(result); + expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']).toContain(result); + }); + + test('internet.httpMethod supports commonOnly and excludes args', () => { + const commonOnlyResult = executeDomainKeyword('internet.httpMethod', { faker, args: [true] }); + expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE']).toContain(commonOnlyResult); + + const excludedResult = executeDomainKeyword('internet.httpMethod', { faker, args: [false, 'patch, TRACE'] }); + expect(['PATCH', 'TRACE']).not.toContain(excludedResult); + + const commonAndExcludedResult = executeDomainKeyword('internet.httpMethod', { + faker, + args: [true, 'head, delete'], + }); + expect(['GET', 'POST', 'PUT']).toContain(commonAndExcludedResult); + }); + + test('internet.httpMethod throws when exclusions remove every allowed method', () => { + expect(() => + executeDomainKeyword('internet.httpMethod', { + faker, + args: [true, 'get, head, post, put, delete'], + }) + ).toThrow('Invalid argument for excludes: no HTTP methods remain after exclusions.'); }); test('executes internet.httpStatusCode', () => { diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js b/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js index 9d1f6de1..f3411583 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-result-assertions.test-helper.js @@ -64,7 +64,7 @@ function assertDomainKeywordResult(keyword, result) { expect(String(result).includes('.') || String(result).includes(':')).toBe(true); } if (/httpMethod$/i.test(keyword)) { - expect(['GET', 'POST', 'PUT', 'PATCH', 'DELETE']).toContain(String(result)); + expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']).toContain(String(result)); } if (/httpStatusCode$/i.test(keyword)) { const numeric = Number(result); diff --git a/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js b/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js index 4fa54ff8..a2b77da9 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domainKeywords.test.js @@ -200,6 +200,11 @@ describe('domain keyword catalog', () => { expect(byKeyword.get('autoIncrement.timestamp')?.delegate?.type).toBe('custom'); expect(byKeyword.get('autoIncrement.timestamp')?.help?.returnType).toBe('string'); expect(byKeyword.get('internet.email')?.delegate?.argTransform).toBe('optionsFromHelpArgs'); + expect(byKeyword.get('internet.httpMethod')?.delegate?.type).toBe('custom'); + expect(byKeyword.get('internet.httpMethod')?.help?.returnType).toBe( + 'GET|HEAD|POST|PUT|DELETE|PATCH|OPTIONS|TRACE|CONNECT' + ); + expect(byKeyword.get('internet.httpMethod')?.help?.fakerDocsUrl).toBe(''); expect(byKeyword.get('internet.httpStatusCode')?.help?.returnType).toBe('number'); expect(byKeyword.get('internet.port')?.help?.returnType).toBe('number'); expect(byKeyword.get('location.country')?.help?.returnType).toBe('string'); diff --git a/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js b/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js new file mode 100644 index 00000000..37fc39fe --- /dev/null +++ b/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js @@ -0,0 +1,36 @@ +import { + ALL_HTTP_METHODS, + COMMON_HTTP_METHODS, + getInternetHttpMethodPool, + normalizeHttpMethodToken, + parseExcludedHttpMethodsCsv, +} from '../../../../../js/domain/internet-http-method.js'; + +describe('custom internet.httpMethod helpers', () => { + test('normalizes http method tokens to trimmed uppercase values', () => { + expect(normalizeHttpMethodToken(' patch ')).toBe('PATCH'); + expect(normalizeHttpMethodToken('TRACE')).toBe('TRACE'); + }); + + test('parses excludes csv values case-insensitively and trims spaces', () => { + expect(parseExcludedHttpMethodsCsv('patch, TRACE , connect')).toEqual(['PATCH', 'TRACE', 'CONNECT']); + }); + + test('uses the full method set by default', () => { + expect(getInternetHttpMethodPool()).toEqual(ALL_HTTP_METHODS); + }); + + test('supports restricting to common methods and excluding values', () => { + expect(getInternetHttpMethodPool({ commonOnly: true })).toEqual(COMMON_HTTP_METHODS); + expect(getInternetHttpMethodPool({ excludes: 'patch, TRACE' })).toEqual([ + 'GET', + 'HEAD', + 'POST', + 'PUT', + 'DELETE', + 'OPTIONS', + 'CONNECT', + ]); + expect(getInternetHttpMethodPool({ commonOnly: true, excludes: 'head, delete' })).toEqual(['GET', 'POST', 'PUT']); + }); +}); From 48c50fb1121c4736e4e9ecff61f67750e2cedf25 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 01:17:05 +0100 Subject: [PATCH 04/16] Address automated review feedback --- .../app-test-data-focused-schema-sync.test.js | 2 +- .../support/generated-value-quality.js | 1 + .../tests/utils/method-picker-modal.test.js | 4 +-- .../js/command-help/command-help-contract.js | 18 ++++++++++- .../command-help/command-help-validators.js | 29 ++++++++++++++--- ...main-custom-literal-keyword-definitions.js | 4 +-- packages/core/js/domain/domain-keywords.js | 32 +++++-------------- .../command-help-validators.test.js | 21 ++++++++++++ .../domain/domain-doc-param-examples.test.js | 4 +++ scripts/generate-domain-docs.mjs | 13 ++++---- 10 files changed, 87 insertions(+), 41 deletions(-) diff --git a/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js b/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js index c5a7018a..c6cb7971 100644 --- a/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js +++ b/packages/core-ui/src/tests/interaction/app-test-data-focused-schema-sync.test.js @@ -15,7 +15,7 @@ import { jest } from '@jest/globals'; import { TEST_DATA_GRID_SAMPLE_SCHEMA_TEXT } from '../../../js/gui_components/shared/test-data/schema/schema-examples.js'; import { createFocusedAppTestDataHarness } from './support/focused-app-test-data-harness.js'; -jest.setTimeout(45000); +jest.setTimeout(15000); describe('app test-data focused schema sync', () => { let harness; diff --git a/packages/core-ui/src/tests/interaction/support/generated-value-quality.js b/packages/core-ui/src/tests/interaction/support/generated-value-quality.js index 7bff12b3..9c14a068 100644 --- a/packages/core-ui/src/tests/interaction/support/generated-value-quality.js +++ b/packages/core-ui/src/tests/interaction/support/generated-value-quality.js @@ -27,6 +27,7 @@ const PRIMITIVE_TYPE_TOKENS = new Set([ 'regexp', 'unknown', 'bigint', + 'comma-separated list', ]); function toSearchableText(value) { diff --git a/packages/core-ui/src/tests/utils/method-picker-modal.test.js b/packages/core-ui/src/tests/utils/method-picker-modal.test.js index a57ee26d..c719927c 100644 --- a/packages/core-ui/src/tests/utils/method-picker-modal.test.js +++ b/packages/core-ui/src/tests/utils/method-picker-modal.test.js @@ -191,7 +191,7 @@ describe('method picker modal', () => { }, { functionCall: 'datatype.enum(open,closed)', - sampleReturnValue: 'pending', + sampleReturnValue: 'closed', description: 'Shows an alternate enum call.', }, ], @@ -207,7 +207,7 @@ describe('method picker modal', () => { expect(usageSection.textContent).toContain('datatype.enum(active,inactive,pending)'); expect(usageSection.textContent).toContain('active'); expect(usageSection.textContent).toContain('inactive'); - expect(usageSection.textContent).toContain('pending'); + expect(usageSection.textContent).toContain('closed'); const usageBlock = usageSection.innerHTML.split('
Usage Examples
')[1].split('
Return Examples
')[0]; expect(usageBlock).not.toContain('active'); const returnBlock = usageSection.innerHTML.split('
Return Examples
')[1]; diff --git a/packages/core/js/command-help/command-help-contract.js b/packages/core/js/command-help/command-help-contract.js index 2b93a7b9..328e6fe8 100644 --- a/packages/core/js/command-help/command-help-contract.js +++ b/packages/core/js/command-help/command-help-contract.js @@ -110,6 +110,12 @@ function coerceSampleReturnValue(value, returnType = '') { if ((allowedTypes.includes('integer') || allowedTypes.includes('number')) && /^[+-]?\d+(?:\.\d+)?$/u.test(unquoted)) { return Number(unquoted); } + if ( + allowedTypes.some((typeToken) => /^[+-]?\d+(?:\.\d+)?$/u.test(typeToken)) && + /^[+-]?\d+(?:\.\d+)?$/u.test(unquoted) + ) { + return Number(unquoted); + } if (allowedTypes.includes('date')) { return unquoted; } @@ -119,6 +125,9 @@ function coerceSampleReturnValue(value, returnType = '') { function validateCommandHelpValue(validator, value, context = {}) { if (validator instanceof RegExp) { + if (validator.global || validator.sticky) { + validator.lastIndex = 0; + } return validator.test(String(value ?? '')); } if (typeof validator === 'function') { @@ -151,4 +160,11 @@ function normalizeUsageExamples({ command = '', returnType = '', usageExamples = .filter(Boolean); } -export { createReturnValueValidator, normalizeUsageExamples, normalizeValidatorValue, validateCommandHelpValue }; +export { + createReturnValueValidator, + isQuotedLiteralTypeToken, + normalizeUsageExamples, + normalizeValidatorValue, + unquoteLiteralTypeToken, + validateCommandHelpValue, +}; diff --git a/packages/core/js/command-help/command-help-validators.js b/packages/core/js/command-help/command-help-validators.js index f0194095..a7f42f49 100644 --- a/packages/core/js/command-help/command-help-validators.js +++ b/packages/core/js/command-help/command-help-validators.js @@ -549,11 +549,30 @@ function getContextRuleSpec(context = {}) { function getCounterStringRangeFromContext(context = {}) { const args = getContextArgs(context); - - const hasMin = typeof args[0] !== 'undefined'; - const hasMax = typeof args[1] !== 'undefined'; - const minArg = hasMin ? args[0] : 1; - const maxArg = hasMax ? args[1] : hasMin ? minArg : 25; + const fieldDefinition = getFieldDefinitionFromContext(context); + const ruleSpec = getContextRuleSpec(context); + + const namedMin = ruleSpec.match(/\bmin\s*=\s*([+-]?\d+(?:\.\d+)?)/iu)?.[1]; + const namedMax = ruleSpec.match(/\bmax\s*=\s*([+-]?\d+(?:\.\d+)?)/iu)?.[1]; + const positionalBounds = + !namedMin && !namedMax + ? String(fieldDefinition?.params ?? '') + .replace(/^\(|\)$/gu, '') + .split(',') + .map((entry) => entry.trim()) + .filter((entry) => /^[+-]?\d+(?:\.\d+)?$/u.test(entry)) + .map((entry) => Number(entry)) + : []; + + const fieldMin = typeof namedMin !== 'undefined' ? Number(namedMin) : positionalBounds[0]; + const fieldMax = typeof namedMax !== 'undefined' ? Number(namedMax) : positionalBounds[1]; + const resolvedMin = typeof fieldMin !== 'undefined' ? fieldMin : args[0]; + const resolvedMax = typeof fieldMax !== 'undefined' ? fieldMax : args[1]; + + const hasMin = typeof resolvedMin !== 'undefined'; + const hasMax = typeof resolvedMax !== 'undefined'; + const minArg = hasMin ? resolvedMin : 1; + const maxArg = hasMax ? resolvedMax : hasMin ? minArg : 25; const lowest = Math.max(1, Math.min(minArg, maxArg)); const highest = Math.max(1, Math.max(minArg, maxArg)); diff --git a/packages/core/js/domain/domain-custom-literal-keyword-definitions.js b/packages/core/js/domain/domain-custom-literal-keyword-definitions.js index 43c0c2f9..ef9f8b79 100644 --- a/packages/core/js/domain/domain-custom-literal-keyword-definitions.js +++ b/packages/core/js/domain/domain-custom-literal-keyword-definitions.js @@ -15,12 +15,12 @@ const DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS = [ returnType: 'string|number|boolean', usageExamples: [ { - functionCall: 'literal.value("Pending")', + functionCall: 'literal.value(value="Pending")', sampleReturnValue: 'Pending', description: 'Shows literal.value in use.', }, { - functionCall: 'literal.value("")', + functionCall: 'literal.value(value="")', sampleReturnValue: '', description: 'Shows literal.value in use.', }, diff --git a/packages/core/js/domain/domain-keywords.js b/packages/core/js/domain/domain-keywords.js index f879954e..6daf7d12 100644 --- a/packages/core/js/domain/domain-keywords.js +++ b/packages/core/js/domain/domain-keywords.js @@ -4,7 +4,11 @@ import { executeCustomAutoIncrementSequence } from './auto-increment-sequence.js import { executeCustomCounterString } from './counterstring.js'; import { executeCustomInternetHttpMethod } from './internet-http-method.js'; import { DomainKeywordInvocationParser } from './parser/DomainKeywordInvocationParser.js'; -import { normalizeUsageExamples } from '../command-help/command-help-contract.js'; +import { + isQuotedLiteralTypeToken, + normalizeUsageExamples, + unquoteLiteralTypeToken, +} from '../command-help/command-help-contract.js'; const DOMAIN_ROOT_PREFIX = 'awd.domain.'; const DOMAIN_PREFIX = 'domain.'; @@ -21,16 +25,8 @@ function buildCanonicalKeyword(fakerCommand) { return `${DOMAIN_ROOT_PREFIX}${command}`; } -function serializeDomainInvocationValue(value, type = '') { - const allowedTypes = String(type || '') - .split('|') - .map((entry) => entry.trim()) - .filter(Boolean); - +function serializeDomainInvocationValue(value) { if (typeof value === 'string') { - if (allowedTypes.includes('regexp')) { - return JSON.stringify(value); - } return JSON.stringify(value); } if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') { @@ -39,19 +35,6 @@ function serializeDomainInvocationValue(value, type = '') { return JSON.stringify(value); } -function unquoteLiteralTypeToken(value) { - const trimmed = String(value || '').trim(); - if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { - return trimmed.slice(1, -1); - } - return trimmed; -} - -function isQuotedLiteralTypeToken(value) { - const trimmed = String(value || '').trim(); - return (trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'")); -} - function normalizeDomainExampleFunctionCall(functionCall, keyword, args) { const normalizedFunctionCall = String(functionCall || '').trim(); if (!normalizedFunctionCall) { @@ -67,9 +50,10 @@ function normalizeDomainExampleFunctionCall(functionCall, keyword, args) { return normalizedFunctionCall; } + const argTypeByName = new Map(args.map((arg) => [arg?.name, arg?.type])); const namedArgs = parsed.arguments.map((argument, index) => { if (argument.kind === 'named') { - return `${argument.name}=${serializeDomainInvocationValue(argument.value, args[index]?.type)}`; + return `${argument.name}=${serializeDomainInvocationValue(argument.value, argTypeByName.get(argument.name))}`; } const argName = args[index]?.name; diff --git a/packages/core/src/tests/command-help/command-help-validators.test.js b/packages/core/src/tests/command-help/command-help-validators.test.js index 3a0604ff..0d146399 100644 --- a/packages/core/src/tests/command-help/command-help-validators.test.js +++ b/packages/core/src/tests/command-help/command-help-validators.test.js @@ -81,6 +81,20 @@ describe('command help validators', () => { expect(validateCounterStringValue('X3X5X7X9X12X', context)).toBe(true); }); + test('counterstring validator falls back to fieldDefinition bounds when parsed args are unavailable', () => { + const context = { + fieldDefinition: { + sourceType: 'domain', + command: 'string.counterString', + params: '(min=12, max=12, delimiter="#")', + ruleSpec: 'string.counterString(min=12, max=12, delimiter="#")', + }, + }; + + expect(validateCounterStringValue('#3#5#7#9#12#', context)).toBe(true); + expect(validateCounterStringValue('#3#5#7#9#', context)).toBe(false); + }); + test('enum validator only allows values declared on the field definition', () => { const context = { fieldDefinition: { @@ -144,6 +158,13 @@ describe('command help validators', () => { expect(validator('')).toBe(false); }); + test('validateCommandHelpValue resets lastIndex for stateful regex validators', () => { + const validator = /^[A-Z]{2}$/gu; + + expect(validateCommandHelpValue(validator, 'AB')).toBe(true); + expect(validateCommandHelpValue(validator, 'AB')).toBe(true); + }); + test('predicate validators can enforce semantic checks', () => { const validator = createPredicateValidator((value) => value.endsWith('.json')); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js index eb3d89eb..1d35762c 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-doc-param-examples.test.js @@ -20,6 +20,10 @@ describe('domain docs parameter examples', () => { invalid.push(`${keyword.keyword}:parse`); continue; } + if (parsed.arguments.length > 0 && parsed.arguments.some((entry) => entry.kind !== 'named')) { + invalid.push(`${keyword.keyword}:non-named`); + continue; + } parsed.arguments .filter((entry) => entry.kind === 'named') diff --git a/scripts/generate-domain-docs.mjs b/scripts/generate-domain-docs.mjs index fe3faa3b..9dcdb086 100644 --- a/scripts/generate-domain-docs.mjs +++ b/scripts/generate-domain-docs.mjs @@ -268,6 +268,12 @@ function sampleValueForArg(argSpec, keyword = '') { if (examples.length > 0) { return examples[0]; } + + const literalUnionValues = getLiteralUnionValues(typeName); + if (literalUnionValues.length > 0) { + return choosePreferredLiteralUnionValue(literalUnionValues, name, keyword); + } + if (name === 'firstName') return 'Alex'; if (name === 'lastName') return 'Taylor'; if (name === 'provider') return 'example.com'; @@ -278,7 +284,7 @@ function sampleValueForArg(argSpec, keyword = '') { if (name === 'separator') return '-'; if (name === 'characters') return 'ABC123'; if (name === 'pattern') return '[A-Za-z0-9]'; - if (name === 'version') return 'v4'; + if (name === 'version') return 4; if (name === 'mode') return 'age'; if (name === 'sex') return 'male'; if (name === 'mimeType') return 'image/png'; @@ -293,11 +299,6 @@ function sampleValueForArg(argSpec, keyword = '') { if (name === 'abbreviated') return false; if (name === 'memorable') return false; - const literalUnionValues = getLiteralUnionValues(typeName); - if (literalUnionValues.length > 0) { - return choosePreferredLiteralUnionValue(literalUnionValues, name, keyword); - } - const first = typeName .split('|') From 3a1f7324fcf0dcc5c54fca3443efcea6e70f0a70 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 10:48:12 +0100 Subject: [PATCH 05/16] Stabilize auto increment timestamp example --- .../domain-custom-autoincrement-keyword-definitions.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js b/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js index d782a9d4..51e675dd 100644 --- a/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js +++ b/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js @@ -32,9 +32,9 @@ const DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS = [ }, { functionCall: - 'autoIncrement.timestamp(start="2026-06-12 12:39:23", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss")', - sampleReturnValue: '2026-06-12 11:39:23', - description: 'Shows autoIncrement.timestamp in use.', + 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss")', + sampleReturnValue: '2026-06-12 12:39:23', + description: 'Shows autoIncrement.timestamp using a custom output format.', }, { functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days")', From b05c703782f0e60c013d3be6d817accf614efaf5 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 11:19:45 +0100 Subject: [PATCH 06/16] Enforce minimal command usage examples --- .../domain-faker-date-keyword-definitions.js | 5 ++ ...domain-faker-string-keyword-definitions.js | 6 +- .../faker/faker-helper-keyword-definitions.js | 5 ++ .../command-help-examples.test.js | 55 +++++++++++++++++++ 4 files changed, 68 insertions(+), 3 deletions(-) diff --git a/packages/core/js/domain/domain-faker-date-keyword-definitions.js b/packages/core/js/domain/domain-faker-date-keyword-definitions.js index 3c73944e..f4d522c0 100644 --- a/packages/core/js/domain/domain-faker-date-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-date-keyword-definitions.js @@ -100,6 +100,11 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ validator: validateArrayValue, returnType: 'array', usageExamples: [ + { + functionCall: 'date.betweens(from=1577836800000, to=1609372800000)', + sampleReturnValue: ['2020-02-03T16:53:09.924Z', '2020-02-23T13:34:53.772Z', '2020-04-20T08:26:00.010Z'], + description: 'Shows date.betweens with only the required range boundaries.', + }, { functionCall: 'date.betweens(count=2, from=1577836800000, to=1609372800000)', sampleReturnValue: ['2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], diff --git a/packages/core/js/domain/domain-faker-string-keyword-definitions.js b/packages/core/js/domain/domain-faker-string-keyword-definitions.js index 8258e3a4..5f70181c 100644 --- a/packages/core/js/domain/domain-faker-string-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-string-keyword-definitions.js @@ -201,9 +201,9 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ returnType: 'string', usageExamples: [ { - functionCall: 'string.fromCharacters("ABC123", 6)', - sampleReturnValue: 'C2ABAA', - description: 'Shows string.fromCharacters in use.', + functionCall: 'string.fromCharacters(characters="ABC123")', + sampleReturnValue: 'B', + description: 'Shows string.fromCharacters with only the required characters argument.', }, { functionCall: 'string.fromCharacters(characters=["A", "B", "C"], length=4)', diff --git a/packages/core/js/faker/faker-helper-keyword-definitions.js b/packages/core/js/faker/faker-helper-keyword-definitions.js index e643c435..1accd879 100644 --- a/packages/core/js/faker/faker-helper-keyword-definitions.js +++ b/packages/core/js/faker/faker-helper-keyword-definitions.js @@ -396,6 +396,11 @@ const FAKER_HELPER_KEYWORD_DEFINITIONS = { }, ], usageExamples: [ + { + functionCall: 'helpers.arrayElements(["A", "B", "C"])', + sampleReturnValue: ['A', 'C'], + description: 'Shows helpers.arrayElements with only the required array argument.', + }, { functionCall: 'helpers.arrayElements(["A", "B", "C"], 2)', sampleReturnValue: ['C', 'B'], diff --git a/packages/core/src/tests/command-help/command-help-examples.test.js b/packages/core/src/tests/command-help/command-help-examples.test.js index fd37d59c..94c1ae2d 100644 --- a/packages/core/src/tests/command-help/command-help-examples.test.js +++ b/packages/core/src/tests/command-help/command-help-examples.test.js @@ -40,6 +40,61 @@ describe('command help usage examples', () => { expect(missingCoverage).toEqual([]); }); + test('commands include a base minimal valid example', () => { + const failures = commandCases.flatMap((entry) => { + const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; + const requiredParams = entry.params.filter(isRequiredParam); + + if (entry.command.startsWith('helpers.')) { + const requiredArgCount = requiredParams.length; + const hasMinimalExample = usageExamples.some( + (usageExample) => getHelperExampleArgCount(usageExample.functionCall) === requiredArgCount + ); + + return hasMinimalExample + ? [] + : [ + { + command: `${entry.catalog}:${entry.command}`, + reason: `missing minimal positional example with ${requiredArgCount} required argument(s)`, + }, + ]; + } + + const requiredParamNames = new Set(requiredParams.map((param) => param.name)); + const hasMinimalExample = usageExamples.some((usageExample) => { + const parsed = DOMAIN_INVOCATION_PARSER.parse(usageExample.functionCall); + if (!parsed.ok || parsed.keyword !== entry.command) { + return false; + } + + const namedArgs = (parsed.arguments || []).filter((argument) => argument.kind === 'named').map((arg) => arg.name); + const providedArgNames = new Set(namedArgs); + + if ((parsed.arguments || []).length !== requiredParams.length) { + return false; + } + + if (providedArgNames.size !== requiredParamNames.size) { + return false; + } + + return [...requiredParamNames].every((name) => providedArgNames.has(name)); + }); + + return hasMinimalExample + ? [] + : [ + { + command: `${entry.catalog}:${entry.command}`, + reason: `missing minimal named example with exactly ${requiredParams.length} required argument(s)`, + }, + ]; + }); + + expect(failures).toEqual([]); + }); + test('each optional parameter has a focused usage example and all-optional commands include a zero-arg example', () => { const failures = commandCases.flatMap((entry) => { const usageExamples = Array.isArray(entry.help?.usageExamples) ? entry.help.usageExamples : []; From 308fa9a0ed988eeab6b26a16d305689d639c6879 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 11:40:07 +0100 Subject: [PATCH 07/16] Use curated command examples in docs and matrix tests --- .../docs/040-test-data/domain/020-airline.md | 88 +-- .../docs/040-test-data/domain/030-animal.md | 96 ++-- .../040-test-data/domain/040-autoIncrement.md | 94 ++- .../docs/040-test-data/domain/050-book.md | 36 +- .../docs/040-test-data/domain/060-color.md | 131 +++-- .../docs/040-test-data/domain/070-commerce.md | 94 +-- .../docs/040-test-data/domain/080-company.md | 54 +- .../docs/040-test-data/domain/090-database.md | 30 +- .../docs/040-test-data/domain/100-datatype.md | 11 +- .../docs/040-test-data/domain/110-date.md | 179 ++++-- .../docs/040-test-data/domain/120-finance.md | 185 +++--- .../docs/040-test-data/domain/130-food.md | 54 +- docs-src/docs/040-test-data/domain/140-git.md | 30 +- .../docs/040-test-data/domain/150-hacker.md | 36 +- .../docs/040-test-data/domain/160-image.md | 46 +- .../docs/040-test-data/domain/170-internet.md | 264 ++++++--- .../docs/040-test-data/domain/180-literal.md | 21 +- .../docs/040-test-data/domain/190-location.md | 164 +++--- .../docs/040-test-data/domain/200-lorem.md | 259 ++++++--- .../docs/040-test-data/domain/210-music.md | 24 +- .../docs/040-test-data/domain/220-number.md | 132 +++-- .../docs/040-test-data/domain/230-person.md | 110 ++-- .../docs/040-test-data/domain/240-phone.md | 17 +- .../docs/040-test-data/domain/250-science.md | 30 +- .../docs/040-test-data/domain/260-string.md | 242 +++++--- .../docs/040-test-data/domain/270-system.md | 92 +-- .../docs/040-test-data/domain/280-vehicle.md | 54 +- .../docs/040-test-data/domain/290-word.md | 184 ++++-- ...chema-interaction-scenario-builder.test.js | 37 +- .../schema-interaction-scenario-builder.js | 535 +++++------------- ...ain-custom-internet-keyword-definitions.js | 4 +- .../domain-faker-date-keyword-definitions.js | 2 +- ...domain-faker-string-keyword-definitions.js | 2 +- .../command-help-examples.test.js | 4 +- .../domain-doc-generator-output.test.js | 97 +++- scripts/generate-domain-docs.mjs | 315 +---------- 36 files changed, 2035 insertions(+), 1718 deletions(-) diff --git a/docs-src/docs/040-test-data/domain/020-airline.md b/docs-src/docs/040-test-data/domain/020-airline.md index aaf4216c..f958e52d 100644 --- a/docs-src/docs/040-test-data/domain/020-airline.md +++ b/docs-src/docs/040-test-data/domain/020-airline.md @@ -19,235 +19,234 @@ The `airline` domain maps domain keywords to underlying faker implementations. Returns a random aircraft type. - Canonical: `awd.domain.airline.aircraftType` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.aircraftType call. + ```txt airline.aircraftType ``` -Example return values: -- `regional` +Returns: `regional` ### `airline.airline` Generate a value using faker airline.airline. - Canonical: `awd.domain.airline.airline` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airline call. + ```txt airline.airline ``` -Example return values: -- `{"name":"Flydubai","iataCode":"FZ"}` +Returns: `{"name":"Flydubai","iataCode":"FZ"}` ### `airline.airline.iataCode` Generate an airline IATA code. - Canonical: `awd.domain.airline.airline.iataCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airline.iataCode call. + ```txt airline.airline.iataCode ``` -Example return values: -- `FZ` +Returns: `FZ` ### `airline.airline.name` Generate an airline name. - Canonical: `awd.domain.airline.airline.name` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airline.name call. + ```txt airline.airline.name ``` -Example return values: -- `Flydubai` +Returns: `Flydubai` ### `airline.airplane` Generate a value using faker airline.airplane. - Canonical: `awd.domain.airline.airplane` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airplane call. + ```txt airline.airplane ``` -Example return values: -- `{"name":"Boeing 747-400D","iataTypeCode":"74J"}` +Returns: `{"name":"Boeing 747-400D","iataTypeCode":"74J"}` ### `airline.airplane.iataTypeCode` Generate an airplane IATA type code. - Canonical: `awd.domain.airline.airplane.iataTypeCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airplane.iataTypeCode call. + ```txt airline.airplane.iataTypeCode ``` -Example return values: -- `74J` +Returns: `74J` ### `airline.airplane.name` Generate an airplane model name. - Canonical: `awd.domain.airline.airplane.name` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airplane.name call. + ```txt airline.airplane.name ``` -Example return values: -- `Boeing 747-400D` +Returns: `Boeing 747-400D` ### `airline.airport` Generate a value using faker airline.airport. - Canonical: `awd.domain.airline.airport` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airport call. + ```txt airline.airport ``` -Example return values: -- `{"name":"Hurgada International Airport","iataCode":"HRG"}` +Returns: `{"name":"Hurgada International Airport","iataCode":"HRG"}` ### `airline.airport.iataCode` Generate an airport IATA code. - Canonical: `awd.domain.airline.airport.iataCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airport.iataCode call. + ```txt airline.airport.iataCode ``` -Example return values: -- `HRG` +Returns: `HRG` ### `airline.airport.name` Generate an airport name. - Canonical: `awd.domain.airline.airport.name` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.airport.name call. + ```txt airline.airport.name ``` -Example return values: -- `Hurgada International Airport` +Returns: `Hurgada International Airport` ### `airline.flightNumber` Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros. - Canonical: `awd.domain.airline.flightNumber` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.flightNumber call. + ```txt airline.flightNumber ``` -Example return values: -- `70` +Returns: `70` ### `airline.recordLocator` Generates a random record locator. Record locators are 6-character alphanumeric booking references. - Canonical: `awd.domain.airline.recordLocator` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: +Shows the default airline.recordLocator call. + ```txt airline.recordLocator ``` -Example return values: -- `KTAGDC` +Returns: `KTAGDC` ### `airline.seat` Generates a random seat. - Canonical: `awd.domain.airline.seat` -- Docs: [https://anywaydata.com/docs/test-data/domain/airline](https://anywaydata.com/docs/test-data/domain/airline) - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) | Arg | Type | Required | Description | @@ -256,19 +255,26 @@ Generates a random seat. Examples: +Shows airline.seat in use. + ```txt airline.seat ``` +Returns: `15E` + +Shows airline.seat in use. + ```txt airline.seat(aircraftType="widebody") ``` +Returns: `26H` + +Shows airline.seat when optional params are omitted. + ```txt airline.seat() ``` -Example return values: -- `15E` -- `26H` -- `15E` +Returns: `15E` diff --git a/docs-src/docs/040-test-data/domain/030-animal.md b/docs-src/docs/040-test-data/domain/030-animal.md index 866d9276..2dbca9b2 100644 --- a/docs-src/docs/040-test-data/domain/030-animal.md +++ b/docs-src/docs/040-test-data/domain/030-animal.md @@ -19,301 +19,301 @@ The `animal` domain maps domain keywords to underlying faker implementations. Returns a random bear species. - Canonical: `awd.domain.animal.bear` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.bear call. + ```txt animal.bear ``` -Example return values: -- `Giant panda` +Returns: `Giant panda` ### `animal.bird` Returns a random bird species. - Canonical: `awd.domain.animal.bird` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.bird call. + ```txt animal.bird ``` -Example return values: -- `Great-tailed Grackle` +Returns: `Great-tailed Grackle` ### `animal.cat` Returns a random cat breed. - Canonical: `awd.domain.animal.cat` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.cat call. + ```txt animal.cat ``` -Example return values: -- `Korat` +Returns: `Korat` ### `animal.cetacean` Returns a random cetacean species. - Canonical: `awd.domain.animal.cetacean` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.cetacean call. + ```txt animal.cetacean ``` -Example return values: -- `Guiana Dolphin` +Returns: `Guiana Dolphin` ### `animal.cow` Returns a random cow species. - Canonical: `awd.domain.animal.cow` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.cow call. + ```txt animal.cow ``` -Example return values: -- `Gascon cattle` +Returns: `Gascon cattle` ### `animal.crocodilia` Returns a random crocodilian species. - Canonical: `awd.domain.animal.crocodilia` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.crocodilia call. + ```txt animal.crocodilia ``` -Example return values: -- `Gharial` +Returns: `Gharial` ### `animal.dog` Returns a random dog breed. - Canonical: `awd.domain.animal.dog` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.dog call. + ```txt animal.dog ``` -Example return values: -- `Grand Bleu de Gascogne` +Returns: `Grand Bleu de Gascogne` ### `animal.fish` Returns a random fish species. - Canonical: `awd.domain.animal.fish` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.fish call. + ```txt animal.fish ``` -Example return values: -- `Gazami crab` +Returns: `Gazami crab` ### `animal.horse` Returns a random horse breed. - Canonical: `awd.domain.animal.horse` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.horse call. + ```txt animal.horse ``` -Example return values: -- `Heihe Horse` +Returns: `Heihe Horse` ### `animal.insect` Returns a random insect species. - Canonical: `awd.domain.animal.insect` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.insect call. + ```txt animal.insect ``` -Example return values: -- `Honey bee` +Returns: `Honey bee` ### `animal.lion` Returns a random lion species. - Canonical: `awd.domain.animal.lion` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.lion call. + ```txt animal.lion ``` -Example return values: -- `Cape lion` +Returns: `Cape lion` ### `animal.petName` Returns a random pet name. - Canonical: `awd.domain.animal.petName` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.petName call. + ```txt animal.petName ``` -Example return values: -- `Gus` +Returns: `Gus` ### `animal.rabbit` Returns a random rabbit species. - Canonical: `awd.domain.animal.rabbit` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.rabbit call. + ```txt animal.rabbit ``` -Example return values: -- `Florida White` +Returns: `Florida White` ### `animal.rodent` Returns a random rodent breed. - Canonical: `awd.domain.animal.rodent` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.rodent call. + ```txt animal.rodent ``` -Example return values: -- `Fukomys foxi` +Returns: `Fukomys foxi` ### `animal.snake` Returns a random snake species. - Canonical: `awd.domain.animal.snake` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.snake call. + ```txt animal.snake ``` -Example return values: -- `Harlequin coral snake` +Returns: `Harlequin coral snake` ### `animal.type` Returns a random animal type. - Canonical: `awd.domain.animal.type` -- Docs: [https://anywaydata.com/docs/test-data/domain/animal](https://anywaydata.com/docs/test-data/domain/animal) - Faker docs: [https://fakerjs.dev/api/animal](https://fakerjs.dev/api/animal) No parameters. Examples: +Shows the default animal.type call. + ```txt animal.type ``` -Example return values: -- `giraffe` +Returns: `giraffe` diff --git a/docs-src/docs/040-test-data/domain/040-autoIncrement.md b/docs-src/docs/040-test-data/domain/040-autoIncrement.md index a8fbe1b7..6fb86ae3 100644 --- a/docs-src/docs/040-test-data/domain/040-autoIncrement.md +++ b/docs-src/docs/040-test-data/domain/040-autoIncrement.md @@ -15,7 +15,6 @@ The `autoIncrement` domain provides stateful sequence helpers for accepted gener Generates an incrementing sequence. Values only advance when a generated row is accepted, so constraint-filtered rows do not consume sequence numbers. - Canonical: `awd.domain.autoIncrement.sequence` -- Docs: [https://anywaydata.com/docs/test-data/auto-increment-sequences](https://anywaydata.com/docs/test-data/auto-increment-sequences) | Arg | Type | Required | Description | | --- | --- | --- | --- | @@ -27,54 +26,75 @@ Generates an incrementing sequence. Values only advance when a generated row is Examples: +Shows autoIncrement.sequence in use. + ```txt autoIncrement.sequence() ``` +Returns: `1` + +Shows autoIncrement.sequence in use. + ```txt autoIncrement.sequence(start=10, step=5) ``` +Returns: `10` + +Shows autoIncrement.sequence in use. + ```txt autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3) ``` +Returns: `filename001.txt` + +Shows autoIncrement.sequence using start. + ```txt autoIncrement.sequence(start=10) ``` +Returns: `10` + +Shows autoIncrement.sequence using step. + ```txt autoIncrement.sequence(step=5) ``` +Returns: `1` + +Shows autoIncrement.sequence using prefix. + ```txt autoIncrement.sequence(prefix="filename") ``` +Returns: `filename1` + +Shows autoIncrement.sequence using suffix. + ```txt autoIncrement.sequence(suffix=".txt") ``` +Returns: `1.txt` + +Shows autoIncrement.sequence using zeropadding. + ```txt autoIncrement.sequence(zeropadding=3) ``` -Example return values: -- `1` -- `10` -- `filename001.txt` -- `10` -- `1` -- `filename1` -- `1.txt` -- `001` +Returns: `001` ### `autoIncrement.timestamp` Generates a timestamp that starts from a fixed point and increments by the configured amount for each generated row. - Canonical: `awd.domain.autoIncrement.timestamp` -- Docs: [https://anywaydata.com/docs/test-data/domain/autoIncrement](https://anywaydata.com/docs/test-data/domain/autoIncrement) | Arg | Type | Required | Description | | --- | --- | --- | --- | @@ -86,54 +106,82 @@ Generates a timestamp that starts from a fixed point and increments by the confi Examples: +Shows autoIncrement.timestamp in use. + ```txt autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=1, type="seconds") ``` +Returns: `2026-06-12T12:39:23Z` + +Shows autoIncrement.timestamp in use. + ```txt autoIncrement.timestamp() ``` +Returns: `2026-06-18T15:55:20Z` + +Shows autoIncrement.timestamp in use. + ```txt autoIncrement.timestamp(start="20/03/1969", step=1, type="days") ``` +Returns: `1969-03-20T12:00:00Z` + +Shows autoIncrement.timestamp using a custom output format. + ```txt -autoIncrement.timestamp(start="2026-06-12 12:39:23", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss") +autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss") ``` +Returns: `2026-06-12 12:39:23` + +Shows autoIncrement.timestamp in use. + ```txt autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days") ``` +Returns: `1969-03-20T00:00:00Z` + +Shows autoIncrement.timestamp using start. + ```txt autoIncrement.timestamp(start="2026-06-12T12:39:23Z") ``` +Returns: `2026-06-12T12:39:23Z` + +Shows autoIncrement.timestamp using step. + ```txt autoIncrement.timestamp(step=1) ``` +Returns: `2026-06-18T15:55:20Z` + +Shows autoIncrement.timestamp using type. + ```txt autoIncrement.timestamp(type="seconds") ``` +Returns: `2026-06-18T15:55:20Z` + +Shows autoIncrement.timestamp using outputFormat. + ```txt autoIncrement.timestamp(outputFormat="iso8601") ``` +Returns: `2026-06-18T15:55:20Z` + +Shows autoIncrement.timestamp using inputFormat. + ```txt autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy") ``` -Example return values: -- `2026-06-12T12:39:23Z` -- `2026-06-18T15:55:20Z` -- `1969-03-20T12:00:00Z` -- `2026-06-12 11:39:23` -- `1969-03-20T00:00:00Z` -- `2026-06-12T12:39:23Z` -- `2026-06-18T15:55:20Z` -- `2026-06-18T15:55:20Z` -- `2026-06-18T15:55:20Z` -- `1969-03-20T00:00:00Z` +Returns: `1969-03-20T00:00:00Z` diff --git a/docs-src/docs/040-test-data/domain/050-book.md b/docs-src/docs/040-test-data/domain/050-book.md index 9b98e989..bf90a10d 100644 --- a/docs-src/docs/040-test-data/domain/050-book.md +++ b/docs-src/docs/040-test-data/domain/050-book.md @@ -19,111 +19,111 @@ The `book` domain maps domain keywords to underlying faker implementations. Returns a random author name. - Canonical: `awd.domain.book.author` -- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. Examples: +Shows the default book.author call. + ```txt book.author ``` -Example return values: -- `Ian McEwan` +Returns: `Ian McEwan` ### `book.format` Returns a random book format. - Canonical: `awd.domain.book.format` -- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. Examples: +Shows the default book.format call. + ```txt book.format ``` -Example return values: -- `Ebook` +Returns: `Ebook` ### `book.genre` Returns a random genre. - Canonical: `awd.domain.book.genre` -- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. Examples: +Shows the default book.genre call. + ```txt book.genre ``` -Example return values: -- `Graphic Novel` +Returns: `Graphic Novel` ### `book.publisher` Returns a random publisher. - Canonical: `awd.domain.book.publisher` -- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. Examples: +Shows the default book.publisher call. + ```txt book.publisher ``` -Example return values: -- `Golden Cockerel Press` +Returns: `Golden Cockerel Press` ### `book.series` Returns a random series. - Canonical: `awd.domain.book.series` -- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. Examples: +Shows the default book.series call. + ```txt book.series ``` -Example return values: -- `The Bartimaeus Trilogy` +Returns: `The Bartimaeus Trilogy` ### `book.title` Returns a random title. - Canonical: `awd.domain.book.title` -- Docs: [https://anywaydata.com/docs/test-data/domain/book](https://anywaydata.com/docs/test-data/domain/book) - Faker docs: [https://fakerjs.dev/api/book](https://fakerjs.dev/api/book) No parameters. Examples: +Shows the default book.title call. + ```txt book.title ``` -Example return values: -- `Moby Dick` +Returns: `Moby Dick` diff --git a/docs-src/docs/040-test-data/domain/060-color.md b/docs-src/docs/040-test-data/domain/060-color.md index be36183b..f202cb1d 100644 --- a/docs-src/docs/040-test-data/domain/060-color.md +++ b/docs-src/docs/040-test-data/domain/060-color.md @@ -19,7 +19,6 @@ The `color` domain maps domain keywords to underlying faker implementations. Returns a CMYK color. - Canonical: `awd.domain.color.cmyk` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -28,24 +27,27 @@ Returns a CMYK color. Examples: +Shows color.cmyk when optional params are omitted. + ```txt color.cmyk() ``` +Returns: `[0.42,0.72,0,0.3]` + +Shows color.cmyk using format. + ```txt color.cmyk(format="decimal") ``` -Example return values: -- `[0.42,0.72,0,0.3]` -- `[0.42,0.72,0,0.3]` +Returns: `[0.42,0.72,0,0.3]` ### `color.colorByCSSColorSpace` Returns a random color based on CSS color space specified. - Canonical: `awd.domain.color.colorByCSSColorSpace` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -55,67 +57,73 @@ Returns a random color based on CSS color space specified. Examples: +Shows color.colorByCSSColorSpace when optional params are omitted. + ```txt color.colorByCSSColorSpace() ``` +Returns: `[0.417,0.7203,0.0001]` + +Shows color.colorByCSSColorSpace using format. + ```txt color.colorByCSSColorSpace(format="decimal") ``` +Returns: `[0.417,0.7203,0.0001]` + +Shows color.colorByCSSColorSpace using space. + ```txt color.colorByCSSColorSpace(space="display-p3") ``` -Example return values: -- `[0.417,0.7203,0.0001]` -- `[0.417,0.7203,0.0001]` -- `[0.417,0.7203,0.0001]` +Returns: `[0.417,0.7203,0.0001]` ### `color.cssSupportedFunction` Returns a random css supported color function name. - Canonical: `awd.domain.color.cssSupportedFunction` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. Examples: +Shows the default color.cssSupportedFunction call. + ```txt color.cssSupportedFunction ``` -Example return values: -- `hsla` +Returns: `hsla` ### `color.cssSupportedSpace` Returns a random css supported color space name. - Canonical: `awd.domain.color.cssSupportedSpace` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. Examples: +Shows the default color.cssSupportedSpace call. + ```txt color.cssSupportedSpace ``` -Example return values: -- `rec2020` +Returns: `rec2020` ### `color.hsl` Returns an HSL color. - Canonical: `awd.domain.color.hsl` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -125,53 +133,62 @@ Returns an HSL color. Examples: +Shows color.hsl returning the default tuple output. + ```txt color.hsl ``` +Returns: `[150,0.72,0]` + +Shows color.hsl returning CSS text without alpha. + ```txt color.hsl(format="css") ``` +Returns: `hsl(150deg 72% 0%)` + +Shows color.hsl including alpha while keeping the tuple-style output. + ```txt color.hsl(includeAlpha=true) ``` +Returns: `[150,0.72,0,0.3]` + +Shows color.hsl returning CSS text with alpha included. + ```txt color.hsl(format="css", includeAlpha=true) ``` -Example return values: -- `[150,0.72,0]` -- `hsl(150deg 72% 0%)` -- `[150,0.72,0,0.3]` -- `hsl(150deg 72% 0% / 30)` +Returns: `hsl(150deg 72% 0% / 30)` ### `color.human` Returns a random human-readable color name. - Canonical: `awd.domain.color.human` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. Examples: +Shows the default color.human call. + ```txt color.human ``` -Example return values: -- `magenta` +Returns: `magenta` ### `color.hwb` Returns an HWB color. - Canonical: `awd.domain.color.hwb` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -180,24 +197,27 @@ Returns an HWB color. Examples: +Shows color.hwb when optional params are omitted. + ```txt color.hwb() ``` +Returns: `[150,0.72,0]` + +Shows color.hwb using format. + ```txt color.hwb(format="decimal") ``` -Example return values: -- `[150,0.72,0]` -- `[150,0.72,0]` +Returns: `[150,0.72,0]` ### `color.lab` Returns a LAB (CIELAB) color. - Canonical: `awd.domain.color.lab` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -206,24 +226,27 @@ Returns a LAB (CIELAB) color. Examples: +Shows color.lab when optional params are omitted. + ```txt color.lab() ``` +Returns: `[0.417022,44.0649,-99.9772]` + +Shows color.lab using format. + ```txt color.lab(format="decimal") ``` -Example return values: -- `[0.417022,44.0649,-99.9772]` -- `[0.417022,44.0649,-99.9772]` +Returns: `[0.417022,44.0649,-99.9772]` ### `color.lch` Returns an LCH color. - Canonical: `awd.domain.color.lch` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -232,24 +255,27 @@ Returns an LCH color. Examples: +Shows color.lch when optional params are omitted. + ```txt color.lch() ``` +Returns: `[0.417022,165.7,0]` + +Shows color.lch using format. + ```txt color.lch(format="decimal") ``` -Example return values: -- `[0.417022,165.7,0]` -- `[0.417022,165.7,0]` +Returns: `[0.417022,165.7,0]` ### `color.rgb` Returns an RGB color. - Canonical: `awd.domain.color.rgb` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) | Arg | Type | Required | Description | @@ -261,48 +287,61 @@ Returns an RGB color. Examples: +Shows color.rgb when optional params are omitted. + ```txt color.rgb() ``` +Returns: `#9f0632` + +Shows color.rgb using casing. + ```txt color.rgb(casing="upper") ``` +Returns: `#9F0632` + +Shows color.rgb using format. + ```txt color.rgb(format="hex") ``` +Returns: `#9f0632` + +Shows color.rgb using includeAlpha. + ```txt color.rgb(includeAlpha=true) ``` +Returns: `#9f063247` + +Shows color.rgb using prefix. + ```txt color.rgb(prefix="#") ``` -Example return values: -- `#9f0632` -- `#9F0632` -- `#9f0632` -- `#9f063247` -- `#9f0632` +Returns: `#9f0632` ### `color.space` Returns a random color space name from the worldwide accepted color spaces. - Canonical: `awd.domain.color.space` -- Docs: [https://anywaydata.com/docs/test-data/domain/color](https://anywaydata.com/docs/test-data/domain/color) - Faker docs: [https://fakerjs.dev/api/color](https://fakerjs.dev/api/color) No parameters. Examples: +Shows the default color.space call. + ```txt color.space ``` -Example return values: -- `HSV` +Returns: `HSV` diff --git a/docs-src/docs/040-test-data/domain/070-commerce.md b/docs-src/docs/040-test-data/domain/070-commerce.md index 84f1b99a..e523c03b 100644 --- a/docs-src/docs/040-test-data/domain/070-commerce.md +++ b/docs-src/docs/040-test-data/domain/070-commerce.md @@ -19,26 +19,25 @@ The `commerce` domain maps domain keywords to underlying faker implementations. Returns a department inside a shop. - Canonical: `awd.domain.commerce.department` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. Examples: +Shows the default commerce.department call. + ```txt commerce.department ``` -Example return values: -- `Grocery` +Returns: `Grocery` ### `commerce.isbn` Returns a random ISBN identifier. - Canonical: `awd.domain.commerce.isbn` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) | Arg | Type | Required | Description | @@ -48,29 +47,35 @@ Returns a random ISBN identifier. Examples: +Shows commerce.isbn when optional params are omitted. + ```txt commerce.isbn() ``` +Returns: `978-0-7031-0133-4` + +Shows commerce.isbn using separator. + ```txt commerce.isbn(separator="-") ``` +Returns: `978-0-7031-0133-4` + +Shows commerce.isbn using variant. + ```txt commerce.isbn(variant=10) ``` -Example return values: -- `978-0-7031-0133-4` -- `978-0-7031-0133-4` -- `0-7031-0133-1` +Returns: `0-7031-0133-1` ### `commerce.price` Generates a price between min and max (inclusive). - Canonical: `awd.domain.commerce.price` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) | Arg | Type | Required | Description | @@ -82,139 +87,154 @@ Generates a price between min and max (inclusive). Examples: +Shows commerce.price in use. + ```txt commerce.price(dec=2, max=10, min=1, symbol="$") ``` +Returns: `$4.79` + +Shows commerce.price when optional params are omitted. + ```txt commerce.price() ``` +Returns: `417.69` + +Shows commerce.price using dec. + ```txt commerce.price(dec=2) ``` +Returns: `417.69` + +Shows commerce.price using max. + ```txt commerce.price(max=100) ``` +Returns: `42.29` + +Shows commerce.price using min. + ```txt commerce.price(max=10, min=1) ``` +Returns: `4.79` + +Shows commerce.price using symbol. + ```txt commerce.price(symbol="$") ``` -Example return values: -- `$4.79` -- `417.69` -- `417.69` -- `42.29` -- `4.79` -- `$417.69` +Returns: `$417.69` ### `commerce.product` Returns a short product name. - Canonical: `awd.domain.commerce.product` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. Examples: +Shows the default commerce.product call. + ```txt commerce.product ``` -Example return values: -- `Gloves` +Returns: `Gloves` ### `commerce.productAdjective` Returns an adjective describing a product. - Canonical: `awd.domain.commerce.productAdjective` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. Examples: +Shows the default commerce.productAdjective call. + ```txt commerce.productAdjective ``` -Example return values: -- `Handmade` +Returns: `Handmade` ### `commerce.productDescription` Returns a product description. - Canonical: `awd.domain.commerce.productDescription` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. Examples: +Shows the default commerce.productDescription call. + ```txt commerce.productDescription ``` -Example return values: -- `New Sausages model with 1 GB RAM, 303 GB storage, and bruised features` +Returns: `New Sausages model with 1 GB RAM, 303 GB storage, and bruised features` ### `commerce.productMaterial` Returns a material of a product. - Canonical: `awd.domain.commerce.productMaterial` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. Examples: +Shows the default commerce.productMaterial call. + ```txt commerce.productMaterial ``` -Example return values: -- `Gold` +Returns: `Gold` ### `commerce.productName` Generates a random descriptive product name. - Canonical: `awd.domain.commerce.productName` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) No parameters. Examples: +Shows the default commerce.productName call. + ```txt commerce.productName ``` -Example return values: -- `Handmade Plastic Bacon` +Returns: `Handmade Plastic Bacon` ### `commerce.upc` Returns a valid UPC-A (12 digits). - Canonical: `awd.domain.commerce.upc` -- Docs: [https://anywaydata.com/docs/test-data/domain/commerce](https://anywaydata.com/docs/test-data/domain/commerce) - Faker docs: [https://fakerjs.dev/api/commerce](https://fakerjs.dev/api/commerce) | Arg | Type | Required | Description | @@ -223,14 +243,18 @@ Returns a valid UPC-A (12 digits). Examples: +Shows commerce.upc when optional params are omitted. + ```txt commerce.upc() ``` +Returns: `470310133543` + +Shows commerce.upc using prefix. + ```txt commerce.upc(prefix="01234") ``` -Example return values: -- `470310133543` -- `012344703103` +Returns: `012344703103` diff --git a/docs-src/docs/040-test-data/domain/080-company.md b/docs-src/docs/040-test-data/domain/080-company.md index d392b1b0..c82f1ac5 100644 --- a/docs-src/docs/040-test-data/domain/080-company.md +++ b/docs-src/docs/040-test-data/domain/080-company.md @@ -19,168 +19,168 @@ The `company` domain maps domain keywords to underlying faker implementations. Returns a random buzz adjective that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzAdjective` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.buzzAdjective call. + ```txt company.buzzAdjective ``` -Example return values: -- `immersive` +Returns: `immersive` ### `company.buzzNoun` Returns a random buzz noun that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzNoun` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.buzzNoun call. + ```txt company.buzzNoun ``` -Example return values: -- `interfaces` +Returns: `interfaces` ### `company.buzzPhrase` Generates a random buzz phrase that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzPhrase` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.buzzPhrase call. + ```txt company.buzzPhrase ``` -Example return values: -- `grow robust AI` +Returns: `grow robust AI` ### `company.buzzVerb` Returns a random buzz verb that can be used to demonstrate data being viewed by a manager. - Canonical: `awd.domain.company.buzzVerb` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.buzzVerb call. + ```txt company.buzzVerb ``` -Example return values: -- `grow` +Returns: `grow` ### `company.catchPhrase` Generates a random catch phrase that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhrase` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.catchPhrase call. + ```txt company.catchPhrase ``` -Example return values: -- `Integrated radical ability` +Returns: `Integrated radical ability` ### `company.catchPhraseAdjective` Returns a random catch phrase adjective that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhraseAdjective` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.catchPhraseAdjective call. + ```txt company.catchPhraseAdjective ``` -Example return values: -- `Integrated` +Returns: `Integrated` ### `company.catchPhraseDescriptor` Returns a random catch phrase descriptor that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhraseDescriptor` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.catchPhraseDescriptor call. + ```txt company.catchPhraseDescriptor ``` -Example return values: -- `heuristic` +Returns: `heuristic` ### `company.catchPhraseNoun` Returns a random catch phrase noun that can be displayed to an end user. - Canonical: `awd.domain.company.catchPhraseNoun` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.catchPhraseNoun call. + ```txt company.catchPhraseNoun ``` -Example return values: -- `generative AI` +Returns: `generative AI` ### `company.name` Generates a random company name. - Canonical: `awd.domain.company.name` -- Docs: [https://anywaydata.com/docs/test-data/domain/company](https://anywaydata.com/docs/test-data/domain/company) - Faker docs: [https://fakerjs.dev/api/company](https://fakerjs.dev/api/company) No parameters. Examples: +Shows the default company.name call. + ```txt company.name ``` -Example return values: -- `Gutmann Group` +Returns: `Gutmann Group` diff --git a/docs-src/docs/040-test-data/domain/090-database.md b/docs-src/docs/040-test-data/domain/090-database.md index 5bc7bede..63236ac9 100644 --- a/docs-src/docs/040-test-data/domain/090-database.md +++ b/docs-src/docs/040-test-data/domain/090-database.md @@ -19,92 +19,92 @@ The `database` domain maps domain keywords to underlying faker implementations. Returns a random database collation. - Canonical: `awd.domain.database.collation` -- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. Examples: +Shows the default database.collation call. + ```txt database.collation ``` -Example return values: -- `cp1250_bin` +Returns: `cp1250_bin` ### `database.column` Returns a random database column name. - Canonical: `awd.domain.database.column` -- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. Examples: +Shows the default database.column call. + ```txt database.column ``` -Example return values: -- `group` +Returns: `group` ### `database.engine` Returns a random database engine. - Canonical: `awd.domain.database.engine` -- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. Examples: +Shows the default database.engine call. + ```txt database.engine ``` -Example return values: -- `CSV` +Returns: `CSV` ### `database.mongodbObjectId` Returns a MongoDB ObjectId string. - Canonical: `awd.domain.database.mongodbObjectId` -- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. Examples: +Shows the default database.mongodbObjectId call. + ```txt database.mongodbObjectId ``` -Example return values: -- `9f0632478b9f4d0e9c34bf6f` +Returns: `9f0632478b9f4d0e9c34bf6f` ### `database.type` Returns a random database column type. - Canonical: `awd.domain.database.type` -- Docs: [https://anywaydata.com/docs/test-data/domain/database](https://anywaydata.com/docs/test-data/domain/database) - Faker docs: [https://fakerjs.dev/api/database](https://fakerjs.dev/api/database) No parameters. Examples: +Shows the default database.type call. + ```txt database.type ``` -Example return values: -- `float` +Returns: `float` diff --git a/docs-src/docs/040-test-data/domain/100-datatype.md b/docs-src/docs/040-test-data/domain/100-datatype.md index 3e527d42..a1d932a5 100644 --- a/docs-src/docs/040-test-data/domain/100-datatype.md +++ b/docs-src/docs/040-test-data/domain/100-datatype.md @@ -19,7 +19,6 @@ The `datatype` domain maps domain keywords to underlying faker implementations. Returns the boolean value true or false. - Canonical: `awd.domain.datatype.boolean` -- Docs: [https://anywaydata.com/docs/test-data/domain/datatype](https://anywaydata.com/docs/test-data/domain/datatype) - Faker docs: [https://fakerjs.dev/api/datatype](https://fakerjs.dev/api/datatype) | Arg | Type | Required | Description | @@ -28,14 +27,18 @@ Returns the boolean value true or false. Examples: +Shows datatype.boolean when optional params are omitted. + ```txt datatype.boolean() ``` +Returns: `true` + +Shows datatype.boolean using probability. + ```txt datatype.boolean(probability=0.5) ``` -Example return values: -- `true` -- `true` +Returns: `true` diff --git a/docs-src/docs/040-test-data/domain/110-date.md b/docs-src/docs/040-test-data/domain/110-date.md index 89d21a38..a2d5c665 100644 --- a/docs-src/docs/040-test-data/domain/110-date.md +++ b/docs-src/docs/040-test-data/domain/110-date.md @@ -19,7 +19,6 @@ The `date` domain maps domain keywords to underlying faker implementations. Generates a random date that can be either in the past or in the future. - Canonical: `awd.domain.date.anytime` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -28,24 +27,27 @@ Generates a random date that can be either in the past or in the future. Examples: +Shows date.anytime when optional params are omitted. + ```txt date.anytime() ``` +Returns: `2026-04-19T02:08:51.881Z` + +Shows date.anytime using refDate. + ```txt date.anytime(refDate=1577836800000) ``` -Example return values: -- `2026-04-19T02:08:51.881Z` -- `2019-11-01T10:13:31.881Z` +Returns: `2019-11-01T10:13:31.881Z` ### `date.between` Generates a random date between the given boundaries. - Canonical: `awd.domain.date.between` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -55,24 +57,27 @@ Generates a random date between the given boundaries. Examples: +Shows date.between using explicit from and to timestamps. + ```txt date.between(from=1577836800000, to=1609372800000) ``` +Returns: `2020-06-01T05:06:45.940Z` + +Shows date.between with a different bounded range. + ```txt date.between(from=1609459200000, to=1640995200000) ``` -Example return values: -- `2020-06-01T05:06:45.940Z` -- `2021-06-02T05:06:45.940Z` +Returns: `2021-06-02T05:06:45.940Z` ### `date.betweens` Generates random dates between the given boundaries. The dates will be returned in an array sorted in chronological order. - Canonical: `awd.domain.date.betweens` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -83,29 +88,43 @@ Generates random dates between the given boundaries. The dates will be returned Examples: +Shows date.betweens with only the required range boundaries. + +```txt +date.betweens(from=1577836800000, to=1609372800000) +``` + +Returns: `["2020-02-03T16:53:09.924Z","2020-02-23T13:34:53.772Z","2020-04-20T08:26:00.010Z"]` + +Shows date.betweens returning two sorted dates within a range. + ```txt date.betweens(count=2, from=1577836800000, to=1609372800000) ``` +Returns: `["2020-06-01T05:06:45.940Z","2020-09-19T22:02:33.225Z"]` + +Shows date.betweens using a larger count within a bounded range. + ```txt date.betweens(count=3, from=1609459200000, to=1640995200000) ``` +Returns: `["2021-01-01T01:00:06.924Z","2021-06-02T05:06:45.940Z","2021-09-20T22:02:33.225Z"]` + +Shows date.betweens with count, from, and to all supplied explicitly. + ```txt date.betweens(count=4, from=1640995200000, to=1672531200000) ``` -Example return values: -- `["2020-06-01T05:06:45.940Z","2020-09-19T22:02:33.225Z"]` -- `["2021-01-01T01:00:06.924Z","2021-06-02T05:06:45.940Z","2021-09-20T22:02:33.225Z"]` -- `["2022-01-01T01:00:06.924Z","2022-04-21T08:26:00.010Z","2022-06-02T05:06:45.940Z","2022-09-20T22:02:33.225Z"]` +Returns: `["2022-01-01T01:00:06.924Z","2022-04-21T08:26:00.010Z","2022-06-02T05:06:45.940Z","2022-09-20T22:02:33.225Z"]` ### `date.birthdate` Returns a random birthdate. By default, the birthdate is generated for an adult between 18 and 80 years old. - Canonical: `awd.domain.date.birthdate` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -117,44 +136,59 @@ Returns a random birthdate. By default, the birthdate is generated for an adult Examples: +Shows date.birthdate in use. + ```txt date.birthdate(refDate=20000, max=69, min=16, mode="age") ``` +Returns: `1922-07-10T12:11:49.191Z` + +Shows date.birthdate when optional params are omitted. + ```txt date.birthdate() ``` +Returns: `1971-09-27T08:09:14.757Z` + +Shows date.birthdate using refDate. + ```txt date.birthdate(refDate=1577836800000) ``` +Returns: `1965-04-10T16:13:54.757Z` + +Shows date.birthdate using max. + ```txt date.birthdate(max=65) ``` +Returns: `1980-06-25T11:25:42.848Z` + +Shows date.birthdate using min. + ```txt date.birthdate(max=10, min=1) ``` +Returns: `2019-08-20T15:04:00.805Z` + +Shows date.birthdate using mode. + ```txt date.birthdate(mode="age") ``` -Example return values: -- `1922-07-10T12:11:49.191Z` -- `1971-09-27T08:09:14.757Z` -- `1965-04-10T16:13:54.757Z` -- `1980-06-25T11:25:42.848Z` -- `2019-08-20T15:04:00.805Z` -- `1971-09-27T08:09:14.757Z` +Returns: `1971-09-27T08:09:14.757Z` ### `date.future` Generates a random date in the future. - Canonical: `awd.domain.date.future` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -164,29 +198,35 @@ Generates a random date in the future. Examples: +Shows date.future when optional params are omitted. + ```txt date.future() ``` +Returns: `2026-11-17T21:02:06.523Z` + +Shows date.future using refDate. + ```txt date.future(refDate=1577836800000) ``` +Returns: `2020-06-01T05:06:46.523Z` + +Shows date.future using years. + ```txt date.future(years=2) ``` -Example return values: -- `2026-11-17T21:02:06.523Z` -- `2020-06-01T05:06:46.523Z` -- `2027-04-19T02:08:52.463Z` +Returns: `2027-04-19T02:08:52.463Z` ### `date.month` Returns a random name of a month. - Canonical: `awd.domain.date.month` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -196,29 +236,35 @@ Returns a random name of a month. Examples: +Shows date.month when optional params are omitted. + ```txt date.month() ``` +Returns: `July` + +Shows date.month using abbreviated. + ```txt date.month(abbreviated=true) ``` +Returns: `Jul` + +Shows date.month using context. + ```txt date.month(context=true) ``` -Example return values: -- `July` -- `Jul` -- `July` +Returns: `July` ### `date.past` Generates a random date in the past. - Canonical: `awd.domain.date.past` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -228,29 +274,35 @@ Generates a random date in the past. Examples: +Shows date.past when optional params are omitted. + ```txt date.past() ``` +Returns: `2025-11-17T21:02:05.523Z` + +Shows date.past using refDate. + ```txt date.past(refDate=1577836800000) ``` +Returns: `2019-06-02T05:06:45.523Z` + +Shows date.past using years. + ```txt date.past(years=2) ``` -Example return values: -- `2025-11-17T21:02:05.523Z` -- `2019-06-02T05:06:45.523Z` -- `2025-04-19T02:08:51.463Z` +Returns: `2025-04-19T02:08:51.463Z` ### `date.recent` Generates a random date in the recent past. - Canonical: `awd.domain.date.recent` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -260,29 +312,35 @@ Generates a random date in the recent past. Examples: +Shows date.recent when optional params are omitted. + ```txt date.recent() ``` +Returns: `2026-06-18T01:55:50.284Z` + +Shows date.recent using days. + ```txt date.recent(days=7) ``` +Returns: `2026-06-14T13:58:54.491Z` + +Shows date.recent using refDate. + ```txt date.recent(refDate=1577836800000) ``` -Example return values: -- `2026-06-18T01:55:50.284Z` -- `2026-06-14T13:58:54.491Z` -- `2019-12-31T10:00:30.284Z` +Returns: `2019-12-31T10:00:30.284Z` ### `date.soon` Generates a random date in the near future. - Canonical: `awd.domain.date.soon` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -292,48 +350,54 @@ Generates a random date in the near future. Examples: +Shows date.soon when optional params are omitted. + ```txt date.soon() ``` +Returns: `2026-06-19T01:55:51.284Z` + +Shows date.soon using days. + ```txt date.soon(days=7) ``` +Returns: `2026-06-21T13:58:55.491Z` + +Shows date.soon using refDate. + ```txt date.soon(refDate=1577836800000) ``` -Example return values: -- `2026-06-19T01:55:51.284Z` -- `2026-06-21T13:58:55.491Z` -- `2020-01-01T10:00:31.284Z` +Returns: `2020-01-01T10:00:31.284Z` ### `date.timeZone` Returns a random IANA time zone relevant to this locale. - Canonical: `awd.domain.date.timeZone` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) No parameters. Examples: +Shows the default date.timeZone call. + ```txt date.timeZone ``` -Example return values: -- `America/Santiago` +Returns: `America/Santiago` ### `date.weekday` Returns a random day of the week. - Canonical: `awd.domain.date.weekday` -- Docs: [https://anywaydata.com/docs/test-data/domain/date](https://anywaydata.com/docs/test-data/domain/date) - Faker docs: [https://fakerjs.dev/api/date](https://fakerjs.dev/api/date) | Arg | Type | Required | Description | @@ -343,19 +407,26 @@ Returns a random day of the week. Examples: +Shows date.weekday when optional params are omitted. + ```txt date.weekday() ``` +Returns: `Saturday` + +Shows date.weekday using abbreviated. + ```txt date.weekday(abbreviated=true) ``` +Returns: `Sat` + +Shows date.weekday using context. + ```txt date.weekday(context=true) ``` -Example return values: -- `Saturday` -- `Sat` -- `Saturday` +Returns: `Saturday` diff --git a/docs-src/docs/040-test-data/domain/120-finance.md b/docs-src/docs/040-test-data/domain/120-finance.md index f00f5cd5..96fde605 100644 --- a/docs-src/docs/040-test-data/domain/120-finance.md +++ b/docs-src/docs/040-test-data/domain/120-finance.md @@ -19,26 +19,25 @@ The `finance` domain maps domain keywords to underlying faker implementations. Generates a random account name. - Canonical: `awd.domain.finance.accountName` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.accountName call. + ```txt finance.accountName ``` -Example return values: -- `Home Loan Account` +Returns: `Home Loan Account` ### `finance.accountNumber` Generates a random account number. - Canonical: `awd.domain.finance.accountNumber` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -47,24 +46,27 @@ Generates a random account number. Examples: +Shows finance.accountNumber when optional params are omitted. + ```txt finance.accountNumber() ``` +Returns: `47031013` + +Shows finance.accountNumber using length. + ```txt finance.accountNumber(length=5) ``` -Example return values: -- `47031013` -- `47031` +Returns: `47031` ### `finance.amount` Generates a random amount between the given bounds (inclusive). - Canonical: `awd.domain.finance.amount` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -77,44 +79,59 @@ Generates a random amount between the given bounds (inclusive). Examples: +Shows finance.amount when optional params are omitted. + ```txt finance.amount() ``` +Returns: `417.02` + +Shows finance.amount using autoFormat. + ```txt finance.amount(autoFormat=true) ``` +Returns: `417.02` + +Shows finance.amount using dec. + ```txt finance.amount(dec=2) ``` +Returns: `417.02` + +Shows finance.amount using max. + ```txt finance.amount(max=100) ``` +Returns: `41.70` + +Shows finance.amount using min. + ```txt finance.amount(max=10, min=1) ``` +Returns: `4.75` + +Shows finance.amount using symbol. + ```txt finance.amount(symbol="$") ``` -Example return values: -- `417.02` -- `417.02` -- `417.02` -- `41.70` -- `4.75` -- `$417.02` +Returns: `$417.02` ### `finance.bic` Generates a random SWIFT/BIC code based on the ISO-9362 format. - Canonical: `awd.domain.finance.bic` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -123,24 +140,27 @@ Generates a random SWIFT/BIC code based on the ISO-9362 format. Examples: +Shows finance.bic when optional params are omitted. + ```txt finance.bic() ``` +Returns: `SAHDBI6CJFO` + +Shows finance.bic using includeBranchCode. + ```txt finance.bic(includeBranchCode=true) ``` -Example return values: -- `SAHDBI6CJFO` -- `KSAHBZ36EJF` +Returns: `KSAHBZ36EJF` ### `finance.bitcoinAddress` Generates a random Bitcoin address. - Canonical: `awd.domain.finance.bitcoinAddress` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -150,67 +170,73 @@ Generates a random Bitcoin address. Examples: +Shows finance.bitcoinAddress when optional params are omitted. + ```txt finance.bitcoinAddress() ``` +Returns: `31i96bmpxqFcS2Eqy9cNYjGST53aS6qX` + +Shows finance.bitcoinAddress using type. + ```txt finance.bitcoinAddress(type="bech32") ``` +Returns: `bc1fr0a536dekfp7w0pfk57tycqww326w4fykqcpu0` + +Shows finance.bitcoinAddress using network. + ```txt finance.bitcoinAddress(network="testnet") ``` -Example return values: -- `31i96bmpxqFcS2Eqy9cNYjGST53aS6qX` -- `bc1fr0a536dekfp7w0pfk57tycqww326w4fykqcpu0` -- `21i96bmpxqFcS2Eqy9cNYjGST53aS6qX` +Returns: `21i96bmpxqFcS2Eqy9cNYjGST53aS6qX` ### `finance.creditCardCVV` Generates a random credit card CVV. - Canonical: `awd.domain.finance.creditCardCVV` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.creditCardCVV call. + ```txt finance.creditCardCVV ``` -Example return values: -- `470` +Returns: `470` ### `finance.creditCardIssuer` Returns a random credit card issuer. - Canonical: `awd.domain.finance.creditCardIssuer` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.creditCardIssuer call. + ```txt finance.creditCardIssuer ``` -Example return values: -- `discover` +Returns: `discover` ### `finance.creditCardNumber` Generates a random credit card number. - Canonical: `awd.domain.finance.creditCardNumber` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -219,138 +245,141 @@ Generates a random credit card number. Examples: +Shows finance.creditCardNumber when optional params are omitted. + ```txt finance.creditCardNumber() ``` +Returns: `6503-1013-3546-2805` + +Shows finance.creditCardNumber using issuer. + ```txt finance.creditCardNumber(issuer="Visa") ``` -Example return values: -- `6503-1013-3546-2805` -- `4703101335466` +Returns: `4703101335466` ### `finance.currency` Returns a random currency object, containing `code`, `name`, `symbol`, and `numericCode` properties. - Canonical: `awd.domain.finance.currency` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.currency call. + ```txt finance.currency ``` -Example return values: -- `{"name":"Jordanian Dinar","code":"JOD","symbol":"","numericCode":"400"}` +Returns: `{"name":"Jordanian Dinar","code":"JOD","symbol":"","numericCode":"400"}` ### `finance.currencyCode` Returns a random currency code. - Canonical: `awd.domain.finance.currencyCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.currencyCode call. + ```txt finance.currencyCode ``` -Example return values: -- `JOD` +Returns: `JOD` ### `finance.currencyName` Returns a random currency name. - Canonical: `awd.domain.finance.currencyName` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.currencyName call. + ```txt finance.currencyName ``` -Example return values: -- `Jordanian Dinar` +Returns: `Jordanian Dinar` ### `finance.currencyNumericCode` Returns a random currency numeric code. - Canonical: `awd.domain.finance.currencyNumericCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.currencyNumericCode call. + ```txt finance.currencyNumericCode ``` -Example return values: -- `400` +Returns: `400` ### `finance.currencySymbol` Returns a random currency symbol. - Canonical: `awd.domain.finance.currencySymbol` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.currencySymbol call. + ```txt finance.currencySymbol ``` -Example return values: -- `руб` +Returns: `руб` ### `finance.ethereumAddress` Creates a random, non-checksum Ethereum address. - Canonical: `awd.domain.finance.ethereumAddress` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.ethereumAddress call. + ```txt finance.ethereumAddress ``` -Example return values: -- `0x9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a` +Returns: `0x9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a` ### `finance.iban` Generates a random IBAN. - Canonical: `awd.domain.finance.iban` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -360,48 +389,54 @@ Generates a random IBAN. Examples: +Shows finance.iban when optional params are omitted. + ```txt finance.iban() ``` +Returns: `IE39SAHD00454601410936` + +Shows finance.iban using countryCode. + ```txt finance.iban(countryCode="GB") ``` +Returns: `GB98KSAH00235420410936` + +Shows finance.iban using formatted. + ```txt finance.iban(formatted=true) ``` -Example return values: -- `IE39SAHD00454601410936` -- `GB98KSAH00235420410936` -- `IE39 SAHD 0045 4601 4109 36` +Returns: `IE39 SAHD 0045 4601 4109 36` ### `finance.litecoinAddress` Generates a random Litecoin address. - Canonical: `awd.domain.finance.litecoinAddress` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.litecoinAddress call. + ```txt finance.litecoinAddress ``` -Example return values: -- `31i96bmpxqFcS2Eqy9cNYjGST53aS` +Returns: `31i96bmpxqFcS2Eqy9cNYjGST53aS` ### `finance.pin` Generates a random PIN number. - Canonical: `awd.domain.finance.pin` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) | Arg | Type | Required | Description | @@ -410,71 +445,75 @@ Generates a random PIN number. Examples: +Shows finance.pin when optional params are omitted. + ```txt finance.pin() ``` +Returns: `4703` + +Shows finance.pin using length. + ```txt finance.pin(length=5) ``` -Example return values: -- `4703` -- `47031` +Returns: `47031` ### `finance.routingNumber` Generates a random routing number. - Canonical: `awd.domain.finance.routingNumber` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.routingNumber call. + ```txt finance.routingNumber ``` -Example return values: -- `470310139` +Returns: `470310139` ### `finance.transactionDescription` Generates a random transaction description. - Canonical: `awd.domain.finance.transactionDescription` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.transactionDescription call. + ```txt finance.transactionDescription ``` -Example return values: -- `You made a payment of AED 302.33 at Hegmann - Johnston using card ending in ****6280 from account ***6451.` +Returns: `You made a payment of AED 302.33 at Hegmann - Johnston using card ending in ****6280 from account ***6451.` ### `finance.transactionType` Returns a random transaction type. - Canonical: `awd.domain.finance.transactionType` -- Docs: [https://anywaydata.com/docs/test-data/domain/finance](https://anywaydata.com/docs/test-data/domain/finance) - Faker docs: [https://fakerjs.dev/api/finance](https://fakerjs.dev/api/finance) No parameters. Examples: +Shows the default finance.transactionType call. + ```txt finance.transactionType ``` -Example return values: -- `invoice` +Returns: `invoice` diff --git a/docs-src/docs/040-test-data/domain/130-food.md b/docs-src/docs/040-test-data/domain/130-food.md index b4131bd4..d86311ca 100644 --- a/docs-src/docs/040-test-data/domain/130-food.md +++ b/docs-src/docs/040-test-data/domain/130-food.md @@ -19,168 +19,168 @@ The `food` domain maps domain keywords to underlying faker implementations. Generates a random dish adjective. - Canonical: `awd.domain.food.adjective` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.adjective call. + ```txt food.adjective ``` -Example return values: -- `juicy` +Returns: `juicy` ### `food.description` Generates a random dish description. - Canonical: `awd.domain.food.description` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.description call. + ```txt food.description ``` -Example return values: -- `An exquisite artichoke dish, paired with brown rice and a hint of cardamom.` +Returns: `An exquisite artichoke dish, paired with brown rice and a hint of cardamom.` ### `food.dish` Generates a random dish name. - Canonical: `awd.domain.food.dish` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.dish call. + ```txt food.dish ``` -Example return values: -- `Cinnamon-crusted Chicken` +Returns: `Cinnamon-crusted Chicken` ### `food.ethnicCategory` Generates a random food's ethnic category. - Canonical: `awd.domain.food.ethnicCategory` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.ethnicCategory call. + ```txt food.ethnicCategory ``` -Example return values: -- `Indonesian` +Returns: `Indonesian` ### `food.fruit` Generates a random fruit name. - Canonical: `awd.domain.food.fruit` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.fruit call. + ```txt food.fruit ``` -Example return values: -- `grapefruit` +Returns: `grapefruit` ### `food.ingredient` Generates a random ingredient name. - Canonical: `awd.domain.food.ingredient` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.ingredient call. + ```txt food.ingredient ``` -Example return values: -- `green pepper` +Returns: `green pepper` ### `food.meat` Generates a random meat - Canonical: `awd.domain.food.meat` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.meat call. + ```txt food.meat ``` -Example return values: -- `kangaroo` +Returns: `kangaroo` ### `food.spice` Generates a random spice name. - Canonical: `awd.domain.food.spice` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.spice call. + ```txt food.spice ``` -Example return values: -- `fines herbes` +Returns: `fines herbes` ### `food.vegetable` Generates a random vegetable name. - Canonical: `awd.domain.food.vegetable` -- Docs: [https://anywaydata.com/docs/test-data/domain/food](https://anywaydata.com/docs/test-data/domain/food) - Faker docs: [https://fakerjs.dev/api/food](https://fakerjs.dev/api/food) No parameters. Examples: +Shows the default food.vegetable call. + ```txt food.vegetable ``` -Example return values: -- `eggplant` +Returns: `eggplant` diff --git a/docs-src/docs/040-test-data/domain/140-git.md b/docs-src/docs/040-test-data/domain/140-git.md index 8a08d996..d7684f9f 100644 --- a/docs-src/docs/040-test-data/domain/140-git.md +++ b/docs-src/docs/040-test-data/domain/140-git.md @@ -19,92 +19,92 @@ The `git` domain maps domain keywords to underlying faker implementations. Generates a random branch name. - Canonical: `awd.domain.git.branch` -- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. Examples: +Shows the default git.branch call. + ```txt git.branch ``` -Example return values: -- `firewall-parse` +Returns: `firewall-parse` ### `git.commitDate` Generates a date string for a git commit using the same format as `git log`. - Canonical: `awd.domain.git.commitDate` -- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. Examples: +Shows the default git.commitDate call. + ```txt git.commitDate ``` -Example return values: -- `Thu Jun 18 01:55:50 2026 +0600` +Returns: `Thu Jun 18 01:55:50 2026 +0600` ### `git.commitEntry` Generates a random commit entry as printed by `git log`. - Canonical: `awd.domain.git.commitEntry` -- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. Examples: +Shows the default git.commitEntry call. + ```txt git.commitEntry ``` -Example return values: -- `commit f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0af\nAuthor: Ricardo Upton \nDate: Wed Jun 17 19:26:37 2026 +0300\n\n    parse auxiliary feed\n` +Returns: `commit f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0af\nAuthor: Ricardo Upton \nDate: Wed Jun 17 19:26:37 2026 +0300\n\n    parse auxiliary feed\n` ### `git.commitMessage` Generates a random commit message. - Canonical: `awd.domain.git.commitMessage` -- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. Examples: +Shows the default git.commitMessage call. + ```txt git.commitMessage ``` -Example return values: -- `hack optical alarm` +Returns: `hack optical alarm` ### `git.commitSha` Generates a random commit sha. - Canonical: `awd.domain.git.commitSha` -- Docs: [https://anywaydata.com/docs/test-data/domain/git](https://anywaydata.com/docs/test-data/domain/git) - Faker docs: [https://fakerjs.dev/api/git](https://fakerjs.dev/api/git) No parameters. Examples: +Shows the default git.commitSha call. + ```txt git.commitSha ``` -Example return values: -- `9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a` +Returns: `9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a` diff --git a/docs-src/docs/040-test-data/domain/150-hacker.md b/docs-src/docs/040-test-data/domain/150-hacker.md index 316e7e4c..e6fa5d54 100644 --- a/docs-src/docs/040-test-data/domain/150-hacker.md +++ b/docs-src/docs/040-test-data/domain/150-hacker.md @@ -19,111 +19,111 @@ The `hacker` domain maps domain keywords to underlying faker implementations. Returns a random hacker/IT abbreviation. - Canonical: `awd.domain.hacker.abbreviation` -- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. Examples: +Shows the default hacker.abbreviation call. + ```txt hacker.abbreviation ``` -Example return values: -- `IP` +Returns: `IP` ### `hacker.adjective` Returns a random hacker/IT adjective. - Canonical: `awd.domain.hacker.adjective` -- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. Examples: +Shows the default hacker.adjective call. + ```txt hacker.adjective ``` -Example return values: -- `mobile` +Returns: `mobile` ### `hacker.ingverb` Returns a random hacker/IT verb for continuous actions (en: ing suffix; e.g. hacking). - Canonical: `awd.domain.hacker.ingverb` -- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. Examples: +Shows the default hacker.ingverb call. + ```txt hacker.ingverb ``` -Example return values: -- `generating` +Returns: `generating` ### `hacker.noun` Returns a random hacker/IT noun. - Canonical: `awd.domain.hacker.noun` -- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. Examples: +Shows the default hacker.noun call. + ```txt hacker.noun ``` -Example return values: -- `firewall` +Returns: `firewall` ### `hacker.phrase` Generates a random hacker/IT phrase. - Canonical: `awd.domain.hacker.phrase` -- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. Examples: +Shows the default hacker.phrase call. + ```txt hacker.phrase ``` -Example return values: -- `Try to back up the COM bus, maybe it will hack the mobile bus!` +Returns: `Try to back up the COM bus, maybe it will hack the mobile bus!` ### `hacker.verb` Returns a random hacker/IT verb. - Canonical: `awd.domain.hacker.verb` -- Docs: [https://anywaydata.com/docs/test-data/domain/hacker](https://anywaydata.com/docs/test-data/domain/hacker) - Faker docs: [https://fakerjs.dev/api/hacker](https://fakerjs.dev/api/hacker) No parameters. Examples: +Shows the default hacker.verb call. + ```txt hacker.verb ``` -Example return values: -- `hack` +Returns: `hack` diff --git a/docs-src/docs/040-test-data/domain/160-image.md b/docs-src/docs/040-test-data/domain/160-image.md index a5466a37..db5a6808 100644 --- a/docs-src/docs/040-test-data/domain/160-image.md +++ b/docs-src/docs/040-test-data/domain/160-image.md @@ -19,83 +19,82 @@ The `image` domain maps domain keywords to underlying faker implementations. Generates a random avatar image url. - Canonical: `awd.domain.image.avatar` -- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. Examples: +Shows the default image.avatar call. + ```txt image.avatar ``` -Example return values: -- `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/0.jpg` +Returns: `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/0.jpg` ### `image.avatarGitHub` Generates a random avatar from GitHub. - Canonical: `awd.domain.image.avatarGitHub` -- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. Examples: +Shows the default image.avatarGitHub call. + ```txt image.avatarGitHub ``` -Example return values: -- `https://avatars.githubusercontent.com/u/41702200` +Returns: `https://avatars.githubusercontent.com/u/41702200` ### `image.dataUri` Generates a random data uri containing an URL-encoded SVG image or a Base64-encoded SVG image. - Canonical: `awd.domain.image.dataUri` -- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. Examples: +Shows the default image.dataUri call. + ```txt image.dataUri ``` -Example return values: -- `data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%221668%22%20height%3D%222881%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22%23063247%22%2F%3E%3Ctext%20x%3D%22834%22%20y%3D%221440.5%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E1668x2881%3C%2Ftext%3E%3C%2Fsvg%3E` +Returns: `data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%221668%22%20height%3D%222881%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22%23063247%22%2F%3E%3Ctext%20x%3D%22834%22%20y%3D%221440.5%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E1668x2881%3C%2Ftext%3E%3C%2Fsvg%3E` ### `image.personPortrait` Generates a random square portrait (avatar) of a person. - Canonical: `awd.domain.image.personPortrait` -- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. Examples: +Shows the default image.personPortrait call. + ```txt image.personPortrait ``` -Example return values: -- `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/72.jpg` +Returns: `https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/72.jpg` ### `image.url` Generates a random image url. - Canonical: `awd.domain.image.url` -- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) | Arg | Type | Required | Description | @@ -105,38 +104,45 @@ Generates a random image url. Examples: +Shows image.url when optional params are omitted. + ```txt image.url() ``` +Returns: `https://picsum.photos/seed/i95bl/1668/2881` + +Shows image.url using height. + ```txt image.url(height=1) ``` +Returns: `https://picsum.photos/seed/0i95bloxp/1668/1` + +Shows image.url using width. + ```txt image.url(width=1) ``` -Example return values: -- `https://picsum.photos/seed/i95bl/1668/2881` -- `https://picsum.photos/seed/0i95bloxp/1668/1` -- `https://picsum.photos/seed/0i95bloxp/1/1668` +Returns: `https://picsum.photos/seed/0i95bloxp/1/1668` ### `image.urlPicsumPhotos` Generates a random image url provided via https://picsum.photos. - Canonical: `awd.domain.image.urlPicsumPhotos` -- Docs: [https://anywaydata.com/docs/test-data/domain/image](https://anywaydata.com/docs/test-data/domain/image) - Faker docs: [https://fakerjs.dev/api/image](https://fakerjs.dev/api/image) No parameters. Examples: +Shows the default image.urlPicsumPhotos call. + ```txt image.urlPicsumPhotos ``` -Example return values: -- `https://picsum.photos/seed/5blox/1668/2881?grayscale&blur=3` +Returns: `https://picsum.photos/seed/5blox/1668/2881?grayscale&blur=3` diff --git a/docs-src/docs/040-test-data/domain/170-internet.md b/docs-src/docs/040-test-data/domain/170-internet.md index 6ff76c7a..9aaa6781 100644 --- a/docs-src/docs/040-test-data/domain/170-internet.md +++ b/docs-src/docs/040-test-data/domain/170-internet.md @@ -6,7 +6,7 @@ description: "Domain keyword reference for internet." # internet Domain -The `internet` domain maps domain keywords to underlying faker implementations. +The `internet` domain mostly maps domain keywords to faker-backed generators, but `internet.httpMethod` is implemented directly by AnywayData. ## Faker Documentation @@ -19,83 +19,82 @@ The `internet` domain maps domain keywords to underlying faker implementations. Generates a display name using the given person's name as base. - Canonical: `awd.domain.internet.displayName` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.displayName call. + ```txt internet.displayName ``` -Example return values: -- `Aaliyah.Bosco` +Returns: `Aaliyah.Bosco` ### `internet.domainName` Generates a random domain name. - Canonical: `awd.domain.internet.domainName` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.domainName call. + ```txt internet.domainName ``` -Example return values: -- `inferior-punctuation.biz` +Returns: `inferior-punctuation.biz` ### `internet.domainSuffix` Returns a random domain suffix. - Canonical: `awd.domain.internet.domainSuffix` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.domainSuffix call. + ```txt internet.domainSuffix ``` -Example return values: -- `info` +Returns: `info` ### `internet.domainWord` Generates a random domain word. - Canonical: `awd.domain.internet.domainWord` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.domainWord call. + ```txt internet.domainWord ``` -Example return values: -- `inferior-punctuation` +Returns: `inferior-punctuation` ### `internet.email` Generates data using faker internet email. - Canonical: `awd.domain.internet.email` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -107,39 +106,51 @@ Generates data using faker internet email. Examples: +Shows internet.email when optional params are omitted. + ```txt internet.email() ``` +Returns: `Edwin.Dibbert@hotmail.com` + +Shows internet.email using allowSpecialCharacters. + ```txt internet.email(allowSpecialCharacters=true) ``` +Returns: `Edwin.Dibbert@hotmail.com` + +Shows internet.email using firstName. + ```txt internet.email(firstName="Ada") ``` +Returns: `Ada.Gutmann9@hotmail.com` + +Shows internet.email using lastName. + ```txt internet.email(lastName="Lovelace") ``` +Returns: `Edwin.Lovelace9@hotmail.com` + +Shows internet.email using provider. + ```txt internet.email(provider="example.com") ``` -Example return values: -- `Edwin.Dibbert@hotmail.com` -- `Edwin.Dibbert@hotmail.com` -- `Ada.Gutmann9@hotmail.com` -- `Edwin.Lovelace9@hotmail.com` -- `Aaliyah.Bosco@example.com` +Returns: `Aaliyah.Bosco@example.com` ### `internet.emoji` Generates a random emoji. - Canonical: `awd.domain.internet.emoji` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -148,100 +159,121 @@ Generates a random emoji. Examples: +Shows internet.emoji when optional params are omitted. + ```txt internet.emoji() ``` +Returns: `🥣` + +Shows internet.emoji using types. + ```txt internet.emoji(types=["food"]) ``` -Example return values: -- `🥣` -- `🍲` +Returns: `🍲` ### `internet.exampleEmail` Generates data using faker internet example email. - Canonical: `awd.domain.internet.exampleEmail` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.exampleEmail call. + ```txt internet.exampleEmail ``` -Example return values: -- `Edwin.Dibbert@example.net` +Returns: `Edwin.Dibbert@example.net` ### `internet.httpMethod` -Returns a random http method. +Returns a random HTTP request method from an AnywayData-defined pool of GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, and CONNECT, with optional filtering for common methods and exclusions. - Canonical: `awd.domain.internet.httpMethod` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) -- Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) -No parameters. +| Arg | Type | Required | Description | +| --- | --- | --- | --- | +| `commonOnly` | `boolean` | no | When true, limits generation to GET, HEAD, POST, PUT, and DELETE. Defaults to false. | +| `excludes` | `string` | no | Comma-separated HTTP methods to remove from the candidate set. Values are case-insensitive, surrounding spaces are trimmed, and generation throws if exclusions remove every available method. | Examples: +Shows internet.httpMethod choosing from the full HTTP method set by default. + +```txt +internet.httpMethod() +``` + +Returns: `PUT` + +Shows internet.httpMethod restricted to the common request methods. + +```txt +internet.httpMethod(commonOnly=true) +``` + +Returns: `POST` + +Shows internet.httpMethod trimming spaces, normalizing case, and excluding methods from the full set. + ```txt -internet.httpMethod +internet.httpMethod(excludes="patch, TRACE") ``` -Example return values: -- `PUT` +Returns: `POST` ### `internet.httpStatusCode` Generates a random HTTP status code. - Canonical: `awd.domain.internet.httpStatusCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.httpStatusCode call. + ```txt internet.httpStatusCode ``` -Example return values: -- `306` +Returns: `306` ### `internet.ip` Generates a random IPv4 or IPv6 address. - Canonical: `awd.domain.internet.ip` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.ip call. + ```txt internet.ip ``` -Example return values: -- `184.103.47.157` +Returns: `184.103.47.157` ### `internet.ipv4` Generates a random IPv4 address. - Canonical: `awd.domain.internet.ipv4` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -251,48 +283,54 @@ Generates a random IPv4 address. Examples: +Shows internet.ipv4 when optional params are omitted. + ```txt internet.ipv4() ``` +Returns: `106.193.244.63` + +Shows internet.ipv4 using cidrBlock. + ```txt internet.ipv4(cidrBlock="192.168.0.0/24") ``` +Returns: `192.168.0.106` + +Shows internet.ipv4 using network. + ```txt internet.ipv4(network="private-a") ``` -Example return values: -- `106.193.244.63` -- `192.168.0.106` -- `10.106.193.244` +Returns: `10.106.193.244` ### `internet.ipv6` Generates a random IPv6 address. - Canonical: `awd.domain.internet.ipv6` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.ipv6 call. + ```txt internet.ipv6 ``` -Example return values: -- `9f06:3247:8b9f:4d0e:9c34:bf6f:dd10:3d29` +Returns: `9f06:3247:8b9f:4d0e:9c34:bf6f:dd10:3d29` ### `internet.jwt` Generates a random JWT (JSON Web Token). - Canonical: `awd.domain.internet.jwt` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -303,53 +341,62 @@ Generates a random JWT (JSON Web Token). Examples: +Shows internet.jwt when optional params are omitted. + ```txt internet.jwt() ``` +Returns: `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTc0Nzc2MSwibmJmIjoxNzY5MzMwODQwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u` + +Shows internet.jwt using header. + ```txt internet.jwt(header={"value":"sample"}) ``` +Returns: `eyJ2YWx1ZSI6InNhbXBsZSJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTgwOTk4NywibmJmIjoxNzUwMjY5MzM0LCJpc3MiOiJEaWJiZXJ0IC0gTGluZCIsInN1YiI6IjZhM2UwYTY4LTIzY2YtNDViZS1iZTEwLTJlMTZmOGI1YWQwYyIsImF1ZCI6ImI0YzE3ZTQ0LTIwYTMtNDQ3MC04OTI5LWIxNmI2MDhhOGY5ZSIsImp0aSI6IjJjNjJlNWNiLWU5YzUtNDRlNi1iZmE5LTFmNzk2M2U5MDk1OCJ9.mUC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914` + +Shows internet.jwt using payload. + ```txt internet.jwt(payload={"value":"sample"}) ``` +Returns: `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2YWx1ZSI6InNhbXBsZSJ9.0i95bloxpGcS1Fpy8cNYjGST52aS6qXxGjGP1KZKhM6rUih81Gdgu3z9AH6pHp3x` + +Shows internet.jwt using refDate. + ```txt internet.jwt(refDate=1718755200000) ``` -Example return values: -- `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTc0Nzc2MSwibmJmIjoxNzY5MzMwODQwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u` -- `eyJ2YWx1ZSI6InNhbXBsZSJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTgwOTk4NywibmJmIjoxNzUwMjY5MzM0LCJpc3MiOiJEaWJiZXJ0IC0gTGluZCIsInN1YiI6IjZhM2UwYTY4LTIzY2YtNDViZS1iZTEwLTJlMTZmOGI1YWQwYyIsImF1ZCI6ImI0YzE3ZTQ0LTIwYTMtNDQ3MC04OTI5LWIxNmI2MDhhOGY5ZSIsImp0aSI6IjJjNjJlNWNiLWU5YzUtNDRlNi1iZmE5LTFmNzk2M2U5MDk1OCJ9.mUC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914` -- `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2YWx1ZSI6InNhbXBsZSJ9.0i95bloxpGcS1Fpy8cNYjGST52aS6qXxGjGP1KZKhM6rUih81Gdgu3z9AH6pHp3x` -- `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTg3MDQ4MzAsImV4cCI6MTcxODcwNDg0MSwibmJmIjoxNzA2Mjg3OTIwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u` +Returns: `eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTg3MDQ4MzAsImV4cCI6MTcxODcwNDg0MSwibmJmIjoxNzA2Mjg3OTIwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u` ### `internet.jwtAlgorithm` Generates a random JWT (JSON Web Token) Algorithm. - Canonical: `awd.domain.internet.jwtAlgorithm` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.jwtAlgorithm call. + ```txt internet.jwtAlgorithm ``` -Example return values: -- `HS512` +Returns: `HS512` ### `internet.mac` Generates a random mac address. - Canonical: `awd.domain.internet.mac` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -358,24 +405,27 @@ Generates a random mac address. Examples: +Shows internet.mac when optional params are omitted. + ```txt internet.mac() ``` +Returns: `6b:04:21:25:68:6a` + +Shows internet.mac using separator. + ```txt internet.mac(separator="-") ``` -Example return values: -- `6b:04:21:25:68:6a` -- `6b-04-21-25-68-6a` +Returns: `6b-04-21-25-68-6a` ### `internet.password` Generates a random password-like string. Do not use this method for generating actual passwords for users. - Canonical: `awd.domain.internet.password` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -387,92 +437,113 @@ Generates a random password-like string. Do not use this method for generating a Examples: +Shows internet.password with all optional params omitted. + ```txt internet.password() ``` +Returns: `He2AFTHb4tHV3mb` + +Shows internet.password using only a custom length. + ```txt internet.password(length=12) ``` +Returns: `He2AFTHb4tHV` + +Shows internet.password using only the memorable flag. + ```txt internet.password(memorable=true) ``` +Returns: `hefutisawetikub` + +Shows internet.password generating a memorable password-like string. + ```txt internet.password(length=12, memorable=true) ``` +Returns: `hefutisaweti` + +Shows internet.password constrained only by a regex-style pattern. + ```txt internet.password(pattern="[A-Z]") ``` +Returns: `HAFTHHVISKOWXHH` + +Shows internet.password constrained by a regex-style pattern. + ```txt internet.password(length=12, memorable=false, pattern="[A-Z]") ``` +Returns: `HAFTHHVISKOW` + +Shows internet.password using only the prefix option. + ```txt internet.password(prefix="#") ``` +Returns: `#He2AFTHb4tHV3m` + +Shows internet.password using length, pattern, and prefix together. + ```txt internet.password(length=12, memorable=false, pattern="[A-Z]", prefix="#") ``` -Example return values: -- `He2AFTHb4tHV3mb` -- `He2AFTHb4tHV` -- `hefutisawetikub` -- `hefutisaweti` -- `HAFTHHVISKOWXHH` -- `HAFTHHVISKOW` -- `#He2AFTHb4tHV3m` -- `#HAFTHHVISKO` +Returns: `#HAFTHHVISKO` ### `internet.port` Generates a random port number. - Canonical: `awd.domain.internet.port` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.port call. + ```txt internet.port ``` -Example return values: -- `27329` +Returns: `27329` ### `internet.protocol` Returns a random web protocol. Either `http` or `https`. - Canonical: `awd.domain.internet.protocol` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.protocol call. + ```txt internet.protocol ``` -Example return values: -- `http` +Returns: `http` ### `internet.url` Generates a random http(s) url. - Canonical: `awd.domain.internet.url` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -482,48 +553,54 @@ Generates a random http(s) url. Examples: +Shows internet.url when optional params are omitted. + ```txt internet.url() ``` +Returns: `https://self-reliant-cd.com/` + +Shows internet.url using appendSlash. + ```txt internet.url(appendSlash=true) ``` +Returns: `https://inferior-punctuation.biz/` + +Shows internet.url using protocol. + ```txt internet.url(protocol="https") ``` -Example return values: -- `https://self-reliant-cd.com/` -- `https://inferior-punctuation.biz/` -- `https://self-reliant-cd.com/` +Returns: `https://self-reliant-cd.com/` ### `internet.userAgent` Generates a random user agent string. - Canonical: `awd.domain.internet.userAgent` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) No parameters. Examples: +Shows the default internet.userAgent call. + ```txt internet.userAgent ``` -Example return values: -- `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/586.0.30 (KHTML, like Gecko) Version/16.1 Safari/546.9.18` +Returns: `Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/586.0.30 (KHTML, like Gecko) Version/16.1 Safari/546.9.18` ### `internet.username` Generates a username using the given person's name as base. - Canonical: `awd.domain.internet.username` -- Docs: [https://anywaydata.com/docs/test-data/domain/internet](https://anywaydata.com/docs/test-data/domain/internet) - Faker docs: [https://fakerjs.dev/api/internet](https://fakerjs.dev/api/internet) | Arg | Type | Required | Description | @@ -533,19 +610,26 @@ Generates a username using the given person's name as base. Examples: +Shows internet.username when optional params are omitted. + ```txt internet.username() ``` +Returns: `Aaliyah.Bosco` + +Shows internet.username using firstName. + ```txt internet.username(firstName="Ada") ``` +Returns: `Ada.Abbott14` + +Shows internet.username using lastName. + ```txt internet.username(lastName="Lovelace") ``` -Example return values: -- `Aaliyah.Bosco` -- `Ada.Abbott14` -- `Aaliyah.Lovelace14` +Returns: `Aaliyah.Lovelace14` diff --git a/docs-src/docs/040-test-data/domain/180-literal.md b/docs-src/docs/040-test-data/domain/180-literal.md index 39f38ef3..1ffbd3a0 100644 --- a/docs-src/docs/040-test-data/domain/180-literal.md +++ b/docs-src/docs/040-test-data/domain/180-literal.md @@ -15,7 +15,6 @@ The `literal` domain returns caller-provided values directly and does not invoke Return the literal value provided by the caller. - Canonical: `awd.domain.literal.value` -- Docs: [https://anywaydata.com/docs/category/generating-data](https://anywaydata.com/docs/category/generating-data) | Arg | Type | Required | Description | | --- | --- | --- | --- | @@ -23,24 +22,34 @@ Return the literal value provided by the caller. Examples: +Shows literal.value in use. + ```txt literal.value(value="Pending") ``` +Returns: `Pending` + +Shows literal.value in use. + ```txt literal.value(value="") ``` +Returns: `` + +Shows literal.value when optional params are omitted. + ```txt literal.value() ``` +Returns: `` + +Shows literal.value using value. + ```txt literal.value(value=1) ``` -Example return values: -- `Pending` -- `` -- `` -- `1` +Returns: `1` diff --git a/docs-src/docs/040-test-data/domain/190-location.md b/docs-src/docs/040-test-data/domain/190-location.md index 42631c48..2a88e1b2 100644 --- a/docs-src/docs/040-test-data/domain/190-location.md +++ b/docs-src/docs/040-test-data/domain/190-location.md @@ -19,102 +19,101 @@ The `location` domain maps domain keywords to underlying faker implementations. Generates a random building number. - Canonical: `awd.domain.location.buildingNumber` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.buildingNumber call. + ```txt location.buildingNumber ``` -Example return values: -- `7031` +Returns: `7031` ### `location.cardinalDirection` Returns a random cardinal direction (north, east, south, west). - Canonical: `awd.domain.location.cardinalDirection` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.cardinalDirection call. + ```txt location.cardinalDirection ``` -Example return values: -- `East` +Returns: `East` ### `location.city` Generates a random localized city name. - Canonical: `awd.domain.location.city` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.city call. + ```txt location.city ``` -Example return values: -- `Edwinville` +Returns: `Edwinville` ### `location.continent` Returns a random continent name. - Canonical: `awd.domain.location.continent` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.continent call. + ```txt location.continent ``` -Example return values: -- `Asia` +Returns: `Asia` ### `location.country` Returns a random country name. - Canonical: `awd.domain.location.country` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.country call. + ```txt location.country ``` -Example return values: -- `India` +Returns: `India` ### `location.countryCode` Returns a random ISO_3166-1 country code. - Canonical: `awd.domain.location.countryCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -123,43 +122,46 @@ Returns a random ISO_3166-1 country code. Examples: +Shows location.countryCode when optional params are omitted. + ```txt location.countryCode() ``` +Returns: `IM` + +Shows location.countryCode using variant. + ```txt location.countryCode(variant="alpha-3") ``` -Example return values: -- `IM` -- `IMN` +Returns: `IMN` ### `location.county` Returns a random localized county, or other equivalent second-level administrative entity for the locale's country such as a district or department. - Canonical: `awd.domain.location.county` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.county call. + ```txt location.county ``` -Example return values: -- `Cleveland` +Returns: `Cleveland` ### `location.direction` Returns a random direction (cardinal and ordinal; northwest, east, etc). - Canonical: `awd.domain.location.direction` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -168,43 +170,46 @@ Returns a random direction (cardinal and ordinal; northwest, east, etc). Examples: +Shows location.direction when optional params are omitted. + ```txt location.direction() ``` +Returns: `West` + +Shows location.direction using abbreviated. + ```txt location.direction(abbreviated=true) ``` -Example return values: -- `West` -- `W` +Returns: `W` ### `location.language` Returns a random spoken language. - Canonical: `awd.domain.location.language` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.language call. + ```txt location.language ``` -Example return values: -- `{"name":"Punjabi","alpha2":"pa","alpha3":"pan"}` +Returns: `{"name":"Punjabi","alpha2":"pa","alpha3":"pan"}` ### `location.latitude` Generates a random latitude. - Canonical: `awd.domain.location.latitude` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -215,34 +220,43 @@ Generates a random latitude. Examples: +Shows location.latitude when optional params are omitted. + ```txt location.latitude() ``` +Returns: `-14.936` + +Shows location.latitude using min. + ```txt location.latitude(max=10, min=1) ``` +Returns: `4.7532` + +Shows location.latitude using max. + ```txt location.latitude(max=5) ``` +Returns: `-50.3829` + +Shows location.latitude using precision. + ```txt location.latitude(precision=1) ``` -Example return values: -- `-14.936` -- `4.7532` -- `-50.3829` -- `-14.9` +Returns: `-14.9` ### `location.longitude` Generates a random longitude. - Canonical: `awd.domain.location.longitude` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -253,91 +267,100 @@ Generates a random longitude. Examples: +Shows location.longitude when optional params are omitted. + ```txt location.longitude() ``` +Returns: `-29.8721` + +Shows location.longitude using min. + ```txt location.longitude(max=10, min=1) ``` +Returns: `4.7532` + +Shows location.longitude using max. + ```txt location.longitude(max=5) ``` +Returns: `-102.8509` + +Shows location.longitude using precision. + ```txt location.longitude(precision=1) ``` -Example return values: -- `-29.8721` -- `4.7532` -- `-102.8509` -- `-29.9` +Returns: `-29.9` ### `location.nearbyGPSCoordinate` Generates a random GPS coordinate within the specified radius from the given coordinate. - Canonical: `awd.domain.location.nearbyGPSCoordinate` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.nearbyGPSCoordinate call. + ```txt location.nearbyGPSCoordinate ``` -Example return values: -- `[-14.936,79.3168]` +Returns: `[-14.936,79.3168]` ### `location.ordinalDirection` Returns a random ordinal direction (northwest, southeast, etc). - Canonical: `awd.domain.location.ordinalDirection` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.ordinalDirection call. + ```txt location.ordinalDirection ``` -Example return values: -- `Northwest` +Returns: `Northwest` ### `location.secondaryAddress` Generates a random localized secondary address. This refers to a specific location at a given address - Canonical: `awd.domain.location.secondaryAddress` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.secondaryAddress call. + ```txt location.secondaryAddress ``` -Example return values: -- `Apt. 703` +Returns: `Apt. 703` ### `location.state` Returns a random localized state, or other equivalent first-level administrative entity for the locale's country such as a province or region. - Canonical: `awd.domain.location.state` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -346,43 +369,46 @@ Returns a random localized state, or other equivalent first-level administrative Examples: +Shows location.state when optional params are omitted. + ```txt location.state() ``` +Returns: `Massachusetts` + +Shows location.state using abbreviated. + ```txt location.state(abbreviated=true) ``` -Example return values: -- `Massachusetts` -- `MA` +Returns: `MA` ### `location.street` Generates a random localized street name. - Canonical: `awd.domain.location.street` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.street call. + ```txt location.street ``` -Example return values: -- `Gutmann Creek` +Returns: `Gutmann Creek` ### `location.streetAddress` Generates a random localized street address. - Canonical: `awd.domain.location.streetAddress` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) | Arg | Type | Required | Description | @@ -391,52 +417,56 @@ Generates a random localized street address. Examples: +Shows location.streetAddress when optional params are omitted. + ```txt location.streetAddress() ``` +Returns: `7031 Iris Mill` + +Shows location.streetAddress using useFullAddress. + ```txt location.streetAddress(useFullAddress=true) ``` -Example return values: -- `7031 Iris Mill` -- `7031 Iris Mill Apt. 728` +Returns: `7031 Iris Mill Apt. 728` ### `location.timeZone` Returns a random IANA time zone name. - Canonical: `awd.domain.location.timeZone` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.timeZone call. + ```txt location.timeZone ``` -Example return values: -- `America/Santiago` +Returns: `America/Santiago` ### `location.zipCode` Generates data using faker location zip code. - Canonical: `awd.domain.location.zipCode` -- Docs: [https://anywaydata.com/docs/test-data/domain/location](https://anywaydata.com/docs/test-data/domain/location) - Faker docs: [https://fakerjs.dev/api/location](https://fakerjs.dev/api/location) No parameters. Examples: +Shows the default location.zipCode call. + ```txt location.zipCode ``` -Example return values: -- `70310` +Returns: `70310` diff --git a/docs-src/docs/040-test-data/domain/200-lorem.md b/docs-src/docs/040-test-data/domain/200-lorem.md index f08b5cc6..8768fd24 100644 --- a/docs-src/docs/040-test-data/domain/200-lorem.md +++ b/docs-src/docs/040-test-data/domain/200-lorem.md @@ -19,7 +19,6 @@ The `lorem` domain maps domain keywords to underlying faker implementations. Generates the given number lines of lorem separated by `'\n'`. - Canonical: `awd.domain.lorem.lines` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -32,44 +31,59 @@ Generates the given number lines of lorem separated by `'\n'`. Examples: +Shows lorem.lines when optional params are omitted. + ```txt lorem.lines() ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` + +Shows lorem.lines using min. + ```txt lorem.lines(max=10, min=1) ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.lines using max. + ```txt lorem.lines(max=5) ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` + +Shows lorem.lines using lineCount. + ```txt lorem.lines(lineCount=5) ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` + +Shows lorem.lines using lineCountMax. + ```txt lorem.lines(lineCountMax=5) ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` + +Shows lorem.lines using lineCountMin. + ```txt lorem.lines(lineCountMin=5) ``` -Example return values: -- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` -- `Suppellex a cognatus arca aliquam audentia.` -- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` -- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` -- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` -- `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit.\nStillicidium bardus utrimque acsi spargo cur.\nAqua avaritia thesaurus volo combibo stultus utor.` ### `lorem.paragraph` Generates a paragraph with the given number of sentences. - Canonical: `awd.domain.lorem.paragraph` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -82,44 +96,59 @@ Generates a paragraph with the given number of sentences. Examples: +Shows lorem.paragraph when optional params are omitted. + ```txt lorem.paragraph() ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` + +Shows lorem.paragraph using min. + ```txt lorem.paragraph(max=10, min=1) ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.paragraph using max. + ```txt lorem.paragraph(max=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` + +Shows lorem.paragraph using sentenceCount. + ```txt lorem.paragraph(sentenceCount=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` + +Shows lorem.paragraph using sentenceCountMax. + ```txt lorem.paragraph(sentenceCountMax=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` + +Shows lorem.paragraph using sentenceCountMin. + ```txt lorem.paragraph(sentenceCountMin=5) ``` -Example return values: -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` -- `Suppellex a cognatus arca aliquam audentia.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` ### `lorem.paragraphs` Generates the given number of paragraphs. - Canonical: `awd.domain.lorem.paragraphs` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -133,49 +162,67 @@ Generates the given number of paragraphs. Examples: +Shows lorem.paragraphs when optional params are omitted. + ```txt lorem.paragraphs() ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` + +Shows lorem.paragraphs using min. + ```txt lorem.paragraphs(max=10, min=1) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` + +Shows lorem.paragraphs using max. + ```txt lorem.paragraphs(max=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.5Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.5Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` + +Shows lorem.paragraphs using paragraphCount. + ```txt lorem.paragraphs(paragraphCount=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` + +Shows lorem.paragraphs using separator. + ```txt lorem.paragraphs(separator="-") ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` + +Shows lorem.paragraphs using paragraphCountMax. + ```txt lorem.paragraphs(paragraphCountMax=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` + +Shows lorem.paragraphs using paragraphCountMin. + ```txt lorem.paragraphs(paragraphCountMin=5) ``` -Example return values: -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.5Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.5Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` -- `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` +Returns: `Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\nVarius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\nSpoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.` ### `lorem.sentence` Generates a space separated list of words beginning with a capital letter and ending with a period. - Canonical: `awd.domain.lorem.sentence` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -188,44 +235,59 @@ Generates a space separated list of words beginning with a capital letter and en Examples: +Shows lorem.sentence when optional params are omitted. + ```txt lorem.sentence() ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.sentence using min. + ```txt lorem.sentence(max=10, min=1) ``` +Returns: `Cur.` + +Shows lorem.sentence using max. + ```txt lorem.sentence(max=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.sentence using wordCount. + ```txt lorem.sentence(wordCount=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.sentence using wordCountMax. + ```txt lorem.sentence(wordCountMax=5) ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.sentence using wordCountMin. + ```txt lorem.sentence(wordCountMin=5) ``` -Example return values: -- `Suppellex a cognatus arca aliquam audentia.` -- `Cur.` -- `Suppellex a cognatus arca aliquam audentia.` -- `Suppellex a cognatus arca aliquam audentia.` -- `Suppellex a cognatus arca aliquam audentia.` -- `Suppellex a cognatus arca aliquam audentia.` +Returns: `Suppellex a cognatus arca aliquam audentia.` ### `lorem.sentences` Generates the given number of sentences. - Canonical: `awd.domain.lorem.sentences` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -239,49 +301,67 @@ Generates the given number of sentences. Examples: +Shows lorem.sentences when optional params are omitted. + ```txt lorem.sentences() ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` + +Shows lorem.sentences using min. + ```txt lorem.sentences(max=10, min=1) ``` +Returns: `Suppellex a cognatus arca aliquam audentia.` + +Shows lorem.sentences using max. + ```txt lorem.sentences(max=5) ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit.5Stillicidium bardus utrimque acsi spargo cur.5Aqua avaritia thesaurus volo combibo stultus utor.5Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` + +Shows lorem.sentences using sentenceCount. + ```txt lorem.sentences(sentenceCount=5) ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` + +Shows lorem.sentences using separator. + ```txt lorem.sentences(separator="-") ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` + +Shows lorem.sentences using sentenceCountMax. + ```txt lorem.sentences(sentenceCountMax=5) ``` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` + +Shows lorem.sentences using sentenceCountMin. + ```txt lorem.sentences(sentenceCountMin=5) ``` -Example return values: -- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` -- `Suppellex a cognatus arca aliquam audentia.` -- `A cognatus arca aliquam audentia coniuratio crux fugit.5Stillicidium bardus utrimque acsi spargo cur.5Aqua avaritia thesaurus volo combibo stultus utor.5Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` -- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` -- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` -- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` -- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.` ### `lorem.slug` Generates a slugified text consisting of the given number of hyphen separated words. - Canonical: `awd.domain.lorem.slug` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -294,63 +374,78 @@ Generates a slugified text consisting of the given number of hyphen separated wo Examples: +Shows lorem.slug when optional params are omitted. + ```txt lorem.slug() ``` +Returns: `cur-suppellex-a` + +Shows lorem.slug using min. + ```txt lorem.slug(max=10, min=1) ``` +Returns: `cur` + +Shows lorem.slug using max. + ```txt lorem.slug(max=5) ``` +Returns: `cur-suppellex-a` + +Shows lorem.slug using wordCount. + ```txt lorem.slug(wordCount=5) ``` +Returns: `cur-suppellex-a` + +Shows lorem.slug using wordCountMax. + ```txt lorem.slug(wordCountMax=5) ``` +Returns: `cur-suppellex-a` + +Shows lorem.slug using wordCountMin. + ```txt lorem.slug(wordCountMin=5) ``` -Example return values: -- `cur-suppellex-a` -- `cur` -- `cur-suppellex-a` -- `cur-suppellex-a` -- `cur-suppellex-a` -- `cur-suppellex-a` +Returns: `cur-suppellex-a` ### `lorem.text` Generates a random text based on a random lorem method. - Canonical: `awd.domain.lorem.text` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) No parameters. Examples: +Shows the default lorem.text call. + ```txt lorem.text ``` -Example return values: -- `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor.` +Returns: `A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor.` ### `lorem.word` Generates a word of a specified length. - Canonical: `awd.domain.lorem.word` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -362,39 +457,51 @@ Generates a word of a specified length. Examples: +Shows lorem.word when optional params are omitted. + ```txt lorem.word() ``` +Returns: `cur` + +Shows lorem.word using min. + ```txt lorem.word(max=10, min=1) ``` +Returns: `cur` + +Shows lorem.word using max. + ```txt lorem.word(max=5) ``` +Returns: `cur` + +Shows lorem.word using length. + ```txt lorem.word(length=5) ``` +Returns: `curvo` + +Shows lorem.word using strategy. + ```txt lorem.word(strategy="any-length") ``` -Example return values: -- `cur` -- `cur` -- `cur` -- `curvo` -- `cur` +Returns: `cur` ### `lorem.words` Generates a space separated list of words. - Canonical: `awd.domain.lorem.words` -- Docs: [https://anywaydata.com/docs/test-data/domain/lorem](https://anywaydata.com/docs/test-data/domain/lorem) - Faker docs: [https://fakerjs.dev/api/lorem](https://fakerjs.dev/api/lorem) | Arg | Type | Required | Description | @@ -407,34 +514,50 @@ Generates a space separated list of words. Examples: +Shows lorem.words when optional params are omitted. + ```txt lorem.words() ``` +Returns: `cur suppellex a` + +Shows lorem.words using min. + ```txt lorem.words(max=10, min=1) ``` +Returns: `cur` + +Shows lorem.words using max. + ```txt lorem.words(max=5) ``` +Returns: `cur suppellex a` + +Shows lorem.words using wordCount. + ```txt lorem.words(wordCount=5) ``` +Returns: `cur suppellex a` + +Shows lorem.words using wordCountMax. + ```txt lorem.words(wordCountMax=5) ``` +Returns: `cur suppellex a` + +Shows lorem.words using wordCountMin. + ```txt lorem.words(wordCountMin=5) ``` -Example return values: -- `cur suppellex a` -- `cur` -- `cur suppellex a` -- `cur suppellex a` -- `cur suppellex a` -- `cur suppellex a` +Returns: `cur suppellex a` diff --git a/docs-src/docs/040-test-data/domain/210-music.md b/docs-src/docs/040-test-data/domain/210-music.md index 133d1568..a0a6d7ab 100644 --- a/docs-src/docs/040-test-data/domain/210-music.md +++ b/docs-src/docs/040-test-data/domain/210-music.md @@ -19,73 +19,73 @@ The `music` domain maps domain keywords to underlying faker implementations. Returns a random album name. - Canonical: `awd.domain.music.album` -- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. Examples: +Shows the default music.album call. + ```txt music.album ``` -Example return values: -- `I Never Loved A Man The Way I Love You` +Returns: `I Never Loved A Man The Way I Love You` ### `music.artist` Returns a random artist name. - Canonical: `awd.domain.music.artist` -- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. Examples: +Shows the default music.artist call. + ```txt music.artist ``` -Example return values: -- `Jon Bellion` +Returns: `Jon Bellion` ### `music.genre` Returns a random music genre. - Canonical: `awd.domain.music.genre` -- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. Examples: +Shows the default music.genre call. + ```txt music.genre ``` -Example return values: -- `Hard Bop` +Returns: `Hard Bop` ### `music.songName` Returns a random song name. - Canonical: `awd.domain.music.songName` -- Docs: [https://anywaydata.com/docs/test-data/domain/music](https://anywaydata.com/docs/test-data/domain/music) - Faker docs: [https://fakerjs.dev/api/music](https://fakerjs.dev/api/music) No parameters. Examples: +Shows the default music.songName call. + ```txt music.songName ``` -Example return values: -- `Imagine` +Returns: `Imagine` diff --git a/docs-src/docs/040-test-data/domain/220-number.md b/docs-src/docs/040-test-data/domain/220-number.md index fce3e054..3f714100 100644 --- a/docs-src/docs/040-test-data/domain/220-number.md +++ b/docs-src/docs/040-test-data/domain/220-number.md @@ -19,7 +19,6 @@ The `number` domain maps domain keywords to underlying faker implementations. Returns a BigInt number. - Canonical: `awd.domain.number.bigInt` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -28,24 +27,27 @@ Returns a BigInt number. Examples: +Shows number.bigInt with all optional params omitted. + ```txt number.bigInt() ``` +Returns: `703101335462806n` + +Shows number.bigInt using a boolean base value. + ```txt number.bigInt(value=true) ``` -Example return values: -- `703101335462806n` -- `703101335462806n` +Returns: `703101335462806n` ### `number.binary` Returns a binary string. - Canonical: `awd.domain.number.binary` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -55,29 +57,35 @@ Returns a binary string. Examples: +Shows number.binary when optional params are omitted. + ```txt number.binary() ``` +Returns: `0` + +Shows number.binary using max. + ```txt number.binary(max=5) ``` +Returns: `10` + +Shows number.binary using min. + ```txt number.binary(max=10, min=1) ``` -Example return values: -- `0` -- `10` -- `101` +Returns: `101` ### `number.float` Returns a single random floating-point number, by default between `0.0` and `1.0`. To change the range, pass a `min` and `max` value. To limit the number of decimal places, pass a `multipleOf` or `fractionDigits` parameter. - Canonical: `awd.domain.number.float` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -89,49 +97,67 @@ Returns a single random floating-point number, by default between `0.0` and `1.0 Examples: +Shows number.float with all optional params omitted. + ```txt number.float() ``` +Returns: `0.417022004702574` + +Shows number.float rounding using only fractionDigits. + ```txt number.float(fractionDigits=2) ``` +Returns: `0.42` + +Shows number.float constrained using only multipleOf. + ```txt number.float(multipleOf=0.5) ``` +Returns: `0.5` + +Shows number.float with an explicit numeric range. + ```txt number.float(min=1, max=10) ``` +Returns: `4.753198042323167` + +Shows number.float rounding with fractionDigits. + ```txt number.float(min=1, max=10, fractionDigits=2) ``` +Returns: `4.75` + +Shows number.float constrained to a multiple. + ```txt number.float(min=1, max=10, multipleOf=0.5) ``` +Returns: `4.5` + +Shows number.float using only an upper bound. + ```txt number.float(max=10) ``` -Example return values: -- `0.417022004702574` -- `0.42` -- `0.5` -- `4.753198042323167` -- `4.75` -- `4.5` -- `4.17022004702574` +Returns: `4.17022004702574` ### `number.hex` Returns a lowercase hexadecimal number. - Canonical: `awd.domain.number.hex` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -141,29 +167,35 @@ Returns a lowercase hexadecimal number. Examples: +Shows number.hex when optional params are omitted. + ```txt number.hex() ``` +Returns: `6` + +Shows number.hex using min. + ```txt number.hex(max=10, min=1) ``` +Returns: `5` + +Shows number.hex using max. + ```txt number.hex(max=5) ``` -Example return values: -- `6` -- `5` -- `2` +Returns: `2` ### `number.int` Returns a single random integer between zero and the given max value or the given range. - Canonical: `awd.domain.number.int` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -174,34 +206,43 @@ Returns a single random integer between zero and the given max value or the give Examples: +Shows number.int when optional params are omitted. + ```txt number.int() ``` +Returns: `3756200289967619` + +Shows number.int using min. + ```txt number.int(max=10, min=1) ``` +Returns: `5` + +Shows number.int using max. + ```txt number.int(max=5) ``` +Returns: `2` + +Shows number.int using multipleOf. + ```txt number.int(multipleOf=1) ``` -Example return values: -- `3756200289967619` -- `5` -- `2` -- `3756200289967619` +Returns: `3756200289967619` ### `number.octal` Returns an octal string. - Canonical: `awd.domain.number.octal` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -211,29 +252,35 @@ Returns an octal string. Examples: +Shows number.octal when optional params are omitted. + ```txt number.octal() ``` +Returns: `3` + +Shows number.octal using max. + ```txt number.octal(max=5) ``` +Returns: `2` + +Shows number.octal using min. + ```txt number.octal(max=10, min=1) ``` -Example return values: -- `3` -- `2` -- `5` +Returns: `5` ### `number.romanNumeral` Returns a roman numeral in String format. - Canonical: `awd.domain.number.romanNumeral` -- Docs: [https://anywaydata.com/docs/test-data/domain/number](https://anywaydata.com/docs/test-data/domain/number) - Faker docs: [https://fakerjs.dev/api/number](https://fakerjs.dev/api/number) | Arg | Type | Required | Description | @@ -243,19 +290,26 @@ Returns a roman numeral in String format. Examples: +Shows number.romanNumeral when optional params are omitted. + ```txt number.romanNumeral() ``` +Returns: `MDCLXVIII` + +Shows number.romanNumeral using min. + ```txt number.romanNumeral(max=10, min=1) ``` +Returns: `V` + +Shows number.romanNumeral using max. + ```txt number.romanNumeral(max=5) ``` -Example return values: -- `MDCLXVIII` -- `V` -- `III` +Returns: `III` diff --git a/docs-src/docs/040-test-data/domain/230-person.md b/docs-src/docs/040-test-data/domain/230-person.md index bc57508c..ae3ca922 100644 --- a/docs-src/docs/040-test-data/domain/230-person.md +++ b/docs-src/docs/040-test-data/domain/230-person.md @@ -19,26 +19,25 @@ The `person` domain maps domain keywords to underlying faker implementations. Returns a random short biography - Canonical: `awd.domain.person.bio` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.bio call. + ```txt person.bio ``` -Example return values: -- `person, activist, entrepreneur ✌🏿` +Returns: `person, activist, entrepreneur ✌🏿` ### `person.firstName` Returns a random first name. - Canonical: `awd.domain.person.firstName` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | @@ -47,138 +46,141 @@ Returns a random first name. Examples: +Shows person.firstName when optional params are omitted. + ```txt person.firstName() ``` +Returns: `Aaliyah` + +Shows person.firstName using sex. + ```txt person.firstName(sex="female") ``` -Example return values: -- `Aaliyah` -- `Monique` +Returns: `Monique` ### `person.fullName` Generates a random full name. - Canonical: `awd.domain.person.fullName` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.fullName call. + ```txt person.fullName ``` -Example return values: -- `Aaliyah Corkery` +Returns: `Aaliyah Corkery` ### `person.gender` Returns a random gender. - Canonical: `awd.domain.person.gender` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.gender call. + ```txt person.gender ``` -Example return values: -- `Genderflux` +Returns: `Genderflux` ### `person.jobArea` Generates a random job area. - Canonical: `awd.domain.person.jobArea` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.jobArea call. + ```txt person.jobArea ``` -Example return values: -- `Group` +Returns: `Group` ### `person.jobDescriptor` Generates a random job descriptor. - Canonical: `awd.domain.person.jobDescriptor` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.jobDescriptor call. + ```txt person.jobDescriptor ``` -Example return values: -- `Regional` +Returns: `Regional` ### `person.jobTitle` Generates a random job title. - Canonical: `awd.domain.person.jobTitle` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.jobTitle call. + ```txt person.jobTitle ``` -Example return values: -- `Regional Assurance Supervisor` +Returns: `Regional Assurance Supervisor` ### `person.jobType` Generates a random job type. - Canonical: `awd.domain.person.jobType` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.jobType call. + ```txt person.jobType ``` -Example return values: -- `Administrator` +Returns: `Administrator` ### `person.lastName` Returns a random last name. - Canonical: `awd.domain.person.lastName` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | @@ -187,24 +189,27 @@ Returns a random last name. Examples: +Shows person.lastName when optional params are omitted. + ```txt person.lastName() ``` +Returns: `Abbott` + +Shows person.lastName using sex. + ```txt person.lastName(sex="female") ``` -Example return values: -- `Abbott` -- `Reichel` +Returns: `Reichel` ### `person.middleName` Returns a random middle name. - Canonical: `awd.domain.person.middleName` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | @@ -213,24 +218,27 @@ Returns a random middle name. Examples: +Shows person.middleName when optional params are omitted. + ```txt person.middleName() ``` +Returns: `Abigail` + +Shows person.middleName using sex. + ```txt person.middleName(sex="female") ``` -Example return values: -- `Abigail` -- `Morgan` +Returns: `Morgan` ### `person.prefix` Returns a random person prefix. - Canonical: `awd.domain.person.prefix` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) | Arg | Type | Required | Description | @@ -239,90 +247,94 @@ Returns a random person prefix. Examples: +Shows person.prefix when optional params are omitted. + ```txt person.prefix() ``` +Returns: `Miss` + +Shows person.prefix using sex. + ```txt person.prefix(sex="female") ``` -Example return values: -- `Miss` -- `Ms.` +Returns: `Ms.` ### `person.sex` Returns a random sex. - Canonical: `awd.domain.person.sex` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.sex call. + ```txt person.sex ``` -Example return values: -- `female` +Returns: `female` ### `person.sexType` Returns a random sex type. The `SexType` is intended to be used in parameters and conditions. - Canonical: `awd.domain.person.sexType` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.sexType call. + ```txt person.sexType ``` -Example return values: -- `female` +Returns: `female` ### `person.suffix` Returns a random person suffix. - Canonical: `awd.domain.person.suffix` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.suffix call. + ```txt person.suffix ``` -Example return values: -- `III` +Returns: `III` ### `person.zodiacSign` Returns a random zodiac sign. - Canonical: `awd.domain.person.zodiacSign` -- Docs: [https://anywaydata.com/docs/test-data/domain/person](https://anywaydata.com/docs/test-data/domain/person) - Faker docs: [https://fakerjs.dev/api/person](https://fakerjs.dev/api/person) No parameters. Examples: +Shows the default person.zodiacSign call. + ```txt person.zodiacSign ``` -Example return values: -- `Cancer` +Returns: `Cancer` diff --git a/docs-src/docs/040-test-data/domain/240-phone.md b/docs-src/docs/040-test-data/domain/240-phone.md index 9fa9080f..aa3042e2 100644 --- a/docs-src/docs/040-test-data/domain/240-phone.md +++ b/docs-src/docs/040-test-data/domain/240-phone.md @@ -19,26 +19,25 @@ The `phone` domain maps domain keywords to underlying faker implementations. Generates IMEI number. - Canonical: `awd.domain.phone.imei` -- Docs: [https://anywaydata.com/docs/test-data/domain/phone](https://anywaydata.com/docs/test-data/domain/phone) - Faker docs: [https://fakerjs.dev/api/phone](https://fakerjs.dev/api/phone) No parameters. Examples: +Shows the default phone.imei call. + ```txt phone.imei ``` -Example return values: -- `47-031013-354628-7` +Returns: `47-031013-354628-7` ### `phone.number` Generates a random phone number. - Canonical: `awd.domain.phone.number` -- Docs: [https://anywaydata.com/docs/test-data/domain/phone](https://anywaydata.com/docs/test-data/domain/phone) - Faker docs: [https://fakerjs.dev/api/phone](https://fakerjs.dev/api/phone) | Arg | Type | Required | Description | @@ -47,14 +46,18 @@ Generates a random phone number. Examples: +Shows phone.number when optional params are omitted. + ```txt phone.number() ``` +Returns: `1-703-301-3354 x628` + +Shows phone.number using style. + ```txt phone.number(style="international") ``` -Example return values: -- `1-703-301-3354 x628` -- `+15704101335` +Returns: `+15704101335` diff --git a/docs-src/docs/040-test-data/domain/250-science.md b/docs-src/docs/040-test-data/domain/250-science.md index c03d545d..eda62cad 100644 --- a/docs-src/docs/040-test-data/domain/250-science.md +++ b/docs-src/docs/040-test-data/domain/250-science.md @@ -19,92 +19,92 @@ The `science` domain maps domain keywords to underlying faker implementations. Generate a value using faker science.chemicalElement. - Canonical: `awd.domain.science.chemicalElement` -- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. Examples: +Shows the default science.chemicalElement call. + ```txt science.chemicalElement ``` -Example return values: -- `{"symbol":"Sn","name":"Tin","atomicNumber":50}` +Returns: `{"symbol":"Sn","name":"Tin","atomicNumber":50}` ### `science.chemicalElement.atomicNumber` Generate a chemical element atomic number. - Canonical: `awd.domain.science.chemicalElement.atomicNumber` -- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. Examples: +Shows the default science.chemicalElement.atomicNumber call. + ```txt science.chemicalElement.atomicNumber ``` -Example return values: -- `50` +Returns: `50` ### `science.chemicalElement.name` Generate a chemical element name. - Canonical: `awd.domain.science.chemicalElement.name` -- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. Examples: +Shows the default science.chemicalElement.name call. + ```txt science.chemicalElement.name ``` -Example return values: -- `Tin` +Returns: `Tin` ### `science.chemicalElement.symbol` Generate a chemical element symbol. - Canonical: `awd.domain.science.chemicalElement.symbol` -- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. Examples: +Shows the default science.chemicalElement.symbol call. + ```txt science.chemicalElement.symbol ``` -Example return values: -- `Sn` +Returns: `Sn` ### `science.unit` Returns a random scientific unit. - Canonical: `awd.domain.science.unit` -- Docs: [https://anywaydata.com/docs/test-data/domain/science](https://anywaydata.com/docs/test-data/domain/science) - Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) No parameters. Examples: +Shows the default science.unit call. + ```txt science.unit ``` -Example return values: -- `{"name":"watt","symbol":"W"}` +Returns: `{"name":"watt","symbol":"W"}` diff --git a/docs-src/docs/040-test-data/domain/260-string.md b/docs-src/docs/040-test-data/domain/260-string.md index 1859bf73..afadf091 100644 --- a/docs-src/docs/040-test-data/domain/260-string.md +++ b/docs-src/docs/040-test-data/domain/260-string.md @@ -19,7 +19,6 @@ The `string` domain maps domain keywords to underlying faker implementations. Generating a string consisting of letters in the English alphabet. - Canonical: `awd.domain.string.alpha` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -30,44 +29,59 @@ Generating a string consisting of letters in the English alphabet. Examples: +Shows string.alpha with all optional params omitted. + ```txt string.alpha() ``` +Returns: `v` + +Shows string.alpha generating a fixed-length alphabetic value. + ```txt string.alpha(length=5) ``` +Returns: `vLaph` + +Shows string.alpha using only the casing option. + ```txt string.alpha(casing="upper") ``` +Returns: `K` + +Shows string.alpha with explicit uppercase output. + ```txt string.alpha(length=5, casing="upper") ``` +Returns: `KSAHD` + +Shows string.alpha excluding specific characters without setting length or casing. + ```txt string.alpha(exclude=["A","B","C"]) ``` +Returns: `u` + +Shows string.alpha excluding specific characters from the candidate set. + ```txt string.alpha(length=5, casing="upper", exclude=["A","B","C"]) ``` -Example return values: -- `v` -- `vLaph` -- `K` -- `KSAHD` -- `u` -- `MTDJG` +Returns: `MTDJG` ### `string.alphanumeric` Generating a string consisting of alpha characters and digits. - Canonical: `awd.domain.string.alphanumeric` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -78,34 +92,43 @@ Generating a string consisting of alpha characters and digits. Examples: +Shows string.alphanumeric when optional params are omitted. + ```txt string.alphanumeric() ``` +Returns: `p` + +Shows string.alphanumeric using length. + ```txt string.alphanumeric(length=5) ``` +Returns: `pI0i9` + +Shows string.alphanumeric using casing. + ```txt string.alphanumeric(casing="upper") ``` +Returns: `F` + +Shows string.alphanumeric using exclude. + ```txt string.alphanumeric(exclude=["A","B","C"]) ``` -Example return values: -- `p` -- `pI0i9` -- `F` -- `o` +Returns: `o` ### `string.binary` Returns a binary string. - Canonical: `awd.domain.string.binary` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -115,29 +138,35 @@ Returns a binary string. Examples: +Shows string.binary when optional params are omitted. + ```txt string.binary() ``` +Returns: `0b0` + +Shows string.binary using length. + ```txt string.binary(length=5) ``` +Returns: `0b01000` + +Shows string.binary using prefix. + ```txt string.binary(prefix="PRE-") ``` -Example return values: -- `0b0` -- `0b01000` -- `PRE-0` +Returns: `PRE-0` ### `string.counterString` Generates a counterstring for a random length between min and max (or fixed length when only one value is provided). Defaults to min=1 and max=25 when omitted. - Canonical: `awd.domain.string.counterString` -- Docs: [/docs/test-data/counterstrings](/docs/test-data/counterstrings) | Arg | Type | Required | Description | | --- | --- | --- | --- | @@ -147,49 +176,67 @@ Generates a counterstring for a random length between min and max (or fixed leng Examples: +Shows string.counterString default from 1 to 25 chars. + ```txt string.counterString() ``` +Returns: `*3*5*7*10*13*` + +Shows string.counterString with a fixed length of 15 chars. + ```txt string.counterString(min=15) ``` +Returns: `*3*5*7*9*12*15*` + +Shows string.counterString with a length between 5 and 12 chars. + ```txt string.counterString(min=5, max=12) ``` +Returns: `*3*5*7*9*` + +Shows string.counterString with a fixed length of 12 chars and a custom delimiter. + ```txt string.counterString(min=12, max=12, delimiter="#") ``` +Returns: `#3#5#7#9#12#` + +Shows string.counterString with a length between 1 and 10 chars. + ```txt string.counterString(max=10, min=1) ``` +Returns: `2*4*6*` + +Shows string.counterString with a length between 1 and 12 chars. + ```txt string.counterString(max=12) ``` +Returns: `*3*5*7*` + +Shows string.counterString using a custom delimiter and a length between 1 and 25 chars. + ```txt string.counterString(delimiter="#") ``` -Example return values: -- `*3*5*7*10*13*` -- `*3*5*7*9*12*15*` -- `*3*5*7*9*` -- `#3#5#7#9#12#` -- `2*4*6*` -- `*3*5*7*` -- `#3#5#7#10#13#` +Returns: `#3#5#7#10#13#` ### `string.fromCharacters` Generates a string from the given characters. - Canonical: `awd.domain.string.fromCharacters` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -199,29 +246,35 @@ Generates a string from the given characters. Examples: +Shows string.fromCharacters with only the required characters argument. + ```txt -string.fromCharacters(characters="ABC123", length=6) +string.fromCharacters(characters="ABC123") ``` +Returns: `B` + +Shows string.fromCharacters in use. + ```txt string.fromCharacters(characters=["A", "B", "C"], length=4) ``` +Returns: `BCAA` + +Shows string.fromCharacters using length. + ```txt string.fromCharacters(characters="ABC123", length=4) ``` -Example return values: -- `C2ABAA` -- `BCAA` -- `C2AB` +Returns: `C2AB` ### `string.hexadecimal` Returns a hexadecimal string. - Canonical: `awd.domain.string.hexadecimal` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -232,34 +285,43 @@ Returns a hexadecimal string. Examples: +Shows string.hexadecimal when optional params are omitted. + ```txt string.hexadecimal() ``` +Returns: `0x9` + +Shows string.hexadecimal using casing. + ```txt string.hexadecimal(casing="upper") ``` +Returns: `0x9` + +Shows string.hexadecimal using length. + ```txt string.hexadecimal(length=5) ``` +Returns: `0x9f063` + +Shows string.hexadecimal using prefix. + ```txt string.hexadecimal(prefix="PRE-") ``` -Example return values: -- `0x9` -- `0x9` -- `0x9f063` -- `PRE-9` +Returns: `PRE-9` ### `string.nanoid` Generates a Nano ID. - Canonical: `awd.domain.string.nanoid` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -268,24 +330,27 @@ Generates a Nano ID. Examples: +Shows string.nanoid when optional params are omitted. + ```txt string.nanoid() ``` +Returns: `Ii5lxGSFycYGT2SqxjPK-` + +Shows string.nanoid using length. + ```txt string.nanoid(length=5) ``` -Example return values: -- `Ii5lxGSFycYGT2SqxjPK-` -- `Ii5lx` +Returns: `Ii5lx` ### `string.numeric` Generates a given length string of digits. - Canonical: `awd.domain.string.numeric` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -296,34 +361,43 @@ Generates a given length string of digits. Examples: +Shows string.numeric when optional params are omitted. + ```txt string.numeric() ``` +Returns: `4` + +Shows string.numeric using length. + ```txt string.numeric(length=5) ``` +Returns: `47031` + +Shows string.numeric using allowLeadingZeros. + ```txt string.numeric(allowLeadingZeros=true) ``` +Returns: `4` + +Shows string.numeric using exclude. + ```txt string.numeric(exclude=["A","B","C"]) ``` -Example return values: -- `4` -- `47031` -- `4` -- `4` +Returns: `4` ### `string.octal` Returns an octal string. - Canonical: `awd.domain.string.octal` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -333,29 +407,35 @@ Returns an octal string. Examples: +Shows string.octal when optional params are omitted. + ```txt string.octal() ``` +Returns: `0o3` + +Shows string.octal using length. + ```txt string.octal(length=5) ``` +Returns: `0o35021` + +Shows string.octal using prefix. + ```txt string.octal(prefix="PRE-") ``` -Example return values: -- `0o3` -- `0o35021` -- `PRE-3` +Returns: `PRE-3` ### `string.sample` Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`). - Canonical: `awd.domain.string.sample` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -364,24 +444,27 @@ Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`). Examples: +Shows string.sample when optional params are omitted. + ```txt string.sample() ``` +Returns: `Gc!=.)2AES` + +Shows string.sample using length. + ```txt string.sample(length=5) ``` -Example return values: -- `Gc!=.)2AES` -- `Gc!=.` +Returns: `Gc!=.` ### `string.symbol` -Returns a string containing only special characters from the following list: +Returns a string containing only ASCII symbol characters such as !, ", #, $, %, &, (, ), *, +, -, /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, and ~. - Canonical: `awd.domain.string.symbol` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -390,24 +473,27 @@ Returns a string containing only special characters from the following list: Examples: +Shows string.symbol when optional params are omitted. + ```txt string.symbol() ``` +Returns: `.` + +Shows string.symbol using length. + ```txt string.symbol(length=5) ``` -Example return values: -- `.` -- `.\!*%` +Returns: `.\!*%` ### `string.ulid` Returns a ULID (Universally Unique Lexicographically Sortable Identifier). - Canonical: `awd.domain.string.ulid` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -416,24 +502,27 @@ Returns a ULID (Universally Unique Lexicographically Sortable Identifier). Examples: +Shows string.ulid when optional params are omitted. + ```txt string.ulid() ``` +Returns: `01KVDQ3AJ0DQ09425BCHDN6W0N` + +Shows string.ulid using refDate. + ```txt string.ulid(refDate=1718755200000) ``` -Example return values: -- `01KVDQ3AJ0DQ09425BCHDN6W0N` -- `01J0PWP300DQ09425BCHDN6W0N` +Returns: `01J0PWP300DQ09425BCHDN6W0N` ### `string.uuid` Returns a UUID (Universally Unique Identifier). - Canonical: `awd.domain.string.uuid` -- Docs: [https://anywaydata.com/docs/test-data/domain/string](https://anywaydata.com/docs/test-data/domain/string) - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) | Arg | Type | Required | Description | @@ -443,19 +532,26 @@ Returns a UUID (Universally Unique Identifier). Examples: +Shows string.uuid when optional params are omitted. + ```txt string.uuid() ``` +Returns: `6b042125-686a-43e0-8a68-23cf5bee102e` + +Shows string.uuid using version. + ```txt string.uuid(version=7) ``` +Returns: `019edb71-aa40-76b0-8421-25686a3e0a68` + +Shows string.uuid using refDate. + ```txt string.uuid(refDate="2026-06-18T00:00:00.000Z") ``` -Example return values: -- `6b042125-686a-43e0-8a68-23cf5bee102e` -- `019edb71-aa40-76b0-8421-25686a3e0a68` -- `019ed807-0800-76b0-8421-25686a3e0a68` +Returns: `019ed807-0800-76b0-8421-25686a3e0a68` diff --git a/docs-src/docs/040-test-data/domain/270-system.md b/docs-src/docs/040-test-data/domain/270-system.md index 20b506bb..fe889729 100644 --- a/docs-src/docs/040-test-data/domain/270-system.md +++ b/docs-src/docs/040-test-data/domain/270-system.md @@ -19,26 +19,25 @@ The `system` domain maps domain keywords to underlying faker implementations. Returns a commonly used file extension. - Canonical: `awd.domain.system.commonFileExt` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.commonFileExt call. + ```txt system.commonFileExt ``` -Example return values: -- `png` +Returns: `png` ### `system.commonFileName` Returns a random file name with a given extension or a commonly used extension. - Canonical: `awd.domain.system.commonFileName` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) | Arg | Type | Required | Description | @@ -47,43 +46,46 @@ Returns a random file name with a given extension or a commonly used extension. Examples: +Shows system.commonFileName when optional params are omitted. + ```txt system.commonFileName() ``` +Returns: `fog_aboard.mp4v` + +Shows system.commonFileName using extension. + ```txt system.commonFileName(extension="txt") ``` -Example return values: -- `fog_aboard.mp4v` -- `fog_aboard.txt` +Returns: `fog_aboard.txt` ### `system.commonFileType` Returns a commonly used file type. - Canonical: `awd.domain.system.commonFileType` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.commonFileType call. + ```txt system.commonFileType ``` -Example return values: -- `image` +Returns: `image` ### `system.cron` Returns a random cron expression. - Canonical: `awd.domain.system.cron` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) | Arg | Type | Required | Description | @@ -93,48 +95,54 @@ Returns a random cron expression. Examples: +Shows system.cron when optional params are omitted. + ```txt system.cron() ``` +Returns: `25 17 * 4 *` + +Shows system.cron using includeNonStandard. + ```txt system.cron(includeNonStandard=true) ``` +Returns: `@annually` + +Shows system.cron using includeYear. + ```txt system.cron(includeYear=true) ``` -Example return values: -- `25 17 * 4 *` -- `@annually` -- `25 17 * 4 * 1994` +Returns: `25 17 * 4 * 1994` ### `system.directoryPath` Returns a directory path. - Canonical: `awd.domain.system.directoryPath` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.directoryPath call. + ```txt system.directoryPath ``` -Example return values: -- `/opt/include` +Returns: `/opt/include` ### `system.fileExt` Returns a file extension. - Canonical: `awd.domain.system.fileExt` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) | Arg | Type | Required | Description | @@ -143,128 +151,132 @@ Returns a file extension. Examples: +Shows system.fileExt when optional params are omitted. + ```txt system.fileExt() ``` +Returns: `7z` + +Shows system.fileExt using mimeType. + ```txt system.fileExt(mimeType="image/png") ``` -Example return values: -- `7z` -- `7z` +Returns: `7z` ### `system.fileName` Returns a random file name with extension. - Canonical: `awd.domain.system.fileName` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.fileName call. + ```txt system.fileName ``` -Example return values: -- `fog_aboard.otf` +Returns: `fog_aboard.otf` ### `system.filePath` Returns a file path. - Canonical: `awd.domain.system.filePath` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.filePath call. + ```txt system.filePath ``` -Example return values: -- `/opt/include/down_reproachfully_besides.woff2` +Returns: `/opt/include/down_reproachfully_besides.woff2` ### `system.fileType` Returns a file type. - Canonical: `awd.domain.system.fileType` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.fileType call. + ```txt system.fileType ``` -Example return values: -- `font` +Returns: `font` ### `system.mimeType` Returns a mime-type. - Canonical: `awd.domain.system.mimeType` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.mimeType call. + ```txt system.mimeType ``` -Example return values: -- `application/x-httpd-php` +Returns: `application/x-httpd-php` ### `system.networkInterface` Returns a random network interface. - Canonical: `awd.domain.system.networkInterface` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.networkInterface call. + ```txt system.networkInterface ``` -Example return values: -- `wlx042125686a3e` +Returns: `wlx042125686a3e` ### `system.semver` Returns a semantic version. - Canonical: `awd.domain.system.semver` -- Docs: [https://anywaydata.com/docs/test-data/domain/system](https://anywaydata.com/docs/test-data/domain/system) - Faker docs: [https://fakerjs.dev/api/system](https://fakerjs.dev/api/system) No parameters. Examples: +Shows the default system.semver call. + ```txt system.semver ``` -Example return values: -- `4.15.0` +Returns: `4.15.0` diff --git a/docs-src/docs/040-test-data/domain/280-vehicle.md b/docs-src/docs/040-test-data/domain/280-vehicle.md index 03d7f39a..e9c043f1 100644 --- a/docs-src/docs/040-test-data/domain/280-vehicle.md +++ b/docs-src/docs/040-test-data/domain/280-vehicle.md @@ -19,168 +19,168 @@ The `vehicle` domain maps domain keywords to underlying faker implementations. Returns a type of bicycle. - Canonical: `awd.domain.vehicle.bicycle` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.bicycle call. + ```txt vehicle.bicycle ``` -Example return values: -- `Flat-Foot Comfort Bicycle` +Returns: `Flat-Foot Comfort Bicycle` ### `vehicle.color` Returns a vehicle color. - Canonical: `awd.domain.vehicle.color` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.color call. + ```txt vehicle.color ``` -Example return values: -- `magenta` +Returns: `magenta` ### `vehicle.fuel` Returns a fuel type. - Canonical: `awd.domain.vehicle.fuel` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.fuel call. + ```txt vehicle.fuel ``` -Example return values: -- `Electric` +Returns: `Electric` ### `vehicle.manufacturer` Returns a manufacturer name. - Canonical: `awd.domain.vehicle.manufacturer` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.manufacturer call. + ```txt vehicle.manufacturer ``` -Example return values: -- `Lamborghini` +Returns: `Lamborghini` ### `vehicle.model` Returns a vehicle model. - Canonical: `awd.domain.vehicle.model` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.model call. + ```txt vehicle.model ``` -Example return values: -- `Escalade` +Returns: `Escalade` ### `vehicle.type` Returns a vehicle type. - Canonical: `awd.domain.vehicle.type` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.type call. + ```txt vehicle.type ``` -Example return values: -- `Extended Cab Pickup` +Returns: `Extended Cab Pickup` ### `vehicle.vehicle` Returns a random vehicle. - Canonical: `awd.domain.vehicle.vehicle` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.vehicle call. + ```txt vehicle.vehicle ``` -Example return values: -- `Lamborghini Model X` +Returns: `Lamborghini Model X` ### `vehicle.vin` Returns a vehicle identification number (VIN). - Canonical: `awd.domain.vehicle.vin` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.vin call. + ```txt vehicle.vin ``` -Example return values: -- `DP09436BDHKN28064` +Returns: `DP09436BDHKN28064` ### `vehicle.vrm` Returns a vehicle registration number (Vehicle Registration Mark - VRM) - Canonical: `awd.domain.vehicle.vrm` -- Docs: [https://anywaydata.com/docs/test-data/domain/vehicle](https://anywaydata.com/docs/test-data/domain/vehicle) - Faker docs: [https://fakerjs.dev/api/vehicle](https://fakerjs.dev/api/vehicle) No parameters. Examples: +Shows the default vehicle.vrm call. + ```txt vehicle.vrm ``` -Example return values: -- `KS03DCE` +Returns: `KS03DCE` diff --git a/docs-src/docs/040-test-data/domain/290-word.md b/docs-src/docs/040-test-data/domain/290-word.md index 88f87f22..02e8b2db 100644 --- a/docs-src/docs/040-test-data/domain/290-word.md +++ b/docs-src/docs/040-test-data/domain/290-word.md @@ -19,7 +19,6 @@ The `word` domain maps domain keywords to underlying faker implementations. Returns a random adjective. - Canonical: `awd.domain.word.adjective` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -30,34 +29,43 @@ Returns a random adjective. Examples: +Shows word.adjective when optional params are omitted. + ```txt word.adjective() ``` +Returns: `inferior` + +Shows word.adjective using length. + ```txt word.adjective(length=5) ``` +Returns: `major` + +Shows word.adjective using max. + ```txt word.adjective(max=5) ``` +Returns: `inferior` + +Shows word.adjective using strategy. + ```txt word.adjective(strategy="any-length") ``` -Example return values: -- `inferior` -- `major` -- `inferior` -- `inferior` +Returns: `inferior` ### `word.adverb` Returns a random adverb. - Canonical: `awd.domain.word.adverb` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -68,34 +76,43 @@ Returns a random adverb. Examples: +Shows word.adverb when optional params are omitted. + ```txt word.adverb() ``` +Returns: `knavishly` + +Shows word.adverb using length. + ```txt word.adverb(length=5) ``` +Returns: `never` + +Shows word.adverb using max. + ```txt word.adverb(max=5) ``` +Returns: `knavishly` + +Shows word.adverb using strategy. + ```txt word.adverb(strategy="any-length") ``` -Example return values: -- `knavishly` -- `never` -- `knavishly` -- `knavishly` +Returns: `knavishly` ### `word.conjunction` Returns a random conjunction. - Canonical: `awd.domain.word.conjunction` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -106,34 +123,43 @@ Returns a random conjunction. Examples: +Shows word.conjunction when optional params are omitted. + ```txt word.conjunction() ``` +Returns: `likewise` + +Shows word.conjunction using length. + ```txt word.conjunction(length=5) ``` +Returns: `until` + +Shows word.conjunction using max. + ```txt word.conjunction(max=5) ``` +Returns: `likewise` + +Shows word.conjunction using strategy. + ```txt word.conjunction(strategy="any-length") ``` -Example return values: -- `likewise` -- `until` -- `likewise` -- `likewise` +Returns: `likewise` ### `word.interjection` Returns a random interjection. - Canonical: `awd.domain.word.interjection` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -144,34 +170,43 @@ Returns a random interjection. Examples: +Shows word.interjection when optional params are omitted. + ```txt word.interjection() ``` +Returns: `woot` + +Shows word.interjection using length. + ```txt word.interjection(length=5) ``` +Returns: `fooey` + +Shows word.interjection using max. + ```txt word.interjection(max=5) ``` +Returns: `woot` + +Shows word.interjection using strategy. + ```txt word.interjection(strategy="any-length") ``` -Example return values: -- `woot` -- `fooey` -- `woot` -- `woot` +Returns: `woot` ### `word.noun` Returns a random noun. - Canonical: `awd.domain.word.noun` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -182,34 +217,43 @@ Returns a random noun. Examples: +Shows word.noun when optional params are omitted. + ```txt word.noun() ``` +Returns: `heating` + +Shows word.noun using length. + ```txt word.noun(length=5) ``` +Returns: `humor` + +Shows word.noun using max. + ```txt word.noun(max=5) ``` +Returns: `heating` + +Shows word.noun using strategy. + ```txt word.noun(strategy="any-length") ``` -Example return values: -- `heating` -- `humor` -- `heating` -- `heating` +Returns: `heating` ### `word.preposition` Returns a random preposition. - Canonical: `awd.domain.word.preposition` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -220,34 +264,43 @@ Returns a random preposition. Examples: +Shows word.preposition when optional params are omitted. + ```txt word.preposition() ``` +Returns: `except` + +Shows word.preposition using length. + ```txt word.preposition(length=5) ``` +Returns: `aside` + +Shows word.preposition using max. + ```txt word.preposition(max=5) ``` +Returns: `except` + +Shows word.preposition using strategy. + ```txt word.preposition(strategy="any-length") ``` -Example return values: -- `except` -- `aside` -- `except` -- `except` +Returns: `except` ### `word.sample` Returns a random word, that can be an adjective, adverb, conjunction, interjection, noun, preposition, or verb. - Canonical: `awd.domain.word.sample` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -258,34 +311,43 @@ Returns a random word, that can be an adjective, adverb, conjunction, interjecti Examples: +Shows word.sample when optional params are omitted. + ```txt word.sample() ``` +Returns: `boohoo` + +Shows word.sample using length. + ```txt word.sample(length=5) ``` +Returns: `yowza` + +Shows word.sample using max. + ```txt word.sample(max=5) ``` +Returns: `boohoo` + +Shows word.sample using strategy. + ```txt word.sample(strategy="any-length") ``` -Example return values: -- `boohoo` -- `yowza` -- `boohoo` -- `boohoo` +Returns: `boohoo` ### `word.verb` Returns a random verb. - Canonical: `awd.domain.word.verb` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -296,34 +358,43 @@ Returns a random verb. Examples: +Shows word.verb when optional params are omitted. + ```txt word.verb() ``` +Returns: `hunger` + +Shows word.verb using length. + ```txt word.verb(length=5) ``` +Returns: `mould` + +Shows word.verb using max. + ```txt word.verb(max=5) ``` +Returns: `hunger` + +Shows word.verb using strategy. + ```txt word.verb(strategy="any-length") ``` -Example return values: -- `hunger` -- `mould` -- `hunger` -- `hunger` +Returns: `hunger` ### `word.words` Returns a random string containing some words separated by spaces. - Canonical: `awd.domain.word.words` -- Docs: [https://anywaydata.com/docs/test-data/domain/word](https://anywaydata.com/docs/test-data/domain/word) - Faker docs: [https://fakerjs.dev/api/word](https://fakerjs.dev/api/word) | Arg | Type | Required | Description | @@ -333,19 +404,26 @@ Returns a random string containing some words separated by spaces. Examples: +Shows word.words when optional params are omitted. + ```txt word.words() ``` +Returns: `fog aboard` + +Shows word.words using count. + ```txt word.words(count=5) ``` +Returns: `boohoo pish tenderly above pop` + +Shows word.words using max. + ```txt word.words(max=5) ``` -Example return values: -- `fog aboard` -- `boohoo pish tenderly above pop` -- `fog aboard` +Returns: `fog aboard` diff --git a/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js b/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js index dc7ce792..e8c29d54 100644 --- a/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js +++ b/packages/core-ui/src/tests/interaction/matrix/schema-interaction-scenario-builder.test.js @@ -115,20 +115,17 @@ describe('schema interaction scenario builder', () => { ).toBe('()'); }); - test('domain argument scenarios prefer examples from keyword definitions', () => { + test('base scenarios reuse minimal curated examples from keyword definitions', () => { const scenarios = buildSchemaInteractionScenarios(); - expect(scenarios.find((scenario) => scenario.id === 'domain-airline-seat-arg-aircraftType')?.rows[0]?.params).toBe( - '(aircraftType="widebody")' - ); - expect(scenarios.find((scenario) => scenario.id === 'domain-color-rgb-arg-casing')?.rows[0]?.params).toBe( - '(casing="upper")' - ); - expect(scenarios.find((scenario) => scenario.id === 'domain-commerce-price-arg-symbol')?.rows[0]?.params).toBe( - '(symbol="$")' + expect(scenarios.find((scenario) => scenario.id === 'faker-helpers-arrayElements-base')?.rows[0]?.params).toBe( + '(["A", "B", "C"])' ); expect(scenarios.find((scenario) => scenario.id === 'domain-date-between-base')?.rows[0]?.params).toBe( - '(1577836800000, 1609372800000)' + '(from=1577836800000, to=1609372800000)' + ); + expect(scenarios.find((scenario) => scenario.id === 'domain-string-fromCharacters-base')?.rows[0]?.params).toBe( + '(characters="ABC123")' ); }); @@ -149,21 +146,19 @@ describe('schema interaction scenario builder', () => { expect(getDomainCommandHelp('date.betweens')?.args?.find((arg) => arg.name === 'count')?.type).toBe('integer'); }); - test('domain arg scenarios include required companion args when needed', () => { + test('example-derived coverage still includes focused optional-parameter scenarios', () => { const scenarios = buildSchemaInteractionScenarios(); expect( - scenarios.find((scenario) => scenario.id === 'domain-string-fromCharacters-arg-length')?.rows[0]?.params - ).toBe('(characters="ABC123", length=4)'); - expect(scenarios.find((scenario) => scenario.id === 'domain-date-between-arg-from')?.rows[0]?.params).toBe( - '(from=1577836800000, to=1609372800000)' - ); - expect(scenarios.find((scenario) => scenario.id === 'domain-date-birthdate-arg-max')?.rows[0]?.params).toBe( - '(max=65, min=18, mode="age")' - ); + scenarios.find((scenario) => scenario.id === 'domain-string-fromCharacters-example-2')?.rows[0]?.params + ).toBe('(characters=["A", "B", "C"], length=4)'); + expect(scenarios.find((scenario) => scenario.id === 'domain-datatype-enum-base')?.coveredArgs).toEqual(['values']); + expect(scenarios.find((scenario) => scenario.id === 'domain-date-birthdate-example-3')?.coveredArgs).toEqual([ + 'refDate', + ]); expect( - scenarios.find((scenario) => scenario.id === 'domain-autoIncrement-sequence-arg-zeropadding')?.rows[0]?.params - ).toBe('(zeropadding=3)'); + scenarios.find((scenario) => scenario.id === 'domain-autoIncrement-sequence-example-5')?.coveredArgs + ).toEqual(['step']); }); test('definitions describe executable option types and return types for matrix generation', () => { diff --git a/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js b/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js index e84a7b5a..f19ff59c 100644 --- a/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js +++ b/packages/core-ui/src/tests/interaction/matrix/support/schema-interaction-scenario-builder.js @@ -9,6 +9,7 @@ import { getKnownDomainCommandsAlphabetical, getDomainKeywordByCommand, } from '../../../../../js/gui_components/shared/domain-commands.js'; +import { DomainKeywordInvocationParser } from '@anywaydata/core/domain/parser/DomainKeywordInvocationParser.js'; import { getVisibleDomainCommands } from '../../../../../js/gui_components/shared/test-data/help/domain-command-provider.js'; import { getDomainCommandHelp } from '../../../../../js/gui_components/shared/domain-command-help-metadata.js'; import { @@ -38,6 +39,7 @@ const CUSTOM_SOURCE_TYPES = [ SOURCE_TYPE_FAKER, SOURCE_TYPE_DOMAIN, ]; +const DOMAIN_INVOCATION_PARSER = new DomainKeywordInvocationParser(); const DEFAULT_ROW_NAME = 'Value'; const FAKER_INTERACTION_COMMANDS = getAllowedFakerCommandsAlphabetical().filter( (command) => command !== 'RegEx' && command.startsWith('helpers.') @@ -98,46 +100,6 @@ const CUSTOM_SCENARIOS = [ }, ]; -const FAKER_PARAM_OVERRIDES = { - 'helpers.arrayElement': ['["A", "B"]'], - 'helpers.arrayElements': ['["A", "B", "C"]', '2'], - 'date.between': ['{ from: "2020-01-01T00:00:00.000Z", to: "2020-12-31T00:00:00.000Z" }'], - 'date.betweens': ['{ from: "2020-01-01T00:00:00.000Z", to: "2020-12-31T00:00:00.000Z", count: 2 }'], - 'helpers.fake': ['"{{person.firstName}}"'], - 'helpers.mustache': ['"{{name}}"', '{ name: "Ada" }'], - 'helpers.fromRegExp': ['"[A-Z]{2}"'], - 'helpers.rangeToNumber': ['{ min: 1, max: 2 }'], - 'helpers.shuffle': ['["A", "B", "C"]'], - 'helpers.weightedArrayElement': ['[{ "weight": 1, "value": "A" }, { "weight": 2, "value": "B" }]'], - 'string.fromCharacters': ['"ABC123"', '4'], -}; - -const DOMAIN_PARAM_OVERRIDES = { - 'datatype.enum': { - defaults: ['"active"', '"inactive"', '"pending"'], - }, - 'date.between': { - defaults: ['1577836800000', '1609372800000'], - named: { from: '1577836800000', to: '1609372800000' }, - }, - 'date.betweens': { - defaults: ['2', '1577836800000', '1609372800000'], - named: { count: '2', from: '1577836800000', to: '1609372800000' }, - }, - 'string.counterString': { - defaults: ['1', '25', '"*"'], - named: { min: '2', max: '5', delimiter: '"#"' }, - }, - 'autoIncrement.sequence': { - defaults: ['1', '5', '"filename"', '".txt"', '3'], - named: { start: '10', step: '5', prefix: '"T-"', suffix: '""', zeropadding: '2' }, - }, - 'string.fromCharacters': { - defaults: ['"ABC123"', '4'], - named: { characters: '"ABC123"', length: '4' }, - }, -}; - const DOMAIN_SCENARIO_EXECUTION_CACHE = new Map(); const FAKER_SCENARIO_EXECUTION_CACHE = new Map(); const UI_REPRESENTATIVE_SCENARIO_IDS = new Set([ @@ -162,18 +124,6 @@ const UI_REPRESENTATIVE_SCENARIO_IDS = new Set([ 'domain-string-counterString-example-1', 'domain-string-fromCharacters-base', ]); -const DOMAIN_ARG_COMPANION_OVERRIDES = { - 'date.between': { - from: { to: '1609372800000' }, - to: { from: '1577836800000' }, - }, - 'date.birthdate': { - max: { min: '18', mode: '"age"' }, - min: { max: '65', mode: '"age"' }, - mode: { min: '18', max: '65' }, - refDate: { min: '18', max: '65', mode: '"age"' }, - }, -}; const ERROR_PATTERNS = [ /\*\*ERROR\*\*/i, /Invalid Faker API Call/i, @@ -201,10 +151,6 @@ function slugify(value) { .replace(/^-+|-+$/g, ''); } -function quoteString(value) { - return JSON.stringify(String(value)); -} - function buildExpectedSchemaText(rows) { return dataRulesToSchemaText({ dataRules: schemaRowsToDataRules({ schemaRows: rows }).dataRules, @@ -258,29 +204,6 @@ function createScenario({ }; } -function buildNamedParams(namedValues) { - const entries = Object.entries(namedValues).filter(([, value]) => typeof value !== 'undefined'); - if (entries.length === 0) { - return '()'; - } - return `(${entries.map(([name, value]) => `${name}=${value}`).join(', ')})`; -} - -function buildPositionalParams(values) { - if (!Array.isArray(values) || values.length === 0) { - return '()'; - } - return `(${values.join(', ')})`; -} - -function renderExampleParamValue(exampleValue) { - if (typeof exampleValue === 'string') return quoteString(exampleValue); - if (typeof exampleValue === 'number' || typeof exampleValue === 'boolean') return String(exampleValue); - if (exampleValue === null) return 'null'; - if (Array.isArray(exampleValue) || typeof exampleValue === 'object') return JSON.stringify(exampleValue); - return quoteString(String(exampleValue)); -} - function parseLiteralTypeToken(token) { const trimmed = String(token || '').trim(); if (!trimmed) { @@ -295,6 +218,83 @@ function parseLiteralTypeToken(token) { return trimmed; } +function splitTopLevelArguments(argsText = '') { + const args = []; + let current = ''; + let depth = 0; + let quote = ''; + let escaping = false; + + for (const character of String(argsText || '')) { + if (escaping) { + current += character; + escaping = false; + continue; + } + + if (quote) { + current += character; + if (character === '\\') { + escaping = true; + continue; + } + if (character === quote) { + quote = ''; + } + continue; + } + + if (character === '"' || character === "'") { + quote = character; + current += character; + continue; + } + + if (character === '(' || character === '[' || character === '{') { + depth += 1; + current += character; + continue; + } + + if (character === ')' || character === ']' || character === '}') { + depth = Math.max(0, depth - 1); + current += character; + continue; + } + + if (character === ',' && depth === 0) { + if (current.trim()) { + args.push(current.trim()); + } + current = ''; + continue; + } + + current += character; + } + + if (current.trim()) { + args.push(current.trim()); + } + + return args; +} + +function getHelperExampleArgCount(functionCall) { + const trimmed = String(functionCall || '').trim(); + const openParenIndex = trimmed.indexOf('('); + if (openParenIndex === -1) { + return 0; + } + + const inner = trimmed.slice(openParenIndex + 1, -1).trim(); + if (!inner) { + return 0; + } + + return splitTopLevelArguments(inner).length; +} + function getLiteralUnionValues(typeName) { const typeTokens = String(typeName || '') .split('|') @@ -320,188 +320,6 @@ function getLiteralUnionValues(typeName) { return literalValues; } -function choosePreferredLiteralUnionValue(values, { paramName, command } = {}) { - if (!Array.isArray(values) || values.length === 0) { - return undefined; - } - - if (paramName === 'strategy' && values.includes('any-length')) return 'any-length'; - if (paramName === 'aircraftType' && values.includes('widebody')) return 'widebody'; - if (paramName === 'protocol' && values.includes('https')) return 'https'; - if (paramName === 'network' && command === 'internet.ipv4' && values.includes('private-a')) return 'private-a'; - if (paramName === 'network' && command === 'finance.bitcoinAddress' && values.includes('testnet')) return 'testnet'; - if (paramName === 'format' && values.includes('css')) return 'css'; - if (paramName === 'casing' && values.includes('upper')) return 'upper'; - - return values[0]; -} - -function buildGenericParamValue({ paramName, paramType, command, sourceType, index, argExamples = [] }) { - const normalisedName = String(paramName || '').trim(); - const lowerName = normalisedName.toLowerCase(); - const typeText = String(paramType || '') - .trim() - .toLowerCase(); - - if (Array.isArray(argExamples) && argExamples.length > 0) { - return renderExampleParamValue(argExamples[0]); - } - - if (sourceType === SOURCE_TYPE_DOMAIN) { - const domainOverride = DOMAIN_PARAM_OVERRIDES[command]?.named?.[normalisedName]; - if (typeof domainOverride !== 'undefined') { - return domainOverride; - } - } - - const literalUnionValues = getLiteralUnionValues(paramType); - if (literalUnionValues.length > 0) { - return renderExampleParamValue( - choosePreferredLiteralUnionValue(literalUnionValues, { - paramName: normalisedName, - command, - }) - ); - } - - if (lowerName === 'min') return '1'; - if (lowerName === 'max') return '3'; - if (lowerName === 'count') return '2'; - if (lowerName === 'linecount') return '2'; - if (lowerName === 'linecountmin') return '1'; - if (lowerName === 'linecountmax') return '2'; - if (lowerName === 'length') return '4'; - if (lowerName === 'linelength') return '4'; - if (lowerName === 'prefix') return '"#"'; - if (lowerName === 'suffix') return '".txt"'; - if (lowerName === 'separator') return '"-"'; - if (lowerName === 'delimiter') return '"*"'; - if (lowerName === 'zeropadding') return '3'; - if (lowerName === 'protocol') return '"https"'; - if (lowerName === 'provider') return '"example.com"'; - if (lowerName === 'firstname') return '"Ada"'; - if (lowerName === 'lastname') return '"Lovelace"'; - if (lowerName === 'sex') return '"male"'; - if (lowerName === 'version') return '7'; - if (lowerName === 'refdate') return '1'; - if (!typeText.includes('integer') && !typeText.includes('number') && lowerName === 'from') { - return '"2020-01-01T00:00:00.000Z"'; - } - if (!typeText.includes('integer') && !typeText.includes('number') && lowerName === 'to') { - return '"2020-12-31T00:00:00.000Z"'; - } - if (lowerName === 'pattern') return '"[A-Z]{2}"'; - if (lowerName === 'text') return '"{{name}}"'; - if (lowerName === 'characters') return '"ABC123"'; - if (lowerName === 'casing') return '"upper"'; - if (lowerName === 'format') return '"css"'; - if (lowerName === 'appendslash') return 'true'; - if (lowerName === 'allowleadingzeros') return 'true'; - if (lowerName === 'includealpha') return 'true'; - if (lowerName === 'usefulladdress') return 'true'; - - if (typeText.includes('boolean')) return 'true'; - if (typeText.includes('integer')) return String(index + 2); - if (typeText.includes('number')) return String(index + 2); - if (typeText.includes('array')) return '["A", "B"]'; - if (typeText.includes('regexp')) return '"[A-Z]{2}"'; - if (typeText.includes('object')) return '{}'; - if (typeText.includes('string')) - return quoteString(`${slugify(command || sourceType || 'value') || 'value'}-${normalisedName || index}`); - - return quoteString(`${slugify(command || sourceType || 'value') || 'value'}-${normalisedName || index}`); -} - -function buildFakerBaseParams(command, params) { - const override = FAKER_PARAM_OVERRIDES[command]; - if (override) { - return buildPositionalParams(override); - } - const requiredCount = params.filter((param) => param.optional === false).length; - if (requiredCount === 0) { - return '()'; - } - const values = params.slice(0, requiredCount).map((param, index) => - buildGenericParamValue({ - paramName: param.name, - paramType: param.type, - command, - sourceType: SOURCE_TYPE_FAKER, - index, - argExamples: param.examples, - }) - ); - return buildPositionalParams(values); -} - -function buildFakerArgumentScenarios(command, metadata) { - const params = Array.isArray(metadata?.params) ? metadata.params : []; - const scenarios = []; - params.forEach((param, index) => { - const values = []; - for (let paramIndex = 0; paramIndex <= index; paramIndex += 1) { - const current = params[paramIndex]; - values.push( - buildGenericParamValue({ - paramName: current.name, - paramType: current.type, - command, - sourceType: SOURCE_TYPE_FAKER, - index: paramIndex, - argExamples: current.examples, - }) - ); - } - scenarios.push( - createScenario({ - id: `faker-${slugify(command)}-arg-${slugify(param.name)}`, - sourceType: SOURCE_TYPE_FAKER, - command, - label: `${command} arg ${param.name}`, - rows: [ - { name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_FAKER, command, params: buildPositionalParams(values) }, - ], - coveredArgs: [param.name], - origins: ['arg'], - metadata, - }) - ); - }); - - if (params.length >= 2) { - for (let index = 0; index < params.length - 1; index += 1) { - const left = params[index]; - const right = params[index + 1]; - const values = params.slice(0, index + 2).map((param, paramIndex) => - buildGenericParamValue({ - paramName: param.name, - paramType: param.type, - command, - sourceType: SOURCE_TYPE_FAKER, - index: paramIndex, - argExamples: param.examples, - }) - ); - scenarios.push( - createScenario({ - id: `faker-${slugify(command)}-pair-${slugify(left.name)}-${slugify(right.name)}`, - sourceType: SOURCE_TYPE_FAKER, - command, - label: `${command} pair ${left.name}/${right.name}`, - rows: [ - { name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_FAKER, command, params: buildPositionalParams(values) }, - ], - coveredArgs: [left.name, right.name], - origins: ['pair'], - metadata, - }) - ); - } - } - - return scenarios; -} - function parseExampleInvocation(example, command) { const text = String(example || '').trim(); const keyword = getDomainKeywordByCommand(command); @@ -538,122 +356,68 @@ function getUsageExampleFunctionCalls(metadata = {}) { .filter(Boolean); } -function buildDomainBaseParams(command, metadata) { - const args = Array.isArray(metadata?.args) ? metadata.args : []; - if (DOMAIN_PARAM_OVERRIDES[command]?.defaults) { - return buildPositionalParams(DOMAIN_PARAM_OVERRIDES[command].defaults); - } - const requiredArgs = args.filter((arg) => arg.required === true); - if (requiredArgs.length === 0) { - return '()'; - } - const namedValues = {}; - requiredArgs.forEach((arg, index) => { - namedValues[arg.name] = buildGenericParamValue({ - paramName: arg.name, - paramType: arg.type, - command, - sourceType: SOURCE_TYPE_DOMAIN, - index, - argExamples: arg.examples, - }); +function isRequiredMetadataArg(arg) { + return arg?.required === true || arg?.optional === false; +} + +function findMinimalFakerExample(command, metadata = {}) { + const requiredArgCount = Array.isArray(metadata?.params) + ? metadata.params.filter((param) => param.optional === false).length + : 0; + return getUsageExampleFunctionCalls(metadata).find((example) => { + const params = parseFakerExampleInvocation(example, command); + return params !== null && getHelperExampleArgCount(example) === requiredArgCount; }); - return buildNamedParams(namedValues); } -function buildDomainArgumentScenarios(command, metadata) { +function findMinimalDomainExample(command, metadata = {}) { const args = Array.isArray(metadata?.args) ? metadata.args : []; - const scenarios = []; - const requiredArgs = args.filter((arg) => arg.required === true); - - args.forEach((arg, index) => { - const namedValues = {}; - requiredArgs.forEach((requiredArg, requiredIndex) => { - namedValues[requiredArg.name] = buildGenericParamValue({ - paramName: requiredArg.name, - paramType: requiredArg.type, - command, - sourceType: SOURCE_TYPE_DOMAIN, - index: requiredIndex, - argExamples: requiredArg.examples, - }); - }); - namedValues[arg.name] = buildGenericParamValue({ - paramName: arg.name, - paramType: arg.type, - command, - sourceType: SOURCE_TYPE_DOMAIN, - index, - argExamples: arg.examples, - }); - Object.assign(namedValues, DOMAIN_ARG_COMPANION_OVERRIDES[command]?.[arg.name] || {}); - scenarios.push( - createScenario({ - id: `domain-${slugify(command)}-arg-${slugify(arg.name)}`, - sourceType: SOURCE_TYPE_DOMAIN, - command, - label: `${command} arg ${arg.name}`, - rows: [ - { name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_DOMAIN, command, params: buildNamedParams(namedValues) }, - ], - coveredArgs: [arg.name], - origins: ['arg'], - metadata, - }) - ); + const requiredParamNames = new Set(args.filter((arg) => isRequiredMetadataArg(arg)).map((arg) => arg.name)); + return getUsageExampleFunctionCalls(metadata).find((example) => { + const paramsText = parseExampleInvocation(example, command); + if (args.length === 1 && requiredParamNames.size === 1 && paramsText && paramsText !== '()') { + const parsedMinimal = DOMAIN_INVOCATION_PARSER.parse(example); + const namedArgs = (parsedMinimal.arguments || []).filter((argument) => argument.kind === 'named'); + if (namedArgs.length === 0) { + return true; + } + } + + const parsed = DOMAIN_INVOCATION_PARSER.parse(example); + if (!parsed.ok || parsed.keyword !== command) { + return false; + } + const namedArgs = (parsed.arguments || []).filter((argument) => argument.kind === 'named').map((arg) => arg.name); + if (namedArgs.length !== requiredParamNames.size) { + return false; + } + return [...requiredParamNames].every((name) => namedArgs.includes(name)); }); +} - if (args.length >= 2) { - for (let index = 0; index < args.length - 1; index += 1) { - const left = args[index]; - const right = args[index + 1]; - const namedValues = {}; - requiredArgs.forEach((requiredArg, requiredIndex) => { - namedValues[requiredArg.name] = buildGenericParamValue({ - paramName: requiredArg.name, - paramType: requiredArg.type, - command, - sourceType: SOURCE_TYPE_DOMAIN, - index: requiredIndex, - argExamples: requiredArg.examples, - }); - }); - namedValues[left.name] = buildGenericParamValue({ - paramName: left.name, - paramType: left.type, - command, - sourceType: SOURCE_TYPE_DOMAIN, - index, - argExamples: left.examples, - }); - namedValues[right.name] = buildGenericParamValue({ - paramName: right.name, - paramType: right.type, - command, - sourceType: SOURCE_TYPE_DOMAIN, - index: index + 1, - argExamples: right.examples, - }); - Object.assign(namedValues, DOMAIN_ARG_COMPANION_OVERRIDES[command]?.[left.name] || {}); - Object.assign(namedValues, DOMAIN_ARG_COMPANION_OVERRIDES[command]?.[right.name] || {}); - scenarios.push( - createScenario({ - id: `domain-${slugify(command)}-pair-${slugify(left.name)}-${slugify(right.name)}`, - sourceType: SOURCE_TYPE_DOMAIN, - command, - label: `${command} pair ${left.name}/${right.name}`, - rows: [ - { name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_DOMAIN, command, params: buildNamedParams(namedValues) }, - ], - coveredArgs: [left.name, right.name], - origins: ['pair'], - metadata, - }) - ); +function getFakerCoveredArgsForExample(functionCall, metadata = {}) { + const count = getHelperExampleArgCount(functionCall); + return (Array.isArray(metadata?.params) ? metadata.params : []).slice(0, count).map((param) => param.name); +} + +function getDomainCoveredArgsForExample(functionCall, command) { + const metadata = getDomainCommandHelp(command) || { args: [] }; + const paramsText = parseExampleInvocation(functionCall, command); + const parsed = DOMAIN_INVOCATION_PARSER.parse(functionCall); + if (!parsed.ok || parsed.keyword !== command) { + if (paramsText && paramsText !== '()' && Array.isArray(metadata.args) && metadata.args.length === 1) { + return [metadata.args[0].name]; } + return []; } - - return scenarios; + const namedArgs = (parsed.arguments || []).filter((argument) => argument.kind === 'named').map((arg) => arg.name); + if (namedArgs.length > 0) { + return namedArgs; + } + if ((parsed.arguments || []).length > 0 && Array.isArray(metadata.args) && metadata.args.length === 1) { + return [metadata.args[0].name]; + } + return []; } function buildFakerScenarios() { @@ -661,21 +425,16 @@ function buildFakerScenarios() { FAKER_INTERACTION_COMMANDS.forEach((command) => { const metadata = getFakerCommandHelp(command) || { params: [], docsUrl: '', usageExamples: [] }; + const minimalExample = findMinimalFakerExample(command, metadata); + const baseParams = parseFakerExampleInvocation(minimalExample || '', command) || '()'; scenarios.push( createScenario({ id: `faker-${slugify(command)}-base`, sourceType: SOURCE_TYPE_FAKER, command, label: command, - rows: [ - { - name: DEFAULT_ROW_NAME, - sourceType: SOURCE_TYPE_FAKER, - command, - params: buildFakerBaseParams(command, metadata.params || []), - }, - ], - coveredArgs: [], + rows: [{ name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_FAKER, command, params: baseParams }], + coveredArgs: minimalExample ? getFakerCoveredArgsForExample(minimalExample, metadata) : [], origins: ['base'], metadata, }) @@ -693,13 +452,12 @@ function buildFakerScenarios() { command, label: `${command} example ${exampleIndex + 1}`, rows: [{ name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_FAKER, command, params }], - coveredArgs: Array.isArray(metadata.params) ? metadata.params.map((param) => param.name) : [], + coveredArgs: getFakerCoveredArgsForExample(example, metadata), origins: ['example'], metadata, }) ); }); - scenarios.push(...buildFakerArgumentScenarios(command, metadata)); }); return scenarios; @@ -711,21 +469,16 @@ function buildDomainScenarios() { commands.forEach((command) => { const metadata = getDomainCommandHelp(command) || { args: [], docsUrl: '', usageExamples: [] }; + const minimalExample = findMinimalDomainExample(command, metadata); + const baseParams = parseExampleInvocation(minimalExample || '', command) || '()'; scenarios.push( createScenario({ id: `domain-${slugify(command)}-base`, sourceType: SOURCE_TYPE_DOMAIN, command, label: command, - rows: [ - { - name: DEFAULT_ROW_NAME, - sourceType: SOURCE_TYPE_DOMAIN, - command, - params: buildDomainBaseParams(command, metadata), - }, - ], - coveredArgs: [], + rows: [{ name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_DOMAIN, command, params: baseParams }], + coveredArgs: minimalExample ? getDomainCoveredArgsForExample(minimalExample, command) : [], origins: ['base'], metadata, }) @@ -744,14 +497,12 @@ function buildDomainScenarios() { command, label: `${command} example ${exampleIndex + 1}`, rows: [{ name: DEFAULT_ROW_NAME, sourceType: SOURCE_TYPE_DOMAIN, command, params }], - coveredArgs: Array.isArray(metadata.args) ? metadata.args.map((arg) => arg.name) : [], + coveredArgs: getDomainCoveredArgsForExample(example, command), origins: ['example'], metadata, }) ); }); - - scenarios.push(...buildDomainArgumentScenarios(command, metadata)); }); return scenarios; diff --git a/packages/core/js/domain/domain-custom-internet-keyword-definitions.js b/packages/core/js/domain/domain-custom-internet-keyword-definitions.js index 5e98ba1b..93a3e5a3 100644 --- a/packages/core/js/domain/domain-custom-internet-keyword-definitions.js +++ b/packages/core/js/domain/domain-custom-internet-keyword-definitions.js @@ -24,7 +24,7 @@ const DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS = [ }, help: { summary: - 'Returns a random HTTP method from the full set GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, and CONNECT, with optional filtering for common methods and exclusions.', + 'Returns a random HTTP request method from an AnywayData-defined pool of GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, and CONNECT, with optional filtering for common methods and exclusions.', docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', fakerDocsUrl: '', validator: validateHttpMethodValue, @@ -60,7 +60,7 @@ const DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS = [ type: 'string', required: false, description: - 'Comma-separated HTTP methods to remove from the candidate set. Values are case-insensitive and surrounding spaces are trimmed.', + 'Comma-separated HTTP methods to remove from the candidate set. Values are case-insensitive, surrounding spaces are trimmed, and generation throws if exclusions remove every available method.', examples: ['patch, TRACE'], }, ], diff --git a/packages/core/js/domain/domain-faker-date-keyword-definitions.js b/packages/core/js/domain/domain-faker-date-keyword-definitions.js index f4d522c0..e79a1b69 100644 --- a/packages/core/js/domain/domain-faker-date-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-date-keyword-definitions.js @@ -102,7 +102,7 @@ const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ usageExamples: [ { functionCall: 'date.betweens(from=1577836800000, to=1609372800000)', - sampleReturnValue: ['2020-02-03T16:53:09.924Z', '2020-02-23T13:34:53.772Z', '2020-04-20T08:26:00.010Z'], + sampleReturnValue: ['2020-01-01T01:00:06.924Z', '2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], description: 'Shows date.betweens with only the required range boundaries.', }, { diff --git a/packages/core/js/domain/domain-faker-string-keyword-definitions.js b/packages/core/js/domain/domain-faker-string-keyword-definitions.js index 5f70181c..1bf5e6d8 100644 --- a/packages/core/js/domain/domain-faker-string-keyword-definitions.js +++ b/packages/core/js/domain/domain-faker-string-keyword-definitions.js @@ -202,7 +202,7 @@ const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ usageExamples: [ { functionCall: 'string.fromCharacters(characters="ABC123")', - sampleReturnValue: 'B', + sampleReturnValue: 'C', description: 'Shows string.fromCharacters with only the required characters argument.', }, { diff --git a/packages/core/src/tests/command-help/command-help-examples.test.js b/packages/core/src/tests/command-help/command-help-examples.test.js index 94c1ae2d..c4d6b42e 100644 --- a/packages/core/src/tests/command-help/command-help-examples.test.js +++ b/packages/core/src/tests/command-help/command-help-examples.test.js @@ -68,7 +68,9 @@ describe('command help usage examples', () => { return false; } - const namedArgs = (parsed.arguments || []).filter((argument) => argument.kind === 'named').map((arg) => arg.name); + const namedArgs = (parsed.arguments || []) + .filter((argument) => argument.kind === 'named') + .map((arg) => arg.name); const providedArgNames = new Set(namedArgs); if ((parsed.arguments || []).length !== requiredParams.length) { diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js index a1912e18..6308eb06 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-doc-generator-output.test.js @@ -26,10 +26,105 @@ describe('domain docs generator output', () => { const locationDoc = fs.readFileSync(path.join(docsDir, locationDocName), 'utf8'); - expect(locationDoc).toMatch(/- `\{"name":"[^"]+","alpha2":"[a-z]{2}","alpha3":"[a-z]{3}"\}`/); + expect(locationDoc).toMatch(/Returns: `\{"name":"[^"]+","alpha2":"[a-z]{2}","alpha3":"[a-z]{3}"\}`/); expect(locationDoc).not.toContain('{"name":'); } finally { fs.rmSync(docsDir, { recursive: true, force: true }); } }); + + test('renders each structured usage example with description, code, and return value together', () => { + const docsDir = fs.mkdtempSync(path.join(os.tmpdir(), 'anywaydata-domain-docs-')); + try { + execSync('node scripts/generate-domain-docs.mjs', { + cwd: repoRoot, + stdio: 'pipe', + encoding: 'utf8', + env: { + ...process.env, + ANYWAYDATA_DOMAIN_DOCS_OUT_DIR: docsDir, + }, + }); + + const literalDocName = fs.readdirSync(docsDir).find((name) => /-literal\.md$/.test(name)); + expect(literalDocName).toBeDefined(); + + const literalDoc = fs.readFileSync(path.join(docsDir, literalDocName), 'utf8'); + const literalSection = literalDoc.split('### `literal.value`')[1]; + expect(literalSection).toBeDefined(); + + expect(literalSection).toContain('Examples:'); + expect(literalSection).toContain('Shows literal.value in use.'); + expect(literalSection).toContain('```txt\nliteral.value(value="Pending")\n```'); + expect(literalSection).toContain('Returns: `Pending`'); + expect(literalSection).not.toContain('Example return values:'); + expect(literalSection).not.toContain('Type-in examples (named params):'); + expect(literalSection.indexOf('Shows literal.value in use.')).toBeLessThan( + literalSection.indexOf('```txt\nliteral.value(value="Pending")\n```') + ); + expect(literalSection.indexOf('```txt\nliteral.value(value="Pending")\n```')).toBeLessThan( + literalSection.indexOf('Returns: `Pending`') + ); + } finally { + fs.rmSync(docsDir, { recursive: true, force: true }); + } + }); + + test('omits self-referential anywaydata docs links while keeping faker docs links', () => { + const docsDir = fs.mkdtempSync(path.join(os.tmpdir(), 'anywaydata-domain-docs-')); + try { + execSync('node scripts/generate-domain-docs.mjs', { + cwd: repoRoot, + stdio: 'pipe', + encoding: 'utf8', + env: { + ...process.env, + ANYWAYDATA_DOMAIN_DOCS_OUT_DIR: docsDir, + }, + }); + + const phoneDocName = fs.readdirSync(docsDir).find((name) => /-phone\.md$/.test(name)); + expect(phoneDocName).toBeDefined(); + + const phoneDoc = fs.readFileSync(path.join(docsDir, phoneDocName), 'utf8'); + + expect(phoneDoc).not.toContain('- Docs: [https://anywaydata.com/docs/'); + expect(phoneDoc).toContain('- Faker docs: [https://fakerjs.dev/api/phone]'); + } finally { + fs.rmSync(docsDir, { recursive: true, force: true }); + } + }); + + test('documents internet.httpMethod as a custom AnywayData implementation with no per-method faker link', () => { + const docsDir = fs.mkdtempSync(path.join(os.tmpdir(), 'anywaydata-domain-docs-')); + try { + execSync('node scripts/generate-domain-docs.mjs', { + cwd: repoRoot, + stdio: 'pipe', + encoding: 'utf8', + env: { + ...process.env, + ANYWAYDATA_DOMAIN_DOCS_OUT_DIR: docsDir, + }, + }); + + const internetDocName = fs.readdirSync(docsDir).find((name) => /-internet\.md$/.test(name)); + expect(internetDocName).toBeDefined(); + + const internetDoc = fs.readFileSync(path.join(docsDir, internetDocName), 'utf8'); + const httpMethodSection = internetDoc + .split('### `internet.httpMethod`')[1] + ?.split('### `internet.httpStatusCode`')[0]; + expect(httpMethodSection).toBeDefined(); + + expect(internetDoc).toContain( + 'The `internet` domain mostly maps domain keywords to faker-backed generators, but `internet.httpMethod` is implemented directly by AnywayData.' + ); + expect(httpMethodSection).toContain('Returns a random HTTP request method from an AnywayData-defined pool'); + expect(httpMethodSection).toContain('generation throws if exclusions remove every available method.'); + expect(httpMethodSection).not.toContain('- Faker docs:'); + } finally { + fs.rmSync(docsDir, { recursive: true, force: true }); + } + }); }); diff --git a/scripts/generate-domain-docs.mjs b/scripts/generate-domain-docs.mjs index 9dcdb086..6bbf2869 100644 --- a/scripts/generate-domain-docs.mjs +++ b/scripts/generate-domain-docs.mjs @@ -1,8 +1,6 @@ import fs from 'node:fs'; import path from 'node:path'; import { DOMAIN_KEYWORDS } from '../packages/core/js/domain/domain-keywords.js'; -import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../packages/core/js/domain/domain-keywords.js'; import { toInlineCode } from '../packages/core/js/domain/domain-doc-markdown.js'; const configuredOutDir = process.env.ANYWAYDATA_DOMAIN_DOCS_OUT_DIR; @@ -106,28 +104,12 @@ for (const d of domains) { } fs.writeFileSync(path.join(outDir, '000-domain-test-data.md'), indexLines.join('\n')); -const invocationOverrides = { - 'date.between': { invocation: 'date.between(0, 2000000000000)', args: [0, 2000000000000] }, - 'date.betweens': { invocation: 'date.betweens(2, 0, 2000000000000)', args: [2, 0, 2000000000000] }, -}; -const nonDeterministicExamples = new Set(['helpers.maybe']); const domainIntroOverrides = { autoIncrement: 'The `autoIncrement` domain provides stateful sequence helpers for accepted generated rows.', + internet: + 'The `internet` domain mostly maps domain keywords to faker-backed generators, but `internet.httpMethod` is implemented directly by AnywayData.', literal: 'The `literal` domain returns caller-provided values directly and does not invoke faker.', }; -const PRIMITIVE_TYPE_TOKENS = new Set([ - 'string', - 'number', - 'integer', - 'boolean', - 'array', - 'object', - 'date', - 'regexp', - 'unknown', - 'bigint', - 'comma-separated list', -]); function escapeMdxText(value) { return String(value ?? '') @@ -142,173 +124,22 @@ function escapeMarkdownTableCell(value) { return escapeMdxText(normalized.replaceAll('\n', '
')).replaceAll('|', '\\|'); } -function canExecuteInvocation(keyword, args) { - try { - executeDomainKeyword(keyword, { - faker, - args, - customDelegates: { - 'literal.value': (context) => context.args?.[0] ?? '', - }, - }); - return true; - } catch { - return false; - } -} - -function getDefinitionReturnValues(entry) { +function getDefinitionUsageExamples(entry) { return (Array.isArray(entry?.help?.usageExamples) ? entry.help.usageExamples : []) - .filter((usageExample) => Object.prototype.hasOwnProperty.call(usageExample || {}, 'sampleReturnValue')) - .map((usageExample) => usageExample.sampleReturnValue) - .filter((value) => typeof value !== 'undefined'); -} - -function toNamedInvocation(keyword, argSpecs, typedArgs) { - if (!Array.isArray(argSpecs) || argSpecs.length === 0) { - return ''; - } - const pairs = []; - for (let index = 0; index < argSpecs.length; index += 1) { - const spec = argSpecs[index]; - const name = String(spec?.name || '').trim(); - if (!name) { - return ''; - } - const value = typedArgs[index]; - const rendered = - typeof value === 'string' - ? `"${value}"` - : Array.isArray(value) || (value && typeof value === 'object') - ? JSON.stringify(value) - : String(value); - pairs.push(`${name}=${rendered}`); - } - return `${keyword}(${pairs.join(', ')})`; -} - -function renderInvocation(keyword, typedArgs) { - if (!Array.isArray(typedArgs) || typedArgs.length === 0) { - return `${keyword}()`; - } - const renderedArgs = typedArgs.map((value) => { - if (typeof value === 'string') { - return `"${value}"`; - } - if (Array.isArray(value)) { - return JSON.stringify(value); - } - if (value && typeof value === 'object') { - return JSON.stringify(value); - } - return String(value); - }); - return `${keyword}(${renderedArgs.join(', ')})`; -} - -function parseLiteralTypeToken(token) { - const trimmed = String(token || '').trim(); - if (!trimmed) { - return undefined; - } - if ((trimmed.startsWith('"') && trimmed.endsWith('"')) || (trimmed.startsWith("'") && trimmed.endsWith("'"))) { - return trimmed.slice(1, -1); - } - if (/^[+-]?\d+(\.\d+)?$/.test(trimmed)) { - return Number(trimmed); - } - return trimmed; -} + .map((usageExample) => { + const functionCall = String(usageExample?.functionCall || '').trim(); + if (!functionCall) { + return null; + } -function getLiteralUnionValues(typeName) { - const typeTokens = String(typeName || '') - .split('|') - .map((entry) => entry.trim()) + return { + functionCall, + description: String(usageExample?.description || '').trim(), + hasSampleReturnValue: Object.prototype.hasOwnProperty.call(usageExample || {}, 'sampleReturnValue'), + sampleReturnValue: usageExample?.sampleReturnValue, + }; + }) .filter(Boolean); - - if (typeTokens.length === 0) { - return []; - } - - const literalValues = []; - for (const typeToken of typeTokens) { - if (PRIMITIVE_TYPE_TOKENS.has(typeToken)) { - return []; - } - const literalValue = parseLiteralTypeToken(typeToken); - if (typeof literalValue === 'undefined') { - return []; - } - literalValues.push(literalValue); - } - - return literalValues; -} - -function choosePreferredLiteralUnionValue(values, name, keyword) { - if (!Array.isArray(values) || values.length === 0) { - return undefined; - } - - if (name === 'strategy' && values.includes('any-length')) return 'any-length'; - if (name === 'aircraftType' && values.includes('widebody')) return 'widebody'; - if (name === 'protocol' && values.includes('https')) return 'https'; - if (name === 'network' && keyword === 'internet.ipv4' && values.includes('private-a')) return 'private-a'; - if (name === 'network' && keyword === 'finance.bitcoinAddress' && values.includes('testnet')) return 'testnet'; - if (name === 'format' && values.includes('css')) return 'css'; - if (name === 'casing' && values.includes('upper')) return 'upper'; - - return values[0]; -} - -function sampleValueForArg(argSpec, keyword = '') { - const name = String(argSpec?.name || '').trim(); - const typeName = String(argSpec?.type || '').trim(); - const examples = Array.isArray(argSpec?.examples) ? argSpec.examples.filter((value) => value !== undefined) : []; - if (examples.length > 0) { - return examples[0]; - } - - const literalUnionValues = getLiteralUnionValues(typeName); - if (literalUnionValues.length > 0) { - return choosePreferredLiteralUnionValue(literalUnionValues, name, keyword); - } - - if (name === 'firstName') return 'Alex'; - if (name === 'lastName') return 'Taylor'; - if (name === 'provider') return 'example.com'; - if (name === 'aircraftType') return 'narrowbody'; - if (name === 'countryCode') return 'GB'; - if (name === 'cidrBlock') return '192.168.0.0/24'; - if (name === 'prefix') return '#'; - if (name === 'separator') return '-'; - if (name === 'characters') return 'ABC123'; - if (name === 'pattern') return '[A-Za-z0-9]'; - if (name === 'version') return 4; - if (name === 'mode') return 'age'; - if (name === 'sex') return 'male'; - if (name === 'mimeType') return 'image/png'; - if (name === 'extension') return 'txt'; - if (name === 'symbol') return '$'; - if (name === 'types') return ['food', 'nature']; - if (name === 'list') return ['alpha', 'beta', 'gamma']; - if (name === 'header') return { alg: 'HS256', typ: 'JWT' }; - if (name === 'payload') return { iss: 'Acme' }; - if (name === 'style') return 'human'; - if (name === 'context') return false; - if (name === 'abbreviated') return false; - if (name === 'memorable') return false; - - const first = - typeName - .split('|') - .map((s) => s.trim()) - .find(Boolean) || 'string'; - if (first === 'number') return 1; - if (first === 'boolean') return true; - if (first === 'array') return ['item']; - if (first === 'object') return { key: 'value' }; - return 'value'; } let pageIndex = 20; @@ -345,36 +176,14 @@ for (const domain of domains) { for (const entry of keywords) { const args = entry.help.args || []; - const override = invocationOverrides[entry.keyword]; - const requiredArgSpecs = args.filter((a) => a.required); - const typedRequiredArgs = requiredArgSpecs.map((a) => { - return sampleValueForArg(a, entry.keyword); - }); - const sampledArgs = args.map((arg) => sampleValueForArg(arg, entry.keyword)); - let executableExampleArgs = override ? override.args : typedRequiredArgs; - if (!canExecuteInvocation(entry.keyword, executableExampleArgs)) { - if (canExecuteInvocation(entry.keyword, sampledArgs)) { - executableExampleArgs = sampledArgs; - } else { - for (let length = 1; length <= sampledArgs.length; length += 1) { - const trialArgs = sampledArgs.slice(0, length); - if (canExecuteInvocation(entry.keyword, trialArgs)) { - executableExampleArgs = trialArgs; - break; - } - } - } + const definitionUsageExamples = getDefinitionUsageExamples(entry); + if (definitionUsageExamples.length === 0) { + throw new Error(`Missing usageExamples for ${entry.keyword}. Domain docs are generated from curated examples.`); } - const hasExecutableExample = - !nonDeterministicExamples.has(entry.keyword) && canExecuteInvocation(entry.keyword, executableExampleArgs); - lines.push(`### \`${entry.keyword}\``, ''); lines.push(escapeMdxText(entry.help.summary || 'No summary provided.'), ''); lines.push(`- Canonical: \`${entry.canonical}\``); - if (entry.help.docsUrl) { - lines.push(`- Docs: [${entry.help.docsUrl}](${entry.help.docsUrl})`); - } if (entry.help.fakerDocsUrl) { lines.push(`- Faker docs: [${entry.help.fakerDocsUrl}](${entry.help.fakerDocsUrl})`); } @@ -393,89 +202,17 @@ for (const domain of domains) { lines.push('No parameters.', ''); } - if (hasExecutableExample) { - const definitionExamples = (Array.isArray(entry.help.usageExamples) ? entry.help.usageExamples : []) - .map((usageExample) => String(usageExample?.functionCall || '').trim()) - .filter(Boolean); - let namedInvocation = ''; - const allArgsValues = sampledArgs; - if (args.length > 0 && canExecuteInvocation(entry.keyword, allArgsValues)) { - namedInvocation = toNamedInvocation(entry.keyword, args, allArgsValues); - } else if (requiredArgSpecs.length > 0) { - namedInvocation = toNamedInvocation( - entry.keyword, - requiredArgSpecs, - override ? override.args : typedRequiredArgs - ); + lines.push('Examples:'); + for (const usageExample of definitionUsageExamples) { + if (usageExample.description) { + lines.push('', escapeMdxText(usageExample.description)); } - const invocation = override ? override.invocation : renderInvocation(entry.keyword, executableExampleArgs); - const primaryExamples = - definitionExamples.length > 0 ? definitionExamples : [invocation, namedInvocation].filter(Boolean); - lines.push('Examples:'); - for (const example of primaryExamples) { - lines.push('', '```txt', example, '```'); + lines.push('', '```txt', usageExample.functionCall, '```'); + if (usageExample.hasSampleReturnValue) { + lines.push('', `Returns: ${toInlineCode(usageExample.sampleReturnValue)}`); } - if (args.length > 0 && definitionExamples.length === 0) { - const typeInExamples = []; - const seenExamples = new Set(primaryExamples); - for (let index = 0; index < args.length; index += 1) { - const arg = args[index]; - const value = sampleValueForArg(arg, entry.keyword); - const typedArgs = args.map((entryArg, argIndex) => - argIndex === index ? value : sampleValueForArg(entryArg, entry.keyword) - ); - const fullNamed = toNamedInvocation(entry.keyword, args, typedArgs); - if (fullNamed && canExecuteInvocation(entry.keyword, typedArgs)) { - if (!seenExamples.has(fullNamed)) { - typeInExamples.push(fullNamed); - seenExamples.add(fullNamed); - } - continue; - } - - const singleNamed = toNamedInvocation(entry.keyword, [arg], [value]); - if (singleNamed && canExecuteInvocation(entry.keyword, [value])) { - if (!seenExamples.has(singleNamed)) { - typeInExamples.push(singleNamed); - seenExamples.add(singleNamed); - } - continue; - } - - const positional = renderInvocation(entry.keyword, [value]); - if (canExecuteInvocation(entry.keyword, [value])) { - if (!seenExamples.has(positional)) { - typeInExamples.push(positional); - seenExamples.add(positional); - } - } - } - if (typeInExamples.length > 0) { - lines.push('', 'Type-in examples (named params):'); - for (const example of typeInExamples) { - lines.push('', '```txt', example, '```'); - } - } - } - const returnValues = getDefinitionReturnValues(entry); - if (returnValues.length > 0) { - lines.push('', 'Example return values:'); - for (const value of returnValues) { - lines.push(`- ${toInlineCode(value)}`); - } - } - lines.push(''); - } else { - lines.push( - 'Example:', - '', - 'Literal-only parser example is not currently available for this method.', - '', - 'Example return values:', - '- `Not available for this method with literal-only args.`', - '' - ); } + lines.push(''); } const file = `${String(pageIndex).padStart(3, '0')}-${domain}.md`; From 98d7bd9a2f0414274ebd6c2d9dc3e2f55cb72b14 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 13:19:18 +0100 Subject: [PATCH 08/16] Split keyword definitions and add helper implementation tests --- .../core/js/domain/auto-increment-sequence.js | 54 +- .../js/domain/auto-increment-timestamp.js | 196 +---- packages/core/js/domain/counterstring.js | 49 +- ...ustom-autoincrement-keyword-definitions.js | 210 ----- ...ain-custom-internet-keyword-definitions.js | 71 -- ...main-custom-literal-keyword-definitions.js | 50 -- ...omain-custom-string-keyword-definitions.js | 83 -- ...omain-faker-airline-keyword-definitions.js | 341 --------- ...domain-faker-animal-keyword-definitions.js | 358 --------- .../domain-faker-book-keyword-definitions.js | 138 ---- .../domain-faker-color-keyword-definitions.js | 415 ---------- ...main-faker-commerce-keyword-definitions.js | 297 -------- ...omain-faker-company-keyword-definitions.js | 204 ----- ...main-faker-database-keyword-definitions.js | 116 --- ...main-faker-datatype-keyword-definitions.js | 41 - .../domain-faker-date-keyword-definitions.js | 542 ------------- ...omain-faker-finance-keyword-definitions.js | 634 --------------- .../domain-faker-food-keyword-definitions.js | 204 ----- .../domain-faker-git-keyword-definitions.js | 121 --- ...domain-faker-hacker-keyword-definitions.js | 138 ---- .../domain-faker-image-keyword-definitions.js | 163 ---- ...main-faker-internet-keyword-definitions.js | 720 ------------------ ...main-faker-location-keyword-definitions.js | 563 -------------- .../domain-faker-lorem-keyword-definitions.js | 711 ----------------- .../domain-faker-music-keyword-definitions.js | 94 --- ...domain-faker-number-keyword-definitions.js | 372 --------- ...domain-faker-person-keyword-definitions.js | 387 ---------- .../domain-faker-phone-keyword-definitions.js | 67 -- ...omain-faker-science-keyword-definitions.js | 130 ---- ...domain-faker-string-keyword-definitions.js | 588 -------------- ...domain-faker-system-keyword-definitions.js | 324 -------- ...omain-faker-vehicle-keyword-definitions.js | 204 ----- .../domain-faker-word-keyword-definitions.js | 519 ------------- .../js/domain/domain-keyword-definitions.js | 116 ++- packages/core/js/domain/domain-keywords.js | 8 +- .../core/js/domain/internet-http-method.js | 56 +- .../faker/faker-helper-keyword-definitions.js | 497 +----------- .../aircraft-type-keyword-definition.js | 32 + .../airline-iata-code-keyword-definition.js | 27 + .../airline/airline-keyword-definition.js | 29 + .../airline/airline-keyword-definitions.js | 31 + .../airline-name-keyword-definition.js | 27 + ...plane-iata-type-code-keyword-definition.js | 27 + .../airline/airplane-keyword-definition.js | 29 + .../airplane-name-keyword-definition.js | 27 + .../airport-iata-code-keyword-definition.js | 27 + .../airline/airport-keyword-definition.js | 29 + .../airport-name-keyword-definition.js | 27 + .../flight-number-keyword-definition.js | 27 + .../record-locator-keyword-definition.js | 26 + .../domain/airline/seat-keyword-definition.js | 49 ++ .../animal/animal-keyword-definitions.js | 37 + .../domain/animal/bear-keyword-definition.js | 26 + .../domain/animal/bird-keyword-definition.js | 26 + .../domain/animal/cat-keyword-definition.js | 26 + .../animal/cetacean-keyword-definition.js | 26 + .../domain/animal/cow-keyword-definition.js | 26 + .../animal/crocodilia-keyword-definition.js | 26 + .../domain/animal/dog-keyword-definition.js | 26 + .../domain/animal/fish-keyword-definition.js | 26 + .../domain/animal/horse-keyword-definition.js | 26 + .../animal/insect-keyword-definition.js | 26 + .../domain/animal/lion-keyword-definition.js | 26 + .../animal/pet-name-keyword-definition.js | 26 + .../animal/rabbit-keyword-definition.js | 26 + .../animal/rodent-keyword-definition.js | 26 + .../domain/animal/snake-keyword-definition.js | 26 + .../domain/animal/type-keyword-definition.js | 26 + .../autoincrement/auto-increment-sequence.js | 53 ++ .../autoincrement/auto-increment-timestamp.js | 195 +++++ .../autoincrement-keyword-definitions.js | 9 + .../sequence-keyword-definition.js | 99 +++ .../timestamp-keyword-definition.js | 113 +++ .../domain/book/author-keyword-definition.js | 26 + .../domain/book/book-keyword-definitions.js | 17 + .../domain/book/format-keyword-definition.js | 26 + .../domain/book/genre-keyword-definition.js | 26 + .../book/publisher-keyword-definition.js | 26 + .../domain/book/series-keyword-definition.js | 26 + .../domain/book/title-keyword-definition.js | 26 + .../domain/color/cmyk-keyword-definition.js | 41 + ...or-by-csscolor-space-keyword-definition.js | 54 ++ .../domain/color/color-keyword-definitions.js | 27 + ...s-supported-function-keyword-definition.js | 30 + .../css-supported-space-keyword-definition.js | 30 + .../domain/color/hsl-keyword-definition.js | 57 ++ .../domain/color/human-keyword-definition.js | 26 + .../domain/color/hwb-keyword-definition.js | 41 + .../domain/color/lab-keyword-definition.js | 41 + .../domain/color/lch-keyword-definition.js | 41 + .../domain/color/rgb-keyword-definition.js | 80 ++ .../domain/color/space-keyword-definition.js | 26 + .../commerce/commerce-keyword-definitions.js | 23 + .../commerce/department-keyword-definition.js | 26 + .../commerce/isbn-keyword-definition.js | 50 ++ .../commerce/price-keyword-definition.js | 81 ++ .../product-adjective-keyword-definition.js | 26 + .../product-description-keyword-definition.js | 26 + .../commerce/product-keyword-definition.js | 26 + .../product-material-keyword-definition.js | 26 + .../product-name-keyword-definition.js | 26 + .../domain/commerce/upc-keyword-definition.js | 40 + .../buzz-adjective-keyword-definition.js | 26 + .../company/buzz-noun-keyword-definition.js | 26 + .../company/buzz-phrase-keyword-definition.js | 26 + .../company/buzz-verb-keyword-definition.js | 26 + ...tch-phrase-adjective-keyword-definition.js | 26 + ...ch-phrase-descriptor-keyword-definition.js | 26 + .../catch-phrase-keyword-definition.js | 26 + .../catch-phrase-noun-keyword-definition.js | 26 + .../company/company-keyword-definitions.js | 23 + .../domain/company/name-keyword-definition.js | 26 + .../database/collation-keyword-definition.js | 26 + .../database/column-keyword-definition.js | 26 + .../database/database-keyword-definitions.js | 15 + .../database/engine-keyword-definition.js | 26 + .../mongodb-object-id-keyword-definition.js | 26 + .../database/type-keyword-definition.js | 26 + .../datatype/boolean-keyword-definition.js | 39 + .../datatype/datatype-keyword-definitions.js | 5 + .../domain/date/anytime-keyword-definition.js | 40 + .../domain/date/between-keyword-definition.js | 47 ++ .../date/betweens-keyword-definition.js | 70 ++ .../date/birthdate-keyword-definition.js | 82 ++ .../domain/date/date-keyword-definitions.js | 27 + .../domain/date/future-keyword-definition.js | 52 ++ .../domain/date/month-keyword-definition.js | 51 ++ .../domain/date/past-keyword-definition.js | 52 ++ .../domain/date/recent-keyword-definition.js | 52 ++ .../domain/date/soon-keyword-definition.js | 52 ++ .../date/time-zone-keyword-definition.js | 26 + .../domain/date/weekday-keyword-definition.js | 51 ++ .../account-name-keyword-definition.js | 26 + .../account-number-keyword-definition.js | 38 + .../finance/amount-keyword-definition.js | 88 +++ .../domain/finance/bic-keyword-definition.js | 39 + .../bitcoin-address-keyword-definition.js | 56 ++ .../credit-card-cvv-keyword-definition.js | 26 + .../credit-card-issuer-keyword-definition.js | 26 + .../credit-card-number-keyword-definition.js | 38 + .../currency-code-keyword-definition.js | 26 + .../finance/currency-keyword-definition.js | 31 + .../currency-name-keyword-definition.js | 26 + ...urrency-numeric-code-keyword-definition.js | 26 + .../currency-symbol-keyword-definition.js | 26 + .../ethereum-address-keyword-definition.js | 26 + .../finance/finance-keyword-definitions.js | 45 ++ .../domain/finance/iban-keyword-definition.js | 53 ++ .../litecoin-address-keyword-definition.js | 26 + .../domain/finance/pin-keyword-definition.js | 38 + .../routing-number-keyword-definition.js | 26 + ...nsaction-description-keyword-definition.js | 27 + .../transaction-type-keyword-definition.js | 26 + .../food/adjective-keyword-definition.js | 26 + .../food/description-keyword-definition.js | 26 + .../domain/food/dish-keyword-definition.js | 26 + .../ethnic-category-keyword-definition.js | 26 + .../domain/food/food-keyword-definitions.js | 23 + .../domain/food/fruit-keyword-definition.js | 26 + .../food/ingredient-keyword-definition.js | 26 + .../domain/food/meat-keyword-definition.js | 26 + .../domain/food/spice-keyword-definition.js | 26 + .../food/vegetable-keyword-definition.js | 26 + .../domain/git/branch-keyword-definition.js | 26 + .../git/commit-date-keyword-definition.js | 26 + .../git/commit-entry-keyword-definition.js | 31 + .../git/commit-message-keyword-definition.js | 26 + .../git/commit-sha-keyword-definition.js | 26 + .../domain/git/git-keyword-definitions.js | 15 + .../hacker/abbreviation-keyword-definition.js | 26 + .../hacker/adjective-keyword-definition.js | 26 + .../hacker/hacker-keyword-definitions.js | 17 + .../hacker/ingverb-keyword-definition.js | 26 + .../domain/hacker/noun-keyword-definition.js | 26 + .../hacker/phrase-keyword-definition.js | 26 + .../domain/hacker/verb-keyword-definition.js | 26 + .../avatar-git-hub-keyword-definition.js | 26 + .../domain/image/avatar-keyword-definition.js | 26 + .../image/data-uri-keyword-definition.js | 27 + .../domain/image/image-keyword-definitions.js | 17 + .../person-portrait-keyword-definition.js | 26 + .../domain/image/url-keyword-definition.js | 50 ++ .../url-picsum-photos-keyword-definition.js | 26 + .../display-name-keyword-definition.js | 26 + .../domain-name-keyword-definition.js | 26 + .../domain-suffix-keyword-definition.js | 26 + .../domain-word-keyword-definition.js | 26 + .../internet/email-keyword-definition.js | 72 ++ .../internet/emoji-keyword-definition.js | 40 + .../example-email-keyword-definition.js | 26 + .../http-method-keyword-definition.js | 69 ++ .../http-status-code-keyword-definition.js | 26 + .../domain/internet/internet-http-method.js | 55 ++ .../internet/internet-keyword-definitions.js | 47 ++ .../domain/internet/ip-keyword-definition.js | 26 + .../internet/ipv4-keyword-definition.js | 55 ++ .../internet/ipv6-keyword-definition.js | 26 + .../jwt-algorithm-keyword-definition.js | 30 + .../domain/internet/jwt-keyword-definition.js | 65 ++ .../domain/internet/mac-keyword-definition.js | 41 + .../internet/password-keyword-definition.js | 92 +++ .../internet/port-keyword-definition.js | 26 + .../internet/protocol-keyword-definition.js | 30 + .../domain/internet/url-keyword-definition.js | 52 ++ .../internet/user-agent-keyword-definition.js | 27 + .../internet/username-keyword-definition.js | 50 ++ .../literal/literal-keyword-definitions.js | 5 + .../literal/value-keyword-definition.js | 48 ++ .../building-number-keyword-definition.js | 26 + .../cardinal-direction-keyword-definition.js | 26 + .../location/city-keyword-definition.js | 26 + .../location/continent-keyword-definition.js | 26 + .../country-code-keyword-definition.js | 41 + .../location/country-keyword-definition.js | 26 + .../location/county-keyword-definition.js | 27 + .../location/direction-keyword-definition.js | 40 + .../location/language-keyword-definition.js | 30 + .../location/latitude-keyword-definition.js | 61 ++ .../location/location-keyword-definitions.js | 43 ++ .../location/longitude-keyword-definition.js | 61 ++ ...nearby-gpscoordinate-keyword-definition.js | 26 + .../ordinal-direction-keyword-definition.js | 26 + .../secondary-address-keyword-definition.js | 26 + .../location/state-keyword-definition.js | 41 + .../street-address-keyword-definition.js | 39 + .../location/street-keyword-definition.js | 26 + .../location/time-zone-keyword-definition.js | 26 + .../location/zip-code-keyword-definition.js | 26 + .../domain/lorem/lines-keyword-definition.js | 97 +++ .../domain/lorem/lorem-keyword-definitions.js | 23 + .../lorem/paragraph-keyword-definition.js | 87 +++ .../lorem/paragraphs-keyword-definition.js | 110 +++ .../lorem/sentence-keyword-definition.js | 82 ++ .../lorem/sentences-keyword-definition.js | 99 +++ .../domain/lorem/slug-keyword-definition.js | 82 ++ .../domain/lorem/text-keyword-definition.js | 27 + .../domain/lorem/word-keyword-definition.js | 75 ++ .../domain/lorem/words-keyword-definition.js | 82 ++ .../domain/music/album-keyword-definition.js | 26 + .../domain/music/artist-keyword-definition.js | 26 + .../domain/music/genre-keyword-definition.js | 26 + .../domain/music/music-keyword-definitions.js | 13 + .../music/song-name-keyword-definition.js | 26 + .../number/big-int-keyword-definition.js | 41 + .../number/binary-keyword-definition.js | 50 ++ .../domain/number/float-keyword-definition.js | 88 +++ .../domain/number/hex-keyword-definition.js | 50 ++ .../domain/number/int-keyword-definition.js | 61 ++ .../number/number-keyword-definitions.js | 19 + .../domain/number/octal-keyword-definition.js | 50 ++ .../roman-numeral-keyword-definition.js | 50 ++ .../domain/person/bio-keyword-definition.js | 26 + .../person/first-name-keyword-definition.js | 40 + .../person/full-name-keyword-definition.js | 26 + .../person/gender-keyword-definition.js | 26 + .../person/job-area-keyword-definition.js | 26 + .../job-descriptor-keyword-definition.js | 26 + .../person/job-title-keyword-definition.js | 26 + .../person/job-type-keyword-definition.js | 26 + .../person/last-name-keyword-definition.js | 40 + .../person/middle-name-keyword-definition.js | 40 + .../person/person-keyword-definitions.js | 35 + .../person/prefix-keyword-definition.js | 40 + .../domain/person/sex-keyword-definition.js | 26 + .../person/sex-type-keyword-definition.js | 30 + .../person/suffix-keyword-definition.js | 26 + .../person/zodiac-sign-keyword-definition.js | 26 + .../domain/phone/imei-keyword-definition.js | 26 + .../domain/phone/number-keyword-definition.js | 43 ++ .../domain/phone/phone-keyword-definitions.js | 6 + ...lement-atomic-number-keyword-definition.js | 27 + .../chemical-element-keyword-definition.js | 30 + ...hemical-element-name-keyword-definition.js | 27 + ...mical-element-symbol-keyword-definition.js | 27 + .../science/science-keyword-definitions.js | 15 + .../domain/science/unit-keyword-definition.js | 29 + .../domain/string/alpha-keyword-definition.js | 73 ++ .../string/alphanumeric-keyword-definition.js | 63 ++ .../string/binary-keyword-definition.js | 51 ++ .../counter-string-keyword-definition.js | 81 ++ .../keywords/domain/string/counterstring.js | 48 ++ .../from-characters-keyword-definition.js | 51 ++ .../string/hexadecimal-keyword-definition.js | 64 ++ .../string/nanoid-keyword-definition.js | 38 + .../string/numeric-keyword-definition.js | 61 ++ .../domain/string/octal-keyword-definition.js | 51 ++ .../string/sample-keyword-definition.js | 38 + .../string/string-keyword-definitions.js | 31 + .../string/symbol-keyword-definition.js | 39 + .../domain/string/ulid-keyword-definition.js | 40 + .../domain/string/uuid-keyword-definition.js | 52 ++ .../common-file-ext-keyword-definition.js | 26 + .../common-file-name-keyword-definition.js | 38 + .../common-file-type-keyword-definition.js | 26 + .../domain/system/cron-keyword-definition.js | 50 ++ .../directory-path-keyword-definition.js | 26 + .../system/file-ext-keyword-definition.js | 39 + .../system/file-name-keyword-definition.js | 26 + .../system/file-path-keyword-definition.js | 26 + .../system/file-type-keyword-definition.js | 26 + .../system/mime-type-keyword-definition.js | 26 + .../network-interface-keyword-definition.js | 26 + .../system/semver-keyword-definition.js | 26 + .../system/system-keyword-definitions.js | 29 + .../vehicle/bicycle-keyword-definition.js | 26 + .../vehicle/color-keyword-definition.js | 26 + .../domain/vehicle/fuel-keyword-definition.js | 26 + .../manufacturer-keyword-definition.js | 26 + .../vehicle/model-keyword-definition.js | 26 + .../domain/vehicle/type-keyword-definition.js | 26 + .../vehicle/vehicle-keyword-definition.js | 26 + .../vehicle/vehicle-keyword-definitions.js | 23 + .../domain/vehicle/vin-keyword-definition.js | 26 + .../domain/vehicle/vrm-keyword-definition.js | 26 + .../word/adjective-keyword-definition.js | 64 ++ .../domain/word/adverb-keyword-definition.js | 64 ++ .../word/conjunction-keyword-definition.js | 64 ++ .../word/interjection-keyword-definition.js | 64 ++ .../domain/word/noun-keyword-definition.js | 64 ++ .../word/preposition-keyword-definition.js | 64 ++ .../domain/word/sample-keyword-definition.js | 65 ++ .../domain/word/verb-keyword-definition.js | 64 ++ .../domain/word/word-keyword-definitions.js | 23 + .../domain/word/words-keyword-definition.js | 50 ++ .../array-element-keyword-definition.js | 25 + .../array-elements-keyword-definition.js | 41 + .../helpers/enum-value-keyword-definition.js | 25 + .../faker/helpers/fake-keyword-definition.js | 25 + .../from-reg-exp-keyword-definition.js | 25 + .../faker/helpers/maybe-keyword-definition.js | 36 + .../helpers/multiple-keyword-definition.js | 36 + .../helpers/mustache-keyword-definition.js | 31 + .../object-entry-keyword-definition.js | 25 + .../helpers/object-key-keyword-definition.js | 25 + .../object-value-keyword-definition.js | 25 + .../range-to-number-keyword-definition.js | 25 + ...-credit-card-symbols-keyword-definition.js | 41 + .../replace-symbols-keyword-definition.js | 30 + .../helpers/shuffle-keyword-definition.js | 25 + .../helpers/slugify-keyword-definition.js | 30 + .../unique-array-keyword-definition.js | 31 + ...ighted-array-element-keyword-definition.js | 25 + .../command-definition-usage-examples.test.js | 309 ++++---- .../domain/auto-increment-sequence.test.js | 69 ++ .../domain/auto-increment-timestamp.test.js | 85 +++ .../unit/domain/counterstring.test.js | 54 ++ ...domain-autoincrement-sequence-exec.test.js | 84 +- ...omain-autoincrement-timestamp-exec.test.js | 50 +- .../unit/domain/domain-internet-exec.test.js | 18 +- .../domain-string-counterstring-exec.test.js | 56 +- .../unit/domain/internet-http-method.test.js | 9 +- .../aircraft-type-keyword-definition.test.js | 3 + ...rline-iata-code-keyword-definition.test.js | 3 + .../airline-keyword-definition.test.js | 3 + .../airline-name-keyword-definition.test.js | 3 + ...-iata-type-code-keyword-definition.test.js | 3 + .../airplane-keyword-definition.test.js | 3 + .../airplane-name-keyword-definition.test.js | 3 + ...rport-iata-code-keyword-definition.test.js | 3 + .../airport-keyword-definition.test.js | 3 + .../airport-name-keyword-definition.test.js | 3 + .../flight-number-keyword-definition.test.js | 3 + .../record-locator-keyword-definition.test.js | 3 + .../airline/seat-keyword-definition.test.js | 3 + .../animal/bear-keyword-definition.test.js | 3 + .../animal/bird-keyword-definition.test.js | 3 + .../animal/cat-keyword-definition.test.js | 3 + .../cetacean-keyword-definition.test.js | 3 + .../animal/cow-keyword-definition.test.js | 3 + .../crocodilia-keyword-definition.test.js | 3 + .../animal/dog-keyword-definition.test.js | 3 + .../animal/fish-keyword-definition.test.js | 3 + .../animal/horse-keyword-definition.test.js | 3 + .../animal/insect-keyword-definition.test.js | 3 + .../animal/lion-keyword-definition.test.js | 3 + .../pet-name-keyword-definition.test.js | 3 + .../animal/rabbit-keyword-definition.test.js | 3 + .../animal/rodent-keyword-definition.test.js | 3 + .../animal/snake-keyword-definition.test.js | 3 + .../animal/type-keyword-definition.test.js | 3 + .../sequence-keyword-definition.test.js | 3 + .../timestamp-keyword-definition.test.js | 3 + .../book/author-keyword-definition.test.js | 3 + .../book/format-keyword-definition.test.js | 3 + .../book/genre-keyword-definition.test.js | 3 + .../book/publisher-keyword-definition.test.js | 3 + .../book/series-keyword-definition.test.js | 3 + .../book/title-keyword-definition.test.js | 3 + .../color/cmyk-keyword-definition.test.js | 3 + ...-csscolor-space-keyword-definition.test.js | 3 + ...ported-function-keyword-definition.test.js | 3 + ...supported-space-keyword-definition.test.js | 3 + .../color/hsl-keyword-definition.test.js | 3 + .../color/human-keyword-definition.test.js | 3 + .../color/hwb-keyword-definition.test.js | 3 + .../color/lab-keyword-definition.test.js | 3 + .../color/lch-keyword-definition.test.js | 3 + .../color/rgb-keyword-definition.test.js | 3 + .../color/space-keyword-definition.test.js | 3 + .../department-keyword-definition.test.js | 3 + .../commerce/isbn-keyword-definition.test.js | 3 + .../commerce/price-keyword-definition.test.js | 3 + ...oduct-adjective-keyword-definition.test.js | 3 + ...uct-description-keyword-definition.test.js | 3 + .../product-keyword-definition.test.js | 3 + ...roduct-material-keyword-definition.test.js | 3 + .../product-name-keyword-definition.test.js | 3 + .../commerce/upc-keyword-definition.test.js | 3 + .../buzz-adjective-keyword-definition.test.js | 3 + .../buzz-noun-keyword-definition.test.js | 3 + .../buzz-phrase-keyword-definition.test.js | 3 + .../buzz-verb-keyword-definition.test.js | 3 + ...hrase-adjective-keyword-definition.test.js | 3 + ...rase-descriptor-keyword-definition.test.js | 3 + .../catch-phrase-keyword-definition.test.js | 3 + ...tch-phrase-noun-keyword-definition.test.js | 3 + .../company/name-keyword-definition.test.js | 3 + .../collation-keyword-definition.test.js | 3 + .../column-keyword-definition.test.js | 3 + .../engine-keyword-definition.test.js | 3 + ...ngodb-object-id-keyword-definition.test.js | 3 + .../database/type-keyword-definition.test.js | 3 + .../boolean-keyword-definition.test.js | 3 + .../date/anytime-keyword-definition.test.js | 3 + .../date/between-keyword-definition.test.js | 3 + .../date/betweens-keyword-definition.test.js | 3 + .../date/birthdate-keyword-definition.test.js | 3 + .../date/future-keyword-definition.test.js | 3 + .../date/month-keyword-definition.test.js | 3 + .../date/past-keyword-definition.test.js | 3 + .../date/recent-keyword-definition.test.js | 3 + .../date/soon-keyword-definition.test.js | 3 + .../date/time-zone-keyword-definition.test.js | 3 + .../date/weekday-keyword-definition.test.js | 3 + .../define-domain-keyword-definition-tests.js | 66 ++ .../account-name-keyword-definition.test.js | 3 + .../account-number-keyword-definition.test.js | 3 + .../finance/amount-keyword-definition.test.js | 3 + .../finance/bic-keyword-definition.test.js | 3 + ...bitcoin-address-keyword-definition.test.js | 3 + ...credit-card-cvv-keyword-definition.test.js | 3 + ...dit-card-issuer-keyword-definition.test.js | 3 + ...dit-card-number-keyword-definition.test.js | 3 + .../currency-code-keyword-definition.test.js | 3 + .../currency-keyword-definition.test.js | 3 + .../currency-name-keyword-definition.test.js | 3 + ...cy-numeric-code-keyword-definition.test.js | 3 + ...currency-symbol-keyword-definition.test.js | 3 + ...thereum-address-keyword-definition.test.js | 3 + .../finance/iban-keyword-definition.test.js | 3 + ...itecoin-address-keyword-definition.test.js | 3 + .../finance/pin-keyword-definition.test.js | 3 + .../routing-number-keyword-definition.test.js | 3 + ...ion-description-keyword-definition.test.js | 3 + ...ransaction-type-keyword-definition.test.js | 3 + .../food/adjective-keyword-definition.test.js | 3 + .../description-keyword-definition.test.js | 3 + .../food/dish-keyword-definition.test.js | 3 + ...ethnic-category-keyword-definition.test.js | 3 + .../food/fruit-keyword-definition.test.js | 3 + .../ingredient-keyword-definition.test.js | 3 + .../food/meat-keyword-definition.test.js | 3 + .../food/spice-keyword-definition.test.js | 3 + .../food/vegetable-keyword-definition.test.js | 3 + .../git/branch-keyword-definition.test.js | 3 + .../commit-date-keyword-definition.test.js | 3 + .../commit-entry-keyword-definition.test.js | 3 + .../commit-message-keyword-definition.test.js | 3 + .../git/commit-sha-keyword-definition.test.js | 3 + .../abbreviation-keyword-definition.test.js | 3 + .../adjective-keyword-definition.test.js | 3 + .../hacker/ingverb-keyword-definition.test.js | 3 + .../hacker/noun-keyword-definition.test.js | 3 + .../hacker/phrase-keyword-definition.test.js | 3 + .../hacker/verb-keyword-definition.test.js | 3 + .../avatar-git-hub-keyword-definition.test.js | 3 + .../image/avatar-keyword-definition.test.js | 3 + .../image/data-uri-keyword-definition.test.js | 3 + ...person-portrait-keyword-definition.test.js | 3 + .../image/url-keyword-definition.test.js | 3 + ...l-picsum-photos-keyword-definition.test.js | 3 + .../display-name-keyword-definition.test.js | 3 + .../domain-name-keyword-definition.test.js | 3 + .../domain-suffix-keyword-definition.test.js | 3 + .../domain-word-keyword-definition.test.js | 3 + .../internet/email-keyword-definition.test.js | 3 + .../internet/emoji-keyword-definition.test.js | 3 + .../example-email-keyword-definition.test.js | 3 + .../http-method-keyword-definition.test.js | 3 + ...ttp-status-code-keyword-definition.test.js | 3 + .../internet/ip-keyword-definition.test.js | 3 + .../internet/ipv4-keyword-definition.test.js | 3 + .../internet/ipv6-keyword-definition.test.js | 3 + .../jwt-algorithm-keyword-definition.test.js | 3 + .../internet/jwt-keyword-definition.test.js | 3 + .../internet/mac-keyword-definition.test.js | 3 + .../password-keyword-definition.test.js | 3 + .../internet/port-keyword-definition.test.js | 3 + .../protocol-keyword-definition.test.js | 3 + .../internet/url-keyword-definition.test.js | 3 + .../user-agent-keyword-definition.test.js | 3 + .../username-keyword-definition.test.js | 3 + .../literal/value-keyword-definition.test.js | 3 + ...building-number-keyword-definition.test.js | 3 + ...dinal-direction-keyword-definition.test.js | 3 + .../location/city-keyword-definition.test.js | 3 + .../continent-keyword-definition.test.js | 3 + .../country-code-keyword-definition.test.js | 3 + .../country-keyword-definition.test.js | 3 + .../county-keyword-definition.test.js | 3 + .../direction-keyword-definition.test.js | 3 + .../language-keyword-definition.test.js | 3 + .../latitude-keyword-definition.test.js | 3 + .../longitude-keyword-definition.test.js | 3 + ...y-gpscoordinate-keyword-definition.test.js | 3 + ...dinal-direction-keyword-definition.test.js | 3 + ...condary-address-keyword-definition.test.js | 3 + .../location/state-keyword-definition.test.js | 3 + .../street-address-keyword-definition.test.js | 3 + .../street-keyword-definition.test.js | 3 + .../time-zone-keyword-definition.test.js | 3 + .../zip-code-keyword-definition.test.js | 3 + .../lorem/lines-keyword-definition.test.js | 3 + .../paragraph-keyword-definition.test.js | 3 + .../paragraphs-keyword-definition.test.js | 3 + .../lorem/sentence-keyword-definition.test.js | 3 + .../sentences-keyword-definition.test.js | 3 + .../lorem/slug-keyword-definition.test.js | 3 + .../lorem/text-keyword-definition.test.js | 3 + .../lorem/word-keyword-definition.test.js | 3 + .../lorem/words-keyword-definition.test.js | 3 + .../music/album-keyword-definition.test.js | 3 + .../music/artist-keyword-definition.test.js | 3 + .../music/genre-keyword-definition.test.js | 3 + .../song-name-keyword-definition.test.js | 3 + .../number/big-int-keyword-definition.test.js | 3 + .../number/binary-keyword-definition.test.js | 3 + .../number/float-keyword-definition.test.js | 3 + .../number/hex-keyword-definition.test.js | 3 + .../number/int-keyword-definition.test.js | 3 + .../number/octal-keyword-definition.test.js | 3 + .../roman-numeral-keyword-definition.test.js | 3 + .../person/bio-keyword-definition.test.js | 3 + .../first-name-keyword-definition.test.js | 3 + .../full-name-keyword-definition.test.js | 3 + .../person/gender-keyword-definition.test.js | 3 + .../job-area-keyword-definition.test.js | 3 + .../job-descriptor-keyword-definition.test.js | 3 + .../job-title-keyword-definition.test.js | 3 + .../job-type-keyword-definition.test.js | 3 + .../last-name-keyword-definition.test.js | 3 + .../middle-name-keyword-definition.test.js | 3 + .../person/prefix-keyword-definition.test.js | 3 + .../person/sex-keyword-definition.test.js | 3 + .../sex-type-keyword-definition.test.js | 3 + .../person/suffix-keyword-definition.test.js | 3 + .../zodiac-sign-keyword-definition.test.js | 3 + .../phone/imei-keyword-definition.test.js | 3 + .../phone/number-keyword-definition.test.js | 3 + ...t-atomic-number-keyword-definition.test.js | 3 + ...hemical-element-keyword-definition.test.js | 3 + ...al-element-name-keyword-definition.test.js | 3 + ...-element-symbol-keyword-definition.test.js | 3 + .../science/unit-keyword-definition.test.js | 3 + .../string/alpha-keyword-definition.test.js | 3 + .../alphanumeric-keyword-definition.test.js | 3 + .../string/binary-keyword-definition.test.js | 3 + .../counter-string-keyword-definition.test.js | 3 + ...from-characters-keyword-definition.test.js | 3 + .../hexadecimal-keyword-definition.test.js | 3 + .../string/nanoid-keyword-definition.test.js | 3 + .../string/numeric-keyword-definition.test.js | 3 + .../string/octal-keyword-definition.test.js | 3 + .../string/sample-keyword-definition.test.js | 3 + .../string/symbol-keyword-definition.test.js | 3 + .../string/ulid-keyword-definition.test.js | 3 + .../string/uuid-keyword-definition.test.js | 3 + ...common-file-ext-keyword-definition.test.js | 3 + ...ommon-file-name-keyword-definition.test.js | 3 + ...ommon-file-type-keyword-definition.test.js | 3 + .../system/cron-keyword-definition.test.js | 3 + .../directory-path-keyword-definition.test.js | 3 + .../file-ext-keyword-definition.test.js | 3 + .../file-name-keyword-definition.test.js | 3 + .../file-path-keyword-definition.test.js | 3 + .../file-type-keyword-definition.test.js | 3 + .../mime-type-keyword-definition.test.js | 3 + ...twork-interface-keyword-definition.test.js | 3 + .../system/semver-keyword-definition.test.js | 3 + .../bicycle-keyword-definition.test.js | 3 + .../vehicle/color-keyword-definition.test.js | 3 + .../vehicle/fuel-keyword-definition.test.js | 3 + .../manufacturer-keyword-definition.test.js | 3 + .../vehicle/model-keyword-definition.test.js | 3 + .../vehicle/type-keyword-definition.test.js | 3 + .../vehicle-keyword-definition.test.js | 3 + .../vehicle/vin-keyword-definition.test.js | 3 + .../vehicle/vrm-keyword-definition.test.js | 3 + .../word/adjective-keyword-definition.test.js | 3 + .../word/adverb-keyword-definition.test.js | 3 + .../conjunction-keyword-definition.test.js | 3 + .../interjection-keyword-definition.test.js | 3 + .../word/noun-keyword-definition.test.js | 3 + .../preposition-keyword-definition.test.js | 3 + .../word/sample-keyword-definition.test.js | 3 + .../word/verb-keyword-definition.test.js | 3 + .../word/words-keyword-definition.test.js | 3 + .../array-element-keyword-definition.test.js | 3 + .../array-elements-keyword-definition.test.js | 3 + ...e-faker-helper-keyword-definition-tests.js | 67 ++ .../enum-value-keyword-definition.test.js | 3 + .../helpers/fake-keyword-definition.test.js | 3 + .../from-reg-exp-keyword-definition.test.js | 3 + .../helpers/maybe-keyword-definition.test.js | 3 + .../multiple-keyword-definition.test.js | 3 + .../mustache-keyword-definition.test.js | 3 + .../object-entry-keyword-definition.test.js | 3 + .../object-key-keyword-definition.test.js | 3 + .../object-value-keyword-definition.test.js | 3 + ...range-to-number-keyword-definition.test.js | 3 + ...it-card-symbols-keyword-definition.test.js | 3 + ...replace-symbols-keyword-definition.test.js | 3 + .../shuffle-keyword-definition.test.js | 3 + .../slugify-keyword-definition.test.js | 3 + .../unique-array-keyword-definition.test.js | 3 + ...d-array-element-keyword-definition.test.js | 3 + .../keyword-definition-registries.test.js | 71 ++ 627 files changed, 12663 insertions(+), 10019 deletions(-) delete mode 100644 packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-custom-internet-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-custom-literal-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-custom-string-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-airline-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-animal-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-book-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-color-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-commerce-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-company-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-database-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-datatype-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-date-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-finance-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-food-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-git-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-hacker-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-image-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-internet-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-location-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-lorem-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-music-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-number-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-person-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-phone-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-science-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-string-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-system-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js delete mode 100644 packages/core/js/domain/domain-faker-word-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/airline/aircraft-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airline-iata-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airline-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airline-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/airline/airline-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airplane-iata-type-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airplane-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airplane-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airport-iata-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airport-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/airport-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/flight-number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/record-locator-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/airline/seat-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/animal-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/animal/bear-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/bird-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/cat-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/cetacean-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/cow-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/crocodilia-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/dog-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/fish-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/horse-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/insect-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/lion-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/pet-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/rabbit-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/rodent-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/snake-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/animal/type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/autoincrement/auto-increment-sequence.js create mode 100644 packages/core/js/keywords/domain/autoincrement/auto-increment-timestamp.js create mode 100644 packages/core/js/keywords/domain/autoincrement/autoincrement-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/autoincrement/sequence-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/autoincrement/timestamp-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/book/author-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/book/book-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/book/format-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/book/genre-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/book/publisher-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/book/series-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/book/title-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/cmyk-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/color-by-csscolor-space-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/color-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/color/css-supported-function-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/css-supported-space-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/hsl-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/human-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/hwb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/lab-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/lch-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/rgb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/color/space-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/commerce-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/commerce/department-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/isbn-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/price-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/product-adjective-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/product-description-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/product-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/product-material-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/product-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/commerce/upc-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/buzz-adjective-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/buzz-noun-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/buzz-phrase-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/buzz-verb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/catch-phrase-adjective-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/catch-phrase-descriptor-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/catch-phrase-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/catch-phrase-noun-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/company/company-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/company/name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/database/collation-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/database/column-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/database/database-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/database/engine-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/database/mongodb-object-id-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/database/type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/datatype/boolean-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/datatype/datatype-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/date/anytime-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/between-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/betweens-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/birthdate-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/date-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/date/future-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/month-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/past-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/recent-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/soon-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/time-zone-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/date/weekday-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/account-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/account-number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/amount-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/bic-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/bitcoin-address-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/credit-card-cvv-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/credit-card-issuer-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/credit-card-number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/currency-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/currency-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/currency-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/currency-numeric-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/currency-symbol-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/ethereum-address-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/finance-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/finance/iban-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/litecoin-address-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/pin-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/routing-number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/transaction-description-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/finance/transaction-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/adjective-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/description-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/dish-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/ethnic-category-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/food-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/food/fruit-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/ingredient-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/meat-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/spice-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/food/vegetable-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/git/branch-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/git/commit-date-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/git/commit-entry-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/git/commit-message-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/git/commit-sha-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/git/git-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/hacker/abbreviation-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/hacker/adjective-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/hacker/hacker-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/hacker/ingverb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/hacker/noun-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/hacker/phrase-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/hacker/verb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/image/avatar-git-hub-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/image/avatar-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/image/data-uri-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/image/image-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/image/person-portrait-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/image/url-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/image/url-picsum-photos-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/display-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/domain-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/domain-suffix-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/domain-word-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/email-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/emoji-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/example-email-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/http-method-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/http-status-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/internet-http-method.js create mode 100644 packages/core/js/keywords/domain/internet/internet-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/internet/ip-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/ipv4-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/ipv6-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/jwt-algorithm-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/jwt-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/mac-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/password-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/port-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/protocol-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/url-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/user-agent-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/internet/username-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/literal/literal-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/literal/value-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/building-number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/cardinal-direction-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/city-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/continent-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/country-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/country-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/county-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/direction-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/language-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/latitude-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/location-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/location/longitude-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/nearby-gpscoordinate-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/ordinal-direction-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/secondary-address-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/state-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/street-address-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/street-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/time-zone-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/location/zip-code-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/lines-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/lorem-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/lorem/paragraph-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/paragraphs-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/sentence-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/sentences-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/slug-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/text-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/word-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/lorem/words-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/music/album-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/music/artist-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/music/genre-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/music/music-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/music/song-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/big-int-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/binary-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/float-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/hex-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/int-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/number-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/number/octal-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/number/roman-numeral-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/bio-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/first-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/full-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/gender-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/job-area-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/job-descriptor-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/job-title-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/job-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/last-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/middle-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/person-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/person/prefix-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/sex-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/sex-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/suffix-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/person/zodiac-sign-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/phone/imei-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/phone/number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/phone/phone-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/science/chemical-element-atomic-number-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/science/chemical-element-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/science/chemical-element-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/science/chemical-element-symbol-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/science/science-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/science/unit-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/alpha-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/alphanumeric-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/binary-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/counter-string-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/counterstring.js create mode 100644 packages/core/js/keywords/domain/string/from-characters-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/hexadecimal-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/nanoid-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/numeric-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/octal-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/sample-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/string-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/string/symbol-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/ulid-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/string/uuid-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/common-file-ext-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/common-file-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/common-file-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/cron-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/directory-path-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/file-ext-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/file-name-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/file-path-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/file-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/mime-type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/network-interface-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/semver-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/system/system-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/vehicle/bicycle-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/color-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/fuel-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/manufacturer-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/model-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/type-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/vehicle-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/vehicle-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/vehicle/vin-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/vehicle/vrm-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/adjective-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/adverb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/conjunction-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/interjection-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/noun-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/preposition-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/sample-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/verb-keyword-definition.js create mode 100644 packages/core/js/keywords/domain/word/word-keyword-definitions.js create mode 100644 packages/core/js/keywords/domain/word/words-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/array-element-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/array-elements-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/enum-value-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/fake-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/from-reg-exp-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/maybe-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/multiple-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/mustache-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/object-entry-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/object-key-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/object-value-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/range-to-number-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/replace-symbols-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/shuffle-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/slugify-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/unique-array-keyword-definition.js create mode 100644 packages/core/js/keywords/faker/helpers/weighted-array-element-keyword-definition.js create mode 100644 packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js create mode 100644 packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js create mode 100644 packages/core/src/tests/data_generation/unit/domain/counterstring.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/aircraft-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airline-iata-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airline-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airline-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airplane-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airplane-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airport-iata-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airport-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/airport-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/flight-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/record-locator-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/airline/seat-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/bear-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/bird-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/cat-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/cetacean-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/cow-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/crocodilia-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/dog-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/fish-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/horse-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/insect-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/lion-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/pet-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/rabbit-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/rodent-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/snake-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/animal/type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/autoincrement/sequence-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/autoincrement/timestamp-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/book/author-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/book/format-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/book/genre-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/book/publisher-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/book/series-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/book/title-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/cmyk-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/css-supported-function-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/css-supported-space-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/hsl-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/human-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/hwb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/lab-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/lch-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/rgb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/color/space-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/department-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/isbn-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/price-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/product-adjective-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/product-description-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/product-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/product-material-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/product-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/commerce/upc-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/buzz-adjective-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/buzz-noun-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/buzz-phrase-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/buzz-verb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/catch-phrase-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/company/name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/database/collation-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/database/column-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/database/engine-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/database/mongodb-object-id-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/database/type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/datatype/boolean-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/anytime-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/between-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/betweens-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/birthdate-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/future-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/month-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/past-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/recent-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/soon-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/time-zone-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/date/weekday-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js create mode 100644 packages/core/src/tests/keywords/domain/finance/account-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/account-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/amount-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/bic-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/bitcoin-address-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/credit-card-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/currency-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/currency-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/currency-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/currency-symbol-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/ethereum-address-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/iban-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/litecoin-address-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/pin-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/routing-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/transaction-description-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/finance/transaction-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/adjective-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/description-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/dish-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/ethnic-category-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/fruit-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/ingredient-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/meat-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/spice-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/food/vegetable-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/git/branch-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/git/commit-date-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/git/commit-entry-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/git/commit-message-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/git/commit-sha-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/hacker/abbreviation-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/hacker/adjective-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/hacker/ingverb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/hacker/noun-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/hacker/phrase-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/hacker/verb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/image/avatar-git-hub-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/image/avatar-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/image/data-uri-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/image/person-portrait-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/image/url-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/image/url-picsum-photos-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/display-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/domain-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/domain-suffix-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/domain-word-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/email-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/emoji-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/example-email-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/http-method-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/http-status-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/ip-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/ipv4-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/ipv6-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/jwt-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/mac-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/password-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/port-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/protocol-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/url-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/user-agent-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/internet/username-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/literal/value-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/building-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/cardinal-direction-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/city-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/continent-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/country-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/country-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/county-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/direction-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/language-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/latitude-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/longitude-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/ordinal-direction-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/secondary-address-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/state-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/street-address-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/street-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/time-zone-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/location/zip-code-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/lines-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/paragraph-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/paragraphs-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/sentence-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/sentences-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/slug-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/text-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/word-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/lorem/words-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/music/album-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/music/artist-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/music/genre-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/music/song-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/big-int-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/binary-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/float-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/hex-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/int-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/octal-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/number/roman-numeral-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/bio-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/first-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/full-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/gender-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/job-area-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/job-descriptor-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/job-title-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/job-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/last-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/middle-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/prefix-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/sex-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/sex-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/suffix-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/person/zodiac-sign-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/phone/imei-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/phone/number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/science/chemical-element-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/science/chemical-element-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/science/unit-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/alpha-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/alphanumeric-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/binary-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/counter-string-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/from-characters-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/hexadecimal-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/nanoid-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/numeric-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/octal-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/sample-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/symbol-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/ulid-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/string/uuid-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/common-file-ext-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/common-file-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/common-file-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/cron-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/directory-path-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/file-ext-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/file-name-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/file-path-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/file-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/mime-type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/network-interface-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/system/semver-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/bicycle-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/color-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/fuel-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/manufacturer-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/model-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/type-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/vehicle-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/vin-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/vehicle/vrm-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/adjective-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/adverb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/conjunction-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/interjection-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/noun-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/preposition-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/sample-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/verb-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/domain/word/words-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/array-element-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/array-elements-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/enum-value-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/fake-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/maybe-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/multiple-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/mustache-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/object-entry-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/object-key-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/object-value-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/range-to-number-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/replace-symbols-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/shuffle-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/slugify-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/unique-array-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js create mode 100644 packages/core/src/tests/keywords/keyword-definition-registries.test.js diff --git a/packages/core/js/domain/auto-increment-sequence.js b/packages/core/js/domain/auto-increment-sequence.js index 94f48beb..cfb258d4 100644 --- a/packages/core/js/domain/auto-increment-sequence.js +++ b/packages/core/js/domain/auto-increment-sequence.js @@ -1,53 +1 @@ -function getIntegerArg(value, argName, defaultValue) { - if (typeof value === 'undefined') { - return defaultValue; - } - if (!Number.isInteger(value)) { - throw new Error(`Invalid argument for ${argName}: expected an integer.`); - } - return value; -} - -function getStringArg(value, defaultValue = '') { - if (typeof value === 'undefined') { - return defaultValue; - } - return String(value); -} - -function formatAutoIncrementValue(value, zeroPadding) { - const integerValue = Number(value); - const sign = integerValue < 0 ? '-' : ''; - const digits = Math.abs(integerValue).toString(); - return `${sign}${digits.padStart(Math.max(0, zeroPadding), '0')}`; -} - -function executeCustomAutoIncrementSequence(executionContext = {}) { - const args = Array.isArray(executionContext.args) ? executionContext.args : []; - const state = executionContext.autoIncrementState || {}; - - const start = getIntegerArg(args[0], 'start', 1); - const step = getIntegerArg(args[1], 'step', 1); - const prefix = getStringArg(args[2], ''); - const suffix = getStringArg(args[3], ''); - const zeroPadding = getIntegerArg(args[4], 'zeropadding', 0); - - if (step === 0) { - throw new Error('Invalid argument for step: expected a non-zero integer.'); - } - - if (zeroPadding < 0) { - throw new Error('Invalid argument for zeropadding: expected an integer greater than or equal to 0.'); - } - - const currentValue = Number.isInteger(state.nextValue) ? state.nextValue : start; - state.nextValue = currentValue + step; - - if (!prefix && !suffix && zeroPadding === 0) { - return currentValue; - } - - return `${prefix}${formatAutoIncrementValue(currentValue, zeroPadding)}${suffix}`; -} - -export { executeCustomAutoIncrementSequence, formatAutoIncrementValue }; +export * from '../keywords/domain/autoincrement/auto-increment-sequence.js'; diff --git a/packages/core/js/domain/auto-increment-timestamp.js b/packages/core/js/domain/auto-increment-timestamp.js index c62b9ca2..b69d7acf 100644 --- a/packages/core/js/domain/auto-increment-timestamp.js +++ b/packages/core/js/domain/auto-increment-timestamp.js @@ -1,195 +1 @@ -import { parseDate as parseNaturalDate } from 'chrono-node'; -import { - addDays, - addHours, - addMilliseconds, - addMinutes, - addMonths, - addSeconds, - addWeeks, - addYears, - isValid, - parse, - parseISO, -} from 'date-fns'; -import { formatInTimeZone } from 'date-fns-tz'; - -const DEFAULT_OUTPUT_FORMAT = 'iso8601'; -const DEFAULT_STEP_TYPE = 'seconds'; -const DEFAULT_STEP_VALUE = 1; -const ISO_OUTPUT_ALIASES = new Set(['iso', 'iso8601', 'iso-8601']); -const STEP_TYPE_NORMALISERS = Object.freeze({ - millisecond: 'milliseconds', - milliseconds: 'milliseconds', - second: 'seconds', - seconds: 'seconds', - minute: 'minutes', - minutes: 'minutes', - hour: 'hours', - hours: 'hours', - day: 'days', - days: 'days', - week: 'weeks', - weeks: 'weeks', - month: 'months', - months: 'months', - year: 'years', - years: 'years', -}); - -function cloneDate(value) { - return new Date(value.getTime()); -} - -function toUtcDatePreservingClock(dateValue) { - return new Date( - Date.UTC( - dateValue.getFullYear(), - dateValue.getMonth(), - dateValue.getDate(), - dateValue.getHours(), - dateValue.getMinutes(), - dateValue.getSeconds(), - dateValue.getMilliseconds() - ) - ); -} - -function isIsoLikeDateString(value) { - return /^\d{4}-\d{2}-\d{2}(?:[T\s].*)?$/.test(String(value || '').trim()); -} - -function ensureValidDate(dateValue, description) { - if (!isValid(dateValue)) { - throw new Error(`Invalid ${description}.`); - } - return dateValue; -} - -function normaliseStepType(stepType) { - const raw = String(stepType || DEFAULT_STEP_TYPE) - .trim() - .toLowerCase(); - const normalised = STEP_TYPE_NORMALISERS[raw]; - if (!normalised) { - throw new Error( - 'Invalid argument for type: expected milliseconds, seconds, minutes, hours, days, weeks, months, or years.' - ); - } - return normalised; -} - -function getNumericArg(value, argName) { - if (typeof value !== 'number' || !Number.isFinite(value)) { - throw new Error(`Invalid argument for ${argName}: expected a number.`); - } - return value; -} - -function resolveNow(executionContext = {}) { - if (executionContext.runStartedAt instanceof Date) { - return cloneDate(executionContext.runStartedAt); - } - if (typeof executionContext.nowProvider === 'function') { - const provided = executionContext.nowProvider(); - if (provided instanceof Date) { - return cloneDate(provided); - } - } - return new Date(); -} - -function resolveStartDate(startValue, inputFormat, fallbackNow) { - if (startValue instanceof Date) { - return ensureValidDate(cloneDate(startValue), 'start date'); - } - - if (typeof startValue === 'number') { - return ensureValidDate(new Date(startValue), 'start date'); - } - - if (typeof startValue === 'undefined') { - return cloneDate(fallbackNow); - } - - const startText = String(startValue || '').trim(); - if (!startText) { - return cloneDate(fallbackNow); - } - - if (typeof inputFormat === 'string' && inputFormat.trim().length > 0) { - const parsedWithFormat = ensureValidDate(parse(startText, inputFormat, fallbackNow), 'start date'); - return toUtcDatePreservingClock(parsedWithFormat); - } - - if (isIsoLikeDateString(startText)) { - return ensureValidDate(parseISO(startText), 'start date'); - } - - const naturalDate = parseNaturalDate(startText, fallbackNow, { forwardDate: false }); - if (naturalDate instanceof Date) { - return toUtcDatePreservingClock(ensureValidDate(naturalDate, 'start date')); - } - - return ensureValidDate(new Date(startText), 'start date'); -} - -function addStep(dateValue, amount, stepType) { - switch (stepType) { - case 'milliseconds': - return addMilliseconds(dateValue, amount); - case 'seconds': - return addSeconds(dateValue, amount); - case 'minutes': - return addMinutes(dateValue, amount); - case 'hours': - return addHours(dateValue, amount); - case 'days': - return addDays(dateValue, amount); - case 'weeks': - return addWeeks(dateValue, amount); - case 'months': - return addMonths(dateValue, amount); - case 'years': - return addYears(dateValue, amount); - default: - throw new Error(`Unsupported step type: ${stepType}`); - } -} - -function formatTimestamp(dateValue, outputFormat) { - const formatValue = String(outputFormat || DEFAULT_OUTPUT_FORMAT) - .trim() - .toLowerCase(); - if (!formatValue || ISO_OUTPUT_ALIASES.has(formatValue)) { - return dateValue.toISOString().replace(/\.\d{3}Z$/, 'Z'); - } - return formatInTimeZone(dateValue, 'UTC', outputFormat); -} - -function executeCustomAutoIncrementTimestamp(executionContext = {}) { - const args = Array.isArray(executionContext.args) ? executionContext.args : []; - const startArg = args[0]; - const stepArg = args[1]; - const typeArg = args[2]; - const outputFormatArg = args[3]; - const inputFormatArg = args[4]; - const state = executionContext.autoIncrementState || null; - const rowIndex = - Number.isInteger(executionContext.rowIndex) && executionContext.rowIndex >= 0 ? executionContext.rowIndex : 0; - const now = resolveNow(executionContext); - const startDate = resolveStartDate(startArg, inputFormatArg, now); - const stepValue = typeof stepArg === 'undefined' ? DEFAULT_STEP_VALUE : getNumericArg(stepArg, 'step'); - const stepType = normaliseStepType(typeArg); - - if (state && typeof state === 'object') { - const currentDate = state.nextDate instanceof Date ? cloneDate(state.nextDate) : startDate; - state.nextDate = addStep(cloneDate(currentDate), stepValue, stepType); - return formatTimestamp(currentDate, outputFormatArg); - } - - const offsetDate = rowIndex === 0 ? startDate : addStep(startDate, stepValue * rowIndex, stepType); - return formatTimestamp(offsetDate, outputFormatArg); -} - -export { executeCustomAutoIncrementTimestamp }; +export * from '../keywords/domain/autoincrement/auto-increment-timestamp.js'; diff --git a/packages/core/js/domain/counterstring.js b/packages/core/js/domain/counterstring.js index e94f1bda..a0490c0b 100644 --- a/packages/core/js/domain/counterstring.js +++ b/packages/core/js/domain/counterstring.js @@ -1,48 +1 @@ -function reverseString(reverseMe) { - return String(reverseMe).split('').reverse().join(''); -} - -function getCounterString(count, delimiter) { - let counter = Number(count); - let token = String(delimiter ?? '').trim(); - if (!token) { - token = '*'; - } - token = token[0]; - - let counterString = ''; - while (counter > 0) { - let appendThis = `${token}${reverseString(counter.toString())}`; - if (appendThis.length > counter) { - appendThis = appendThis.substring(0, counter); - } - counterString += appendThis; - counter -= appendThis.length; - } - return reverseString(counterString); -} - -function getIntegerArg(value, argName) { - if (!Number.isInteger(value)) { - throw new Error(`Invalid argument for ${argName}: expected an integer.`); - } - return value; -} - -function executeCustomCounterString(executionContext = {}) { - const args = Array.isArray(executionContext.args) ? executionContext.args : []; - const hasMin = typeof args[0] !== 'undefined'; - const hasMax = typeof args[1] !== 'undefined'; - - const minArg = hasMin ? getIntegerArg(args[0], 'min') : 1; - const maxArg = hasMax ? getIntegerArg(args[1], 'max') : hasMin ? minArg : 25; - - const lowest = Math.max(1, Math.min(minArg, maxArg)); - const highest = Math.max(1, Math.max(minArg, maxArg)); - const delimiter = typeof args[2] === 'undefined' ? '*' : args[2]; - - const length = lowest + Math.floor(Math.random() * (highest - lowest + 1)); - return getCounterString(length, delimiter); -} - -export { executeCustomCounterString }; +export * from '../keywords/domain/string/counterstring.js'; diff --git a/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js b/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js deleted file mode 100644 index 51e675dd..00000000 --- a/packages/core/js/domain/domain-custom-autoincrement-keyword-definitions.js +++ /dev/null @@ -1,210 +0,0 @@ -import { validateStringOrNumberValue, validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS = [ - { - keyword: 'autoIncrement.timestamp', - delegate: { - type: 'custom', - target: 'autoIncrement.timestamp', - }, - help: { - summary: - 'Generates a timestamp that starts from a fixed point and increments by the configured amount for each generated row.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/autoIncrement', - fakerDocsUrl: '', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=1, type="seconds")', - sampleReturnValue: '2026-06-12T12:39:23Z', - description: 'Shows autoIncrement.timestamp in use.', - }, - { - functionCall: 'autoIncrement.timestamp()', - sampleReturnValue: '2026-06-18T15:55:20Z', - description: 'Shows autoIncrement.timestamp in use.', - }, - { - functionCall: 'autoIncrement.timestamp(start="20/03/1969", step=1, type="days")', - sampleReturnValue: '1969-03-20T12:00:00Z', - description: 'Shows autoIncrement.timestamp in use.', - }, - { - functionCall: - 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss")', - sampleReturnValue: '2026-06-12 12:39:23', - description: 'Shows autoIncrement.timestamp using a custom output format.', - }, - { - functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days")', - sampleReturnValue: '1969-03-20T00:00:00Z', - description: 'Shows autoIncrement.timestamp in use.', - }, - { - functionCall: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z")', - sampleReturnValue: '2026-06-12T12:39:23Z', - description: 'Shows autoIncrement.timestamp using start.', - }, - { - functionCall: 'autoIncrement.timestamp(step=1)', - sampleReturnValue: '2026-06-18T15:55:20Z', - description: 'Shows autoIncrement.timestamp using step.', - }, - { - functionCall: 'autoIncrement.timestamp(type="seconds")', - sampleReturnValue: '2026-06-18T15:55:20Z', - description: 'Shows autoIncrement.timestamp using type.', - }, - { - functionCall: 'autoIncrement.timestamp(outputFormat="iso8601")', - sampleReturnValue: '2026-06-18T15:55:20Z', - description: 'Shows autoIncrement.timestamp using outputFormat.', - }, - { - functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy")', - sampleReturnValue: '1969-03-20T00:00:00Z', - description: 'Shows autoIncrement.timestamp using inputFormat.', - }, - ], - args: [ - { - name: 'start', - type: 'string|number', - required: false, - description: - 'Starting timestamp. Defaults to the generation run start time. Valid examples include "2026-06-12T12:39:23Z", "20/03/1969", "12-06-2026 12:39:23", or a Unix timestamp like 1718195963000.', - examples: ['2026-06-12T12:39:23Z', '20/03/1969', 1718195963000], - }, - { - name: 'step', - type: 'number', - required: false, - description: 'Amount added for each generated row. Defaults to 1.', - examples: [1, 15], - }, - { - name: 'type', - type: 'string', - required: false, - description: - 'Unit applied to step for each row. Supports milliseconds, seconds, minutes, hours, days, weeks, months, or years. Defaults to seconds.', - examples: ['seconds', 'days'], - }, - { - name: 'outputFormat', - type: 'string', - required: false, - description: - 'Output format. Defaults to ISO-8601 without milliseconds. Use "iso8601" for the default behaviour or a custom pattern such as "yyyy-MM-dd HH:mm:ss".', - examples: ['iso8601', "yyyy-MM-dd'T'HH:mm:ssXXX"], - }, - { - name: 'inputFormat', - type: 'string', - required: false, - description: - 'Optional parse pattern used only for the start argument when you want to match a specific text shape such as "dd/MM/yyyy" or "dd-MM-yyyy HH:mm:ss".', - examples: ['dd/MM/yyyy', 'yyyy-MM-dd HH:mm:ss'], - }, - ], - }, - }, - { - keyword: 'autoIncrement.sequence', - delegate: { - type: 'custom', - target: 'autoIncrement.sequence', - }, - help: { - summary: - 'Generates an incrementing sequence. Values only advance when a generated row is accepted, so constraint-filtered rows do not consume sequence numbers.', - docsUrl: 'https://anywaydata.com/docs/test-data/auto-increment-sequences', - fakerDocsUrl: '', - validator: validateStringOrNumberValue, - returnType: 'string|number', - usageExamples: [ - { - functionCall: 'autoIncrement.sequence()', - sampleReturnValue: 1, - description: 'Shows autoIncrement.sequence in use.', - }, - { - functionCall: 'autoIncrement.sequence(start=10, step=5)', - sampleReturnValue: 10, - description: 'Shows autoIncrement.sequence in use.', - }, - { - functionCall: 'autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3)', - sampleReturnValue: 'filename001.txt', - description: 'Shows autoIncrement.sequence in use.', - }, - { - functionCall: 'autoIncrement.sequence(start=10)', - sampleReturnValue: 10, - description: 'Shows autoIncrement.sequence using start.', - }, - { - functionCall: 'autoIncrement.sequence(step=5)', - sampleReturnValue: 1, - description: 'Shows autoIncrement.sequence using step.', - }, - { - functionCall: 'autoIncrement.sequence(prefix="filename")', - sampleReturnValue: 'filename1', - description: 'Shows autoIncrement.sequence using prefix.', - }, - { - functionCall: 'autoIncrement.sequence(suffix=".txt")', - sampleReturnValue: '1.txt', - description: 'Shows autoIncrement.sequence using suffix.', - }, - { - functionCall: 'autoIncrement.sequence(zeropadding=3)', - sampleReturnValue: '001', - description: 'Shows autoIncrement.sequence using zeropadding.', - }, - ], - args: [ - { - name: 'start', - type: 'integer', - required: false, - description: 'Starting integer in the sequence. Defaults to 1.', - examples: [10], - }, - { - name: 'step', - type: 'integer', - required: false, - description: 'Non-zero amount added after each accepted row. Defaults to 1.', - examples: [5], - }, - { - name: 'prefix', - type: 'string', - required: false, - description: 'Optional text added before the numeric portion.', - examples: ['filename'], - }, - { - name: 'suffix', - type: 'string', - required: false, - description: 'Optional text added after the numeric portion.', - examples: ['.txt'], - }, - { - name: 'zeropadding', - type: 'integer', - required: false, - description: - 'Total digit width for the numeric portion. A value of 3 renders 1 as 001, while 100 stays 100. Defaults to 0.', - examples: [3], - }, - ], - }, - }, -]; - -export { DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-custom-internet-keyword-definitions.js b/packages/core/js/domain/domain-custom-internet-keyword-definitions.js deleted file mode 100644 index 93a3e5a3..00000000 --- a/packages/core/js/domain/domain-custom-internet-keyword-definitions.js +++ /dev/null @@ -1,71 +0,0 @@ -import { createPredicateValidator } from '../command-help/command-help-validators.js'; -import { INTERNET_HTTP_METHOD_RETURN_TYPE, getInternetHttpMethodPool } from './internet-http-method.js'; - -const validateHttpMethodValue = createPredicateValidator((value, context = {}) => { - const args = Array.isArray(context?.args) - ? context.args - : Array.isArray(context?.parsedArgs) - ? context.parsedArgs - : []; - const availableMethods = getInternetHttpMethodPool({ - commonOnly: args[0] === true, - excludes: typeof args[1] === 'undefined' ? '' : args[1], - }); - - return availableMethods.includes(String(value ?? '').trim()); -}); - -const DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS = [ - { - keyword: 'internet.httpMethod', - delegate: { - type: 'custom', - target: 'internet.httpMethod', - }, - help: { - summary: - 'Returns a random HTTP request method from an AnywayData-defined pool of GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, and CONNECT, with optional filtering for common methods and exclusions.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: '', - validator: validateHttpMethodValue, - returnType: INTERNET_HTTP_METHOD_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'internet.httpMethod()', - sampleReturnValue: 'PUT', - description: 'Shows internet.httpMethod choosing from the full HTTP method set by default.', - }, - { - functionCall: 'internet.httpMethod(commonOnly=true)', - sampleReturnValue: 'POST', - description: 'Shows internet.httpMethod restricted to the common request methods.', - }, - { - functionCall: 'internet.httpMethod(excludes="patch, TRACE")', - sampleReturnValue: 'POST', - description: - 'Shows internet.httpMethod trimming spaces, normalizing case, and excluding methods from the full set.', - }, - ], - args: [ - { - name: 'commonOnly', - type: 'boolean', - required: false, - description: 'When true, limits generation to GET, HEAD, POST, PUT, and DELETE. Defaults to false.', - examples: [true], - }, - { - name: 'excludes', - type: 'string', - required: false, - description: - 'Comma-separated HTTP methods to remove from the candidate set. Values are case-insensitive, surrounding spaces are trimmed, and generation throws if exclusions remove every available method.', - examples: ['patch, TRACE'], - }, - ], - }, - }, -]; - -export { DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-custom-literal-keyword-definitions.js b/packages/core/js/domain/domain-custom-literal-keyword-definitions.js deleted file mode 100644 index ef9f8b79..00000000 --- a/packages/core/js/domain/domain-custom-literal-keyword-definitions.js +++ /dev/null @@ -1,50 +0,0 @@ -import { validateLiteralValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS = [ - { - keyword: 'literal.value', - delegate: { - type: 'custom', - target: 'literal.value', - }, - help: { - summary: 'Return the literal value provided by the caller.', - docsUrl: 'https://anywaydata.com/docs/category/generating-data', - fakerDocsUrl: '', - validator: validateLiteralValue, - returnType: 'string|number|boolean', - usageExamples: [ - { - functionCall: 'literal.value(value="Pending")', - sampleReturnValue: 'Pending', - description: 'Shows literal.value in use.', - }, - { - functionCall: 'literal.value(value="")', - sampleReturnValue: '', - description: 'Shows literal.value in use.', - }, - { - functionCall: 'literal.value()', - sampleReturnValue: '', - description: 'Shows literal.value when optional params are omitted.', - }, - { - functionCall: 'literal.value(value=1)', - sampleReturnValue: 1, - description: 'Shows literal.value using value.', - }, - ], - args: [ - { - name: 'value', - type: 'string|number|boolean', - required: false, - description: 'Literal value to return. When omitted, defaults to an empty string.', - }, - ], - }, - }, -]; - -export { DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-custom-string-keyword-definitions.js b/packages/core/js/domain/domain-custom-string-keyword-definitions.js deleted file mode 100644 index f376ff00..00000000 --- a/packages/core/js/domain/domain-custom-string-keyword-definitions.js +++ /dev/null @@ -1,83 +0,0 @@ -import { validateCounterStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_CUSTOM_STRING_KEYWORD_DEFINITIONS = [ - { - keyword: 'string.counterString', - delegate: { - type: 'custom', - target: 'string.counterString', - }, - help: { - summary: - 'Generates a counterstring for a random length between min and max (or fixed length when only one value is provided). Defaults to min=1 and max=25 when omitted.', - docsUrl: '/docs/test-data/counterstrings', - fakerDocsUrl: '', - validator: validateCounterStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.counterString()', - sampleReturnValue: '*3*5*7*10*13*', - description: 'Shows string.counterString default from 1 to 25 chars.', - }, - { - functionCall: 'string.counterString(min=15)', - sampleReturnValue: '*3*5*7*9*12*15*', - description: 'Shows string.counterString with a fixed length of 15 chars.', - }, - { - functionCall: 'string.counterString(min=5, max=12)', - sampleReturnValue: '*3*5*7*9*', - description: 'Shows string.counterString with a length between 5 and 12 chars.', - }, - { - functionCall: 'string.counterString(min=12, max=12, delimiter="#")', - sampleReturnValue: '#3#5#7#9#12#', - description: 'Shows string.counterString with a fixed length of 12 chars and a custom delimiter.', - }, - { - functionCall: 'string.counterString(max=10, min=1)', - sampleReturnValue: '2*4*6*', - description: 'Shows string.counterString with a length between 1 and 10 chars.', - }, - { - functionCall: 'string.counterString(max=12)', - sampleReturnValue: '*3*5*7*', - description: 'Shows string.counterString with a length between 1 and 12 chars.', - }, - { - functionCall: 'string.counterString(delimiter="#")', - sampleReturnValue: '#3#5#7#10#13#', - description: 'Shows string.counterString using a custom delimiter and a length between 1 and 25 chars.', - }, - ], - args: [ - { - name: 'min', - type: 'integer', - required: false, - description: - 'Minimum counterstring length (integer). If max is omitted and min is provided, min is also used as max. Defaults to 1 when omitted. Non-integer values throw an exception.', - examples: [5], - }, - { - name: 'max', - type: 'integer', - required: false, - description: - 'Maximum counterstring length (integer). If less than min, values are swapped. Defaults to 25 when omitted. Non-integer values throw an exception.', - examples: [12], - }, - { - name: 'delimiter', - type: 'string', - required: false, - description: 'Delimiter character used between position markers. Defaults to "*".', - examples: ['#'], - }, - ], - }, - }, -]; - -export { DOMAIN_CUSTOM_STRING_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-airline-keyword-definitions.js b/packages/core/js/domain/domain-faker-airline-keyword-definitions.js deleted file mode 100644 index 5f1912c0..00000000 --- a/packages/core/js/domain/domain-faker-airline-keyword-definitions.js +++ /dev/null @@ -1,341 +0,0 @@ -import { - createStringEnumValidator, - validateAircraftIataTypeCodeValue, - validateAirlineIataCodeValue, - validateAirlineRecordLocatorValue, - validateAirlineSeatValue, - validateAirportIataCodeValue, - validateFlightNumberValue, - validateObjectValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; - -const AIRCRAFT_TYPES = ['narrowbody', 'regional', 'widebody']; -const AIRCRAFT_TYPE_RETURN_TYPE = AIRCRAFT_TYPES.join('|'); -const validateAircraftTypeValue = createStringEnumValidator(AIRCRAFT_TYPES); - -const DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS = [ - { - keyword: 'airline.aircraftType', - delegate: { - type: 'faker', - target: 'airline.aircraftType', - }, - help: { - summary: 'Returns a random aircraft type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateAircraftTypeValue, - returnType: AIRCRAFT_TYPE_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'airline.aircraftType', - sampleReturnValue: 'regional', - description: 'Shows the default airline.aircraftType call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airline', - delegate: { - type: 'faker', - target: 'airline.airline', - }, - help: { - summary: 'Generate a value using faker airline.airline.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'airline.airline', - sampleReturnValue: { - name: 'Flydubai', - iataCode: 'FZ', - }, - description: 'Shows the default airline.airline call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airline.iataCode', - delegate: { - type: 'faker', - target: 'airline.airline', - resultPath: 'iataCode', - }, - help: { - summary: 'Generate an airline IATA code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateAirlineIataCodeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.airline.iataCode', - sampleReturnValue: 'FZ', - description: 'Shows the default airline.airline.iataCode call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airline.name', - delegate: { - type: 'faker', - target: 'airline.airline', - resultPath: 'name', - }, - help: { - summary: 'Generate an airline name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.airline.name', - sampleReturnValue: 'Flydubai', - description: 'Shows the default airline.airline.name call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airplane', - delegate: { - type: 'faker', - target: 'airline.airplane', - }, - help: { - summary: 'Generate a value using faker airline.airplane.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'airline.airplane', - sampleReturnValue: { - name: 'Boeing 747-400D', - iataTypeCode: '74J', - }, - description: 'Shows the default airline.airplane call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airplane.iataTypeCode', - delegate: { - type: 'faker', - target: 'airline.airplane', - resultPath: 'iataTypeCode', - }, - help: { - summary: 'Generate an airplane IATA type code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateAircraftIataTypeCodeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.airplane.iataTypeCode', - sampleReturnValue: '74J', - description: 'Shows the default airline.airplane.iataTypeCode call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airplane.name', - delegate: { - type: 'faker', - target: 'airline.airplane', - resultPath: 'name', - }, - help: { - summary: 'Generate an airplane model name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.airplane.name', - sampleReturnValue: 'Boeing 747-400D', - description: 'Shows the default airline.airplane.name call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airport', - delegate: { - type: 'faker', - target: 'airline.airport', - }, - help: { - summary: 'Generate a value using faker airline.airport.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'airline.airport', - sampleReturnValue: { - name: 'Hurgada International Airport', - iataCode: 'HRG', - }, - description: 'Shows the default airline.airport call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airport.iataCode', - delegate: { - type: 'faker', - target: 'airline.airport', - resultPath: 'iataCode', - }, - help: { - summary: 'Generate an airport IATA code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateAirportIataCodeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.airport.iataCode', - sampleReturnValue: 'HRG', - description: 'Shows the default airline.airport.iataCode call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.airport.name', - delegate: { - type: 'faker', - target: 'airline.airport', - resultPath: 'name', - }, - help: { - summary: 'Generate an airport name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.airport.name', - sampleReturnValue: 'Hurgada International Airport', - description: 'Shows the default airline.airport.name call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.flightNumber', - delegate: { - type: 'faker', - target: 'airline.flightNumber', - }, - help: { - summary: - 'Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateFlightNumberValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.flightNumber', - sampleReturnValue: '70', - description: 'Shows the default airline.flightNumber call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.recordLocator', - delegate: { - type: 'faker', - target: 'airline.recordLocator', - }, - help: { - summary: 'Generates a random record locator. Record locators are 6-character alphanumeric booking references.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateAirlineRecordLocatorValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.recordLocator', - sampleReturnValue: 'KTAGDC', - description: 'Shows the default airline.recordLocator call.', - }, - ], - args: [], - }, - }, - { - keyword: 'airline.seat', - delegate: { - type: 'faker', - target: 'airline.seat', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random seat.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', - fakerDocsUrl: 'https://fakerjs.dev/api/airline', - validator: validateAirlineSeatValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'airline.seat', - sampleReturnValue: '15E', - description: 'Shows airline.seat in use.', - }, - { - functionCall: 'airline.seat(aircraftType="widebody")', - sampleReturnValue: '26H', - description: 'Shows airline.seat in use.', - }, - { - functionCall: 'airline.seat()', - sampleReturnValue: '15E', - description: 'Shows airline.seat when optional params are omitted.', - }, - ], - args: [ - { - name: 'aircraftType', - type: AIRCRAFT_TYPE_RETURN_TYPE, - required: false, - description: 'The aircraft type. Can be one of narrowbody, regional, widebody.', - examples: ['widebody'], - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-animal-keyword-definitions.js b/packages/core/js/domain/domain-faker-animal-keyword-definitions.js deleted file mode 100644 index f24ac70b..00000000 --- a/packages/core/js/domain/domain-faker-animal-keyword-definitions.js +++ /dev/null @@ -1,358 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS = [ - { - keyword: 'animal.bear', - delegate: { - type: 'faker', - target: 'animal.bear', - }, - help: { - summary: 'Returns a random bear species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.bear', - sampleReturnValue: 'Giant panda', - description: 'Shows the default animal.bear call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.bird', - delegate: { - type: 'faker', - target: 'animal.bird', - }, - help: { - summary: 'Returns a random bird species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.bird', - sampleReturnValue: 'Great-tailed Grackle', - description: 'Shows the default animal.bird call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.cat', - delegate: { - type: 'faker', - target: 'animal.cat', - }, - help: { - summary: 'Returns a random cat breed.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.cat', - sampleReturnValue: 'Korat', - description: 'Shows the default animal.cat call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.cetacean', - delegate: { - type: 'faker', - target: 'animal.cetacean', - }, - help: { - summary: 'Returns a random cetacean species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.cetacean', - sampleReturnValue: 'Guiana Dolphin', - description: 'Shows the default animal.cetacean call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.cow', - delegate: { - type: 'faker', - target: 'animal.cow', - }, - help: { - summary: 'Returns a random cow species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.cow', - sampleReturnValue: 'Gascon cattle', - description: 'Shows the default animal.cow call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.crocodilia', - delegate: { - type: 'faker', - target: 'animal.crocodilia', - }, - help: { - summary: 'Returns a random crocodilian species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.crocodilia', - sampleReturnValue: 'Gharial', - description: 'Shows the default animal.crocodilia call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.dog', - delegate: { - type: 'faker', - target: 'animal.dog', - }, - help: { - summary: 'Returns a random dog breed.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.dog', - sampleReturnValue: 'Grand Bleu de Gascogne', - description: 'Shows the default animal.dog call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.fish', - delegate: { - type: 'faker', - target: 'animal.fish', - }, - help: { - summary: 'Returns a random fish species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.fish', - sampleReturnValue: 'Gazami crab', - description: 'Shows the default animal.fish call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.horse', - delegate: { - type: 'faker', - target: 'animal.horse', - }, - help: { - summary: 'Returns a random horse breed.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.horse', - sampleReturnValue: 'Heihe Horse', - description: 'Shows the default animal.horse call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.insect', - delegate: { - type: 'faker', - target: 'animal.insect', - }, - help: { - summary: 'Returns a random insect species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.insect', - sampleReturnValue: 'Honey bee', - description: 'Shows the default animal.insect call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.lion', - delegate: { - type: 'faker', - target: 'animal.lion', - }, - help: { - summary: 'Returns a random lion species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.lion', - sampleReturnValue: 'Cape lion', - description: 'Shows the default animal.lion call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.petName', - delegate: { - type: 'faker', - target: 'animal.petName', - }, - help: { - summary: 'Returns a random pet name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.petName', - sampleReturnValue: 'Gus', - description: 'Shows the default animal.petName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.rabbit', - delegate: { - type: 'faker', - target: 'animal.rabbit', - }, - help: { - summary: 'Returns a random rabbit species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.rabbit', - sampleReturnValue: 'Florida White', - description: 'Shows the default animal.rabbit call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.rodent', - delegate: { - type: 'faker', - target: 'animal.rodent', - }, - help: { - summary: 'Returns a random rodent breed.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.rodent', - sampleReturnValue: 'Fukomys foxi', - description: 'Shows the default animal.rodent call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.snake', - delegate: { - type: 'faker', - target: 'animal.snake', - }, - help: { - summary: 'Returns a random snake species.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.snake', - sampleReturnValue: 'Harlequin coral snake', - description: 'Shows the default animal.snake call.', - }, - ], - args: [], - }, - }, - { - keyword: 'animal.type', - delegate: { - type: 'faker', - target: 'animal.type', - }, - help: { - summary: 'Returns a random animal type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', - fakerDocsUrl: 'https://fakerjs.dev/api/animal', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'animal.type', - sampleReturnValue: 'giraffe', - description: 'Shows the default animal.type call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-book-keyword-definitions.js b/packages/core/js/domain/domain-faker-book-keyword-definitions.js deleted file mode 100644 index 8c9f7662..00000000 --- a/packages/core/js/domain/domain-faker-book-keyword-definitions.js +++ /dev/null @@ -1,138 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS = [ - { - keyword: 'book.author', - delegate: { - type: 'faker', - target: 'book.author', - }, - help: { - summary: 'Returns a random author name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', - fakerDocsUrl: 'https://fakerjs.dev/api/book', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'book.author', - sampleReturnValue: 'Ian McEwan', - description: 'Shows the default book.author call.', - }, - ], - args: [], - }, - }, - { - keyword: 'book.format', - delegate: { - type: 'faker', - target: 'book.format', - }, - help: { - summary: 'Returns a random book format.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', - fakerDocsUrl: 'https://fakerjs.dev/api/book', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'book.format', - sampleReturnValue: 'Ebook', - description: 'Shows the default book.format call.', - }, - ], - args: [], - }, - }, - { - keyword: 'book.genre', - delegate: { - type: 'faker', - target: 'book.genre', - }, - help: { - summary: 'Returns a random genre.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', - fakerDocsUrl: 'https://fakerjs.dev/api/book', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'book.genre', - sampleReturnValue: 'Graphic Novel', - description: 'Shows the default book.genre call.', - }, - ], - args: [], - }, - }, - { - keyword: 'book.publisher', - delegate: { - type: 'faker', - target: 'book.publisher', - }, - help: { - summary: 'Returns a random publisher.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', - fakerDocsUrl: 'https://fakerjs.dev/api/book', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'book.publisher', - sampleReturnValue: 'Golden Cockerel Press', - description: 'Shows the default book.publisher call.', - }, - ], - args: [], - }, - }, - { - keyword: 'book.series', - delegate: { - type: 'faker', - target: 'book.series', - }, - help: { - summary: 'Returns a random series.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', - fakerDocsUrl: 'https://fakerjs.dev/api/book', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'book.series', - sampleReturnValue: 'The Bartimaeus Trilogy', - description: 'Shows the default book.series call.', - }, - ], - args: [], - }, - }, - { - keyword: 'book.title', - delegate: { - type: 'faker', - target: 'book.title', - }, - help: { - summary: 'Returns a random title.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', - fakerDocsUrl: 'https://fakerjs.dev/api/book', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'book.title', - sampleReturnValue: 'Moby Dick', - description: 'Shows the default book.title call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-color-keyword-definitions.js b/packages/core/js/domain/domain-faker-color-keyword-definitions.js deleted file mode 100644 index f289cb17..00000000 --- a/packages/core/js/domain/domain-faker-color-keyword-definitions.js +++ /dev/null @@ -1,415 +0,0 @@ -import { - createStringEnumValidator, - validateArrayOrStringValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; - -const COLOR_FORMAT_TYPE = 'decimal|css|binary'; -const COLOR_RGB_FORMAT_TYPE = 'hex|decimal|css|binary'; -const COLOR_CASING_TYPE = 'lower|upper|mixed'; -const CSS_SUPPORTED_FUNCTION_RETURN_TYPE = 'rgb|rgba|hsl|hsla|hwb|cmyk|lab|lch|color'; -const CSS_SUPPORTED_SPACE_RETURN_TYPE = 'sRGB|display-p3|rec2020|a98-rgb|prophoto-rgb'; -const validateCssSupportedFunctionValue = createStringEnumValidator(CSS_SUPPORTED_FUNCTION_RETURN_TYPE.split('|')); -const validateCssSupportedSpaceValue = createStringEnumValidator(CSS_SUPPORTED_SPACE_RETURN_TYPE.split('|')); - -const DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS = [ - { - keyword: 'color.cmyk', - delegate: { - type: 'faker', - target: 'color.cmyk', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a CMYK color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.cmyk()', - sampleReturnValue: [0.42, 0.72, 0, 0.3], - description: 'Shows color.cmyk when optional params are omitted.', - }, - { - functionCall: 'color.cmyk(format="decimal")', - sampleReturnValue: [0.42, 0.72, 0, 0.3], - description: 'Shows color.cmyk using format.', - }, - ], - args: [ - { - name: 'format', - type: COLOR_FORMAT_TYPE, - required: false, - description: 'Format of generated CMYK color.', - }, - ], - }, - }, - { - keyword: 'color.colorByCSSColorSpace', - delegate: { - type: 'faker', - target: 'color.colorByCSSColorSpace', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random color based on CSS color space specified.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.colorByCSSColorSpace()', - sampleReturnValue: [0.417, 0.7203, 0.0001], - description: 'Shows color.colorByCSSColorSpace when optional params are omitted.', - }, - { - functionCall: 'color.colorByCSSColorSpace(format="decimal")', - sampleReturnValue: [0.417, 0.7203, 0.0001], - description: 'Shows color.colorByCSSColorSpace using format.', - }, - { - functionCall: 'color.colorByCSSColorSpace(space="display-p3")', - sampleReturnValue: [0.417, 0.7203, 0.0001], - description: 'Shows color.colorByCSSColorSpace using space.', - }, - ], - args: [ - { - name: 'format', - type: COLOR_FORMAT_TYPE, - required: false, - description: 'Format of generated RGB color.', - }, - { - name: 'space', - type: CSS_SUPPORTED_SPACE_RETURN_TYPE, - required: false, - description: 'Color space to generate the color for.', - }, - ], - }, - }, - { - keyword: 'color.cssSupportedFunction', - delegate: { - type: 'faker', - target: 'color.cssSupportedFunction', - }, - help: { - summary: 'Returns a random css supported color function name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateCssSupportedFunctionValue, - returnType: CSS_SUPPORTED_FUNCTION_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'color.cssSupportedFunction', - sampleReturnValue: 'hsla', - description: 'Shows the default color.cssSupportedFunction call.', - }, - ], - args: [], - }, - }, - { - keyword: 'color.cssSupportedSpace', - delegate: { - type: 'faker', - target: 'color.cssSupportedSpace', - }, - help: { - summary: 'Returns a random css supported color space name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateCssSupportedSpaceValue, - returnType: CSS_SUPPORTED_SPACE_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'color.cssSupportedSpace', - sampleReturnValue: 'rec2020', - description: 'Shows the default color.cssSupportedSpace call.', - }, - ], - args: [], - }, - }, - { - keyword: 'color.hsl', - delegate: { - type: 'faker', - target: 'color.hsl', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns an HSL color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.hsl', - sampleReturnValue: [150, 0.72, 0], - description: 'Shows color.hsl returning the default tuple output.', - }, - { - functionCall: 'color.hsl(format="css")', - sampleReturnValue: 'hsl(150deg 72% 0%)', - description: 'Shows color.hsl returning CSS text without alpha.', - }, - { - functionCall: 'color.hsl(includeAlpha=true)', - sampleReturnValue: [150, 0.72, 0, 0.3], - description: 'Shows color.hsl including alpha while keeping the tuple-style output.', - }, - { - functionCall: 'color.hsl(format="css", includeAlpha=true)', - sampleReturnValue: 'hsl(150deg 72% 0% / 30)', - description: 'Shows color.hsl returning CSS text with alpha included.', - }, - ], - args: [ - { - name: 'format', - type: COLOR_FORMAT_TYPE, - required: false, - description: 'Format of generated HSL color.', - }, - { - name: 'includeAlpha', - type: 'boolean', - required: false, - description: 'Adds an alpha value to the color (RGBA).', - }, - ], - }, - }, - { - keyword: 'color.human', - delegate: { - type: 'faker', - target: 'color.human', - }, - help: { - summary: 'Returns a random human-readable color name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'color.human', - sampleReturnValue: 'magenta', - description: 'Shows the default color.human call.', - }, - ], - args: [], - }, - }, - { - keyword: 'color.hwb', - delegate: { - type: 'faker', - target: 'color.hwb', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns an HWB color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.hwb()', - sampleReturnValue: [150, 0.72, 0], - description: 'Shows color.hwb when optional params are omitted.', - }, - { - functionCall: 'color.hwb(format="decimal")', - sampleReturnValue: [150, 0.72, 0], - description: 'Shows color.hwb using format.', - }, - ], - args: [ - { - name: 'format', - type: COLOR_FORMAT_TYPE, - required: false, - description: 'Format of generated RGB color.', - }, - ], - }, - }, - { - keyword: 'color.lab', - delegate: { - type: 'faker', - target: 'color.lab', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a LAB (CIELAB) color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.lab()', - sampleReturnValue: [0.417022, 44.0649, -99.9772], - description: 'Shows color.lab when optional params are omitted.', - }, - { - functionCall: 'color.lab(format="decimal")', - sampleReturnValue: [0.417022, 44.0649, -99.9772], - description: 'Shows color.lab using format.', - }, - ], - args: [ - { - name: 'format', - type: COLOR_FORMAT_TYPE, - required: false, - description: 'Format of generated RGB color.', - }, - ], - }, - }, - { - keyword: 'color.lch', - delegate: { - type: 'faker', - target: 'color.lch', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns an LCH color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.lch()', - sampleReturnValue: [0.417022, 165.7, 0], - description: 'Shows color.lch when optional params are omitted.', - }, - { - functionCall: 'color.lch(format="decimal")', - sampleReturnValue: [0.417022, 165.7, 0], - description: 'Shows color.lch using format.', - }, - ], - args: [ - { - name: 'format', - type: COLOR_FORMAT_TYPE, - required: false, - description: 'Format of generated RGB color.', - }, - ], - }, - }, - { - keyword: 'color.rgb', - delegate: { - type: 'faker', - target: 'color.rgb', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns an RGB color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateArrayOrStringValue, - returnType: 'array|string', - usageExamples: [ - { - functionCall: 'color.rgb()', - sampleReturnValue: '#9f0632', - description: 'Shows color.rgb when optional params are omitted.', - }, - { - functionCall: 'color.rgb(casing="upper")', - sampleReturnValue: '#9F0632', - description: 'Shows color.rgb using casing.', - }, - { - functionCall: 'color.rgb(format="hex")', - sampleReturnValue: '#9f0632', - description: 'Shows color.rgb using format.', - }, - { - functionCall: 'color.rgb(includeAlpha=true)', - sampleReturnValue: '#9f063247', - description: 'Shows color.rgb using includeAlpha.', - }, - { - functionCall: 'color.rgb(prefix="#")', - sampleReturnValue: '#9f0632', - description: 'Shows color.rgb using prefix.', - }, - ], - args: [ - { - name: 'casing', - type: COLOR_CASING_TYPE, - required: false, - description: "Letter type case of the generated hex color. Only applied when 'hex' format is used.", - examples: ['upper'], - }, - { - name: 'format', - type: COLOR_RGB_FORMAT_TYPE, - required: false, - description: 'Format of generated RGB color.', - examples: ['hex'], - }, - { - name: 'includeAlpha', - type: 'boolean', - required: false, - description: 'Adds an alpha value to the color (RGBA).', - examples: [true], - }, - { - name: 'prefix', - type: 'string', - required: false, - description: "Prefix of the generated hex color. Only applied when 'hex' format is used.", - examples: ['#'], - }, - ], - }, - }, - { - keyword: 'color.space', - delegate: { - type: 'faker', - target: 'color.space', - }, - help: { - summary: 'Returns a random color space name from the worldwide accepted color spaces.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', - fakerDocsUrl: 'https://fakerjs.dev/api/color', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'color.space', - sampleReturnValue: 'HSV', - description: 'Shows the default color.space call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js b/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js deleted file mode 100644 index 57958753..00000000 --- a/packages/core/js/domain/domain-faker-commerce-keyword-definitions.js +++ /dev/null @@ -1,297 +0,0 @@ -import { validateIsbnValue, validateStringValue, validateUpcValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS = [ - { - keyword: 'commerce.department', - delegate: { - type: 'faker', - target: 'commerce.department', - }, - help: { - summary: 'Returns a department inside a shop.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.department', - sampleReturnValue: 'Grocery', - description: 'Shows the default commerce.department call.', - }, - ], - args: [], - }, - }, - { - keyword: 'commerce.isbn', - delegate: { - type: 'faker', - target: 'commerce.isbn', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random ISBN identifier.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateIsbnValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.isbn()', - sampleReturnValue: '978-0-7031-0133-4', - description: 'Shows commerce.isbn when optional params are omitted.', - }, - { - functionCall: 'commerce.isbn(separator="-")', - sampleReturnValue: '978-0-7031-0133-4', - description: 'Shows commerce.isbn using separator.', - }, - { - functionCall: 'commerce.isbn(variant=10)', - sampleReturnValue: '0-7031-0133-1', - description: 'Shows commerce.isbn using variant.', - }, - ], - args: [ - { - name: 'separator', - type: 'string', - required: false, - description: 'Separator inserted between generated items.', - }, - { - name: 'variant', - type: '10|13', - required: false, - description: 'ISBN length variant: use 10 for ISBN-10 or 13 for ISBN-13.', - }, - ], - }, - }, - { - keyword: 'commerce.price', - delegate: { - type: 'faker', - target: 'commerce.price', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a price between min and max (inclusive).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.price(dec=2, max=10, min=1, symbol="$")', - sampleReturnValue: '$4.79', - description: 'Shows commerce.price in use.', - }, - { - functionCall: 'commerce.price()', - sampleReturnValue: '417.69', - description: 'Shows commerce.price when optional params are omitted.', - }, - { - functionCall: 'commerce.price(dec=2)', - sampleReturnValue: '417.69', - description: 'Shows commerce.price using dec.', - }, - { - functionCall: 'commerce.price(max=100)', - sampleReturnValue: '42.29', - description: 'Shows commerce.price using max.', - }, - { - functionCall: 'commerce.price(max=10, min=1)', - sampleReturnValue: '4.79', - description: 'Shows commerce.price using min.', - }, - { - functionCall: 'commerce.price(symbol="$")', - sampleReturnValue: '$417.69', - description: 'Shows commerce.price using symbol.', - }, - ], - args: [ - { - name: 'dec', - type: 'integer', - required: false, - description: 'The number of decimal places.', - examples: [2], - }, - { - name: 'max', - type: 'number', - required: false, - description: 'The maximum price.', - examples: [100], - }, - { - name: 'min', - type: 'number', - required: false, - description: 'The minimum price.', - examples: [1], - }, - { - name: 'symbol', - type: 'string', - required: false, - description: 'The currency value to use.', - examples: ['$'], - }, - ], - }, - }, - { - keyword: 'commerce.product', - delegate: { - type: 'faker', - target: 'commerce.product', - }, - help: { - summary: 'Returns a short product name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.product', - sampleReturnValue: 'Gloves', - description: 'Shows the default commerce.product call.', - }, - ], - args: [], - }, - }, - { - keyword: 'commerce.productAdjective', - delegate: { - type: 'faker', - target: 'commerce.productAdjective', - }, - help: { - summary: 'Returns an adjective describing a product.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.productAdjective', - sampleReturnValue: 'Handmade', - description: 'Shows the default commerce.productAdjective call.', - }, - ], - args: [], - }, - }, - { - keyword: 'commerce.productDescription', - delegate: { - type: 'faker', - target: 'commerce.productDescription', - }, - help: { - summary: 'Returns a product description.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.productDescription', - sampleReturnValue: 'New Sausages model with 1 GB RAM, 303 GB storage, and bruised features', - description: 'Shows the default commerce.productDescription call.', - }, - ], - args: [], - }, - }, - { - keyword: 'commerce.productMaterial', - delegate: { - type: 'faker', - target: 'commerce.productMaterial', - }, - help: { - summary: 'Returns a material of a product.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.productMaterial', - sampleReturnValue: 'Gold', - description: 'Shows the default commerce.productMaterial call.', - }, - ], - args: [], - }, - }, - { - keyword: 'commerce.productName', - delegate: { - type: 'faker', - target: 'commerce.productName', - }, - help: { - summary: 'Generates a random descriptive product name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.productName', - sampleReturnValue: 'Handmade Plastic Bacon', - description: 'Shows the default commerce.productName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'commerce.upc', - delegate: { - type: 'faker', - target: 'commerce.upc', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a valid UPC-A (12 digits).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', - fakerDocsUrl: 'https://fakerjs.dev/api/commerce', - validator: validateUpcValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'commerce.upc()', - sampleReturnValue: '470310133543', - description: 'Shows commerce.upc when optional params are omitted.', - }, - { - functionCall: 'commerce.upc(prefix="01234")', - sampleReturnValue: '012344703103', - description: 'Shows commerce.upc using prefix.', - }, - ], - args: [ - { - name: 'prefix', - type: 'string', - required: false, - description: 'Optional numeric prefix for the UPC body (0-11 digits).', - examples: ['01234'], - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-company-keyword-definitions.js b/packages/core/js/domain/domain-faker-company-keyword-definitions.js deleted file mode 100644 index 6732338e..00000000 --- a/packages/core/js/domain/domain-faker-company-keyword-definitions.js +++ /dev/null @@ -1,204 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS = [ - { - keyword: 'company.buzzAdjective', - delegate: { - type: 'faker', - target: 'company.buzzAdjective', - }, - help: { - summary: 'Returns a random buzz adjective that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.buzzAdjective', - sampleReturnValue: 'immersive', - description: 'Shows the default company.buzzAdjective call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.buzzNoun', - delegate: { - type: 'faker', - target: 'company.buzzNoun', - }, - help: { - summary: 'Returns a random buzz noun that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.buzzNoun', - sampleReturnValue: 'interfaces', - description: 'Shows the default company.buzzNoun call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.buzzPhrase', - delegate: { - type: 'faker', - target: 'company.buzzPhrase', - }, - help: { - summary: 'Generates a random buzz phrase that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.buzzPhrase', - sampleReturnValue: 'grow robust AI', - description: 'Shows the default company.buzzPhrase call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.buzzVerb', - delegate: { - type: 'faker', - target: 'company.buzzVerb', - }, - help: { - summary: 'Returns a random buzz verb that can be used to demonstrate data being viewed by a manager.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.buzzVerb', - sampleReturnValue: 'grow', - description: 'Shows the default company.buzzVerb call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.catchPhrase', - delegate: { - type: 'faker', - target: 'company.catchPhrase', - }, - help: { - summary: 'Generates a random catch phrase that can be displayed to an end user.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.catchPhrase', - sampleReturnValue: 'Integrated radical ability', - description: 'Shows the default company.catchPhrase call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.catchPhraseAdjective', - delegate: { - type: 'faker', - target: 'company.catchPhraseAdjective', - }, - help: { - summary: 'Returns a random catch phrase adjective that can be displayed to an end user.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.catchPhraseAdjective', - sampleReturnValue: 'Integrated', - description: 'Shows the default company.catchPhraseAdjective call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.catchPhraseDescriptor', - delegate: { - type: 'faker', - target: 'company.catchPhraseDescriptor', - }, - help: { - summary: 'Returns a random catch phrase descriptor that can be displayed to an end user.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.catchPhraseDescriptor', - sampleReturnValue: 'heuristic', - description: 'Shows the default company.catchPhraseDescriptor call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.catchPhraseNoun', - delegate: { - type: 'faker', - target: 'company.catchPhraseNoun', - }, - help: { - summary: 'Returns a random catch phrase noun that can be displayed to an end user.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.catchPhraseNoun', - sampleReturnValue: 'generative AI', - description: 'Shows the default company.catchPhraseNoun call.', - }, - ], - args: [], - }, - }, - { - keyword: 'company.name', - delegate: { - type: 'faker', - target: 'company.name', - }, - help: { - summary: 'Generates a random company name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', - fakerDocsUrl: 'https://fakerjs.dev/api/company', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'company.name', - sampleReturnValue: 'Gutmann Group', - description: 'Shows the default company.name call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-database-keyword-definitions.js b/packages/core/js/domain/domain-faker-database-keyword-definitions.js deleted file mode 100644 index a52661f5..00000000 --- a/packages/core/js/domain/domain-faker-database-keyword-definitions.js +++ /dev/null @@ -1,116 +0,0 @@ -import { validateMongoObjectIdValue, validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS = [ - { - keyword: 'database.collation', - delegate: { - type: 'faker', - target: 'database.collation', - }, - help: { - summary: 'Returns a random database collation.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', - fakerDocsUrl: 'https://fakerjs.dev/api/database', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'database.collation', - sampleReturnValue: 'cp1250_bin', - description: 'Shows the default database.collation call.', - }, - ], - args: [], - }, - }, - { - keyword: 'database.column', - delegate: { - type: 'faker', - target: 'database.column', - }, - help: { - summary: 'Returns a random database column name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', - fakerDocsUrl: 'https://fakerjs.dev/api/database', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'database.column', - sampleReturnValue: 'group', - description: 'Shows the default database.column call.', - }, - ], - args: [], - }, - }, - { - keyword: 'database.engine', - delegate: { - type: 'faker', - target: 'database.engine', - }, - help: { - summary: 'Returns a random database engine.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', - fakerDocsUrl: 'https://fakerjs.dev/api/database', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'database.engine', - sampleReturnValue: 'CSV', - description: 'Shows the default database.engine call.', - }, - ], - args: [], - }, - }, - { - keyword: 'database.mongodbObjectId', - delegate: { - type: 'faker', - target: 'database.mongodbObjectId', - }, - help: { - summary: 'Returns a MongoDB ObjectId string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', - fakerDocsUrl: 'https://fakerjs.dev/api/database', - validator: validateMongoObjectIdValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'database.mongodbObjectId', - sampleReturnValue: '9f0632478b9f4d0e9c34bf6f', - description: 'Shows the default database.mongodbObjectId call.', - }, - ], - args: [], - }, - }, - { - keyword: 'database.type', - delegate: { - type: 'faker', - target: 'database.type', - }, - help: { - summary: 'Returns a random database column type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', - fakerDocsUrl: 'https://fakerjs.dev/api/database', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'database.type', - sampleReturnValue: 'float', - description: 'Shows the default database.type call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js b/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js deleted file mode 100644 index a6ab6fd5..00000000 --- a/packages/core/js/domain/domain-faker-datatype-keyword-definitions.js +++ /dev/null @@ -1,41 +0,0 @@ -import { validateBooleanValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_DATATYPE_KEYWORD_DEFINITIONS = [ - { - keyword: 'datatype.boolean', - delegate: { - type: 'faker', - target: 'datatype.boolean', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns the boolean value true or false.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/datatype', - fakerDocsUrl: 'https://fakerjs.dev/api/datatype', - validator: validateBooleanValue, - returnType: 'boolean', - usageExamples: [ - { - functionCall: 'datatype.boolean()', - sampleReturnValue: true, - description: 'Shows datatype.boolean when optional params are omitted.', - }, - { - functionCall: 'datatype.boolean(probability=0.5)', - sampleReturnValue: true, - description: 'Shows datatype.boolean using probability.', - }, - ], - args: [ - { - name: 'probability', - type: 'number', - required: false, - description: 'Probability threshold for returning true (between 0 and 1).', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_DATATYPE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-date-keyword-definitions.js b/packages/core/js/domain/domain-faker-date-keyword-definitions.js deleted file mode 100644 index e79a1b69..00000000 --- a/packages/core/js/domain/domain-faker-date-keyword-definitions.js +++ /dev/null @@ -1,542 +0,0 @@ -import { - validateArrayValue, - validateDateValue, - validateStringValue, - validateTimeZoneValue, -} from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS = [ - { - keyword: 'date.anytime', - delegate: { - type: 'faker', - target: 'date.anytime', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random date that can be either in the past or in the future.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.anytime()', - sampleReturnValue: '2026-04-19T02:08:51.881Z', - description: 'Shows date.anytime when optional params are omitted.', - }, - { - functionCall: 'date.anytime(refDate=1577836800000)', - sampleReturnValue: '2019-11-01T10:13:31.881Z', - description: 'Shows date.anytime using refDate.', - }, - ], - args: [ - { - name: 'refDate', - type: 'integer', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - examples: [1577836800000], - }, - ], - }, - }, - { - keyword: 'date.between', - delegate: { - type: 'faker', - target: 'date.between', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random date between the given boundaries.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.between(from=1577836800000, to=1609372800000)', - sampleReturnValue: '2020-06-01T05:06:45.940Z', - description: 'Shows date.between using explicit from and to timestamps.', - }, - { - functionCall: 'date.between(from=1609459200000, to=1640995200000)', - sampleReturnValue: '2021-06-02T05:06:45.940Z', - description: 'Shows date.between with a different bounded range.', - }, - ], - args: [ - { - name: 'from', - type: 'integer', - required: true, - description: 'Start boundary as a Unix timestamp in milliseconds since epoch.', - examples: [1577836800000], - }, - { - name: 'to', - type: 'integer', - required: true, - description: 'End boundary as a Unix timestamp in milliseconds since epoch.', - examples: [1609372800000], - }, - ], - }, - }, - { - keyword: 'date.betweens', - delegate: { - type: 'faker', - target: 'date.betweens', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: - 'Generates random dates between the given boundaries. The dates will be returned in an array sorted in chronological order.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateArrayValue, - returnType: 'array', - usageExamples: [ - { - functionCall: 'date.betweens(from=1577836800000, to=1609372800000)', - sampleReturnValue: ['2020-01-01T01:00:06.924Z', '2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], - description: 'Shows date.betweens with only the required range boundaries.', - }, - { - functionCall: 'date.betweens(count=2, from=1577836800000, to=1609372800000)', - sampleReturnValue: ['2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], - description: 'Shows date.betweens returning two sorted dates within a range.', - }, - { - functionCall: 'date.betweens(count=3, from=1609459200000, to=1640995200000)', - sampleReturnValue: ['2021-01-01T01:00:06.924Z', '2021-06-02T05:06:45.940Z', '2021-09-20T22:02:33.225Z'], - description: 'Shows date.betweens using a larger count within a bounded range.', - }, - { - functionCall: 'date.betweens(count=4, from=1640995200000, to=1672531200000)', - sampleReturnValue: [ - '2022-01-01T01:00:06.924Z', - '2022-04-21T08:26:00.010Z', - '2022-06-02T05:06:45.940Z', - '2022-09-20T22:02:33.225Z', - ], - description: 'Shows date.betweens with count, from, and to all supplied explicitly.', - }, - ], - args: [ - { - name: 'count', - type: 'integer', - required: false, - description: 'The number of dates to generate.', - examples: [2], - }, - { - name: 'from', - type: 'integer', - required: true, - description: 'Start boundary as a Unix timestamp in milliseconds since epoch.', - examples: [1577836800000], - }, - { - name: 'to', - type: 'integer', - required: true, - description: 'End boundary as a Unix timestamp in milliseconds since epoch.', - examples: [1609372800000], - }, - ], - }, - }, - { - keyword: 'date.birthdate', - delegate: { - type: 'faker', - target: 'date.birthdate', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: - 'Returns a random birthdate. By default, the birthdate is generated for an adult between 18 and 80 years old.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.birthdate(refDate=20000, max=69, min=16, mode="age")', - sampleReturnValue: '1922-07-10T12:11:49.191Z', - description: 'Shows date.birthdate in use.', - }, - { - functionCall: 'date.birthdate()', - sampleReturnValue: '1971-09-27T08:09:14.757Z', - description: 'Shows date.birthdate when optional params are omitted.', - }, - { - functionCall: 'date.birthdate(refDate=1577836800000)', - sampleReturnValue: '1965-04-10T16:13:54.757Z', - description: 'Shows date.birthdate using refDate.', - }, - { - functionCall: 'date.birthdate(max=65)', - sampleReturnValue: '1980-06-25T11:25:42.848Z', - description: 'Shows date.birthdate using max.', - }, - { - functionCall: 'date.birthdate(max=10, min=1)', - sampleReturnValue: '2019-08-20T15:04:00.805Z', - description: 'Shows date.birthdate using min.', - }, - { - functionCall: 'date.birthdate(mode="age")', - sampleReturnValue: '1971-09-27T08:09:14.757Z', - description: 'Shows date.birthdate using mode.', - }, - ], - args: [ - { - name: 'refDate', - type: 'integer', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - examples: [1577836800000], - }, - { - name: 'max', - type: 'integer', - required: false, - description: 'The maximum age/year to generate a birthdate for/in.', - examples: [65], - }, - { - name: 'min', - type: 'integer', - required: false, - description: 'The minimum age/year to generate a birthdate for/in.', - examples: [18], - }, - { - name: 'mode', - type: 'age|year', - required: false, - description: "Either 'age' or 'year' to generate a birthdate based on the age or year range.", - examples: ['age'], - }, - ], - }, - }, - { - keyword: 'date.future', - delegate: { - type: 'faker', - target: 'date.future', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random date in the future.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.future()', - sampleReturnValue: '2026-11-17T21:02:06.523Z', - description: 'Shows date.future when optional params are omitted.', - }, - { - functionCall: 'date.future(refDate=1577836800000)', - sampleReturnValue: '2020-06-01T05:06:46.523Z', - description: 'Shows date.future using refDate.', - }, - { - functionCall: 'date.future(years=2)', - sampleReturnValue: '2027-04-19T02:08:52.463Z', - description: 'Shows date.future using years.', - }, - ], - args: [ - { - name: 'refDate', - type: 'integer', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - examples: [1577836800000], - }, - { - name: 'years', - type: 'integer', - required: false, - description: 'The range of years the date may be in the future.', - examples: [2], - }, - ], - }, - }, - { - keyword: 'date.month', - delegate: { - type: 'faker', - target: 'date.month', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random name of a month.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'date.month()', - sampleReturnValue: 'July', - description: 'Shows date.month when optional params are omitted.', - }, - { - functionCall: 'date.month(abbreviated=true)', - sampleReturnValue: 'Jul', - description: 'Shows date.month using abbreviated.', - }, - { - functionCall: 'date.month(context=true)', - sampleReturnValue: 'July', - description: 'Shows date.month using context.', - }, - ], - args: [ - { - name: 'abbreviated', - type: 'boolean', - required: false, - description: 'Whether to return an abbreviation.', - }, - { - name: 'context', - type: 'boolean', - required: false, - description: - 'Whether to return the name of a month in the context of a date. In the currently supported locale this has no visible effect. This option is mainly relevant for future multi-locale support (for example, locale-specific grammar/capitalization differences).', - }, - ], - }, - }, - { - keyword: 'date.past', - delegate: { - type: 'faker', - target: 'date.past', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random date in the past.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.past()', - sampleReturnValue: '2025-11-17T21:02:05.523Z', - description: 'Shows date.past when optional params are omitted.', - }, - { - functionCall: 'date.past(refDate=1577836800000)', - sampleReturnValue: '2019-06-02T05:06:45.523Z', - description: 'Shows date.past using refDate.', - }, - { - functionCall: 'date.past(years=2)', - sampleReturnValue: '2025-04-19T02:08:51.463Z', - description: 'Shows date.past using years.', - }, - ], - args: [ - { - name: 'refDate', - type: 'integer', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - examples: [1577836800000], - }, - { - name: 'years', - type: 'integer', - required: false, - description: 'The range of years the date may be in the past.', - examples: [2], - }, - ], - }, - }, - { - keyword: 'date.recent', - delegate: { - type: 'faker', - target: 'date.recent', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random date in the recent past.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.recent()', - sampleReturnValue: '2026-06-18T01:55:50.284Z', - description: 'Shows date.recent when optional params are omitted.', - }, - { - functionCall: 'date.recent(days=7)', - sampleReturnValue: '2026-06-14T13:58:54.491Z', - description: 'Shows date.recent using days.', - }, - { - functionCall: 'date.recent(refDate=1577836800000)', - sampleReturnValue: '2019-12-31T10:00:30.284Z', - description: 'Shows date.recent using refDate.', - }, - ], - args: [ - { - name: 'days', - type: 'integer', - required: false, - description: 'The range of days the date may be in the past.', - examples: [7], - }, - { - name: 'refDate', - type: 'integer', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - examples: [1577836800000], - }, - ], - }, - }, - { - keyword: 'date.soon', - delegate: { - type: 'faker', - target: 'date.soon', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random date in the near future.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateDateValue, - returnType: 'date', - usageExamples: [ - { - functionCall: 'date.soon()', - sampleReturnValue: '2026-06-19T01:55:51.284Z', - description: 'Shows date.soon when optional params are omitted.', - }, - { - functionCall: 'date.soon(days=7)', - sampleReturnValue: '2026-06-21T13:58:55.491Z', - description: 'Shows date.soon using days.', - }, - { - functionCall: 'date.soon(refDate=1577836800000)', - sampleReturnValue: '2020-01-01T10:00:31.284Z', - description: 'Shows date.soon using refDate.', - }, - ], - args: [ - { - name: 'days', - type: 'integer', - required: false, - description: 'The range of days the date may be in the future.', - examples: [7], - }, - { - name: 'refDate', - type: 'integer', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - examples: [1577836800000], - }, - ], - }, - }, - { - keyword: 'date.timeZone', - delegate: { - type: 'faker', - target: 'date.timeZone', - }, - help: { - summary: 'Returns a random IANA time zone relevant to this locale.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateTimeZoneValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'date.timeZone', - sampleReturnValue: 'America/Santiago', - description: 'Shows the default date.timeZone call.', - }, - ], - args: [], - }, - }, - { - keyword: 'date.weekday', - delegate: { - type: 'faker', - target: 'date.weekday', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random day of the week.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', - fakerDocsUrl: 'https://fakerjs.dev/api/date', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'date.weekday()', - sampleReturnValue: 'Saturday', - description: 'Shows date.weekday when optional params are omitted.', - }, - { - functionCall: 'date.weekday(abbreviated=true)', - sampleReturnValue: 'Sat', - description: 'Shows date.weekday using abbreviated.', - }, - { - functionCall: 'date.weekday(context=true)', - sampleReturnValue: 'Saturday', - description: 'Shows date.weekday using context.', - }, - ], - args: [ - { - name: 'abbreviated', - type: 'boolean', - required: false, - description: 'Whether to return an abbreviation.', - }, - { - name: 'context', - type: 'boolean', - required: false, - description: - 'Whether to return the day of the week in the context of a date. In the currently supported locale this has no visible effect. This option is mainly relevant for future multi-locale support (for example, locale-specific grammar/capitalization differences).', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-finance-keyword-definitions.js b/packages/core/js/domain/domain-faker-finance-keyword-definitions.js deleted file mode 100644 index c378c83b..00000000 --- a/packages/core/js/domain/domain-faker-finance-keyword-definitions.js +++ /dev/null @@ -1,634 +0,0 @@ -import { - validateAccountNumberValue, - validateBicValue, - validateBitcoinAddressValue, - validateCreditCardCvvValue, - validateCreditCardNumberValue, - validateCurrencyCodeValue, - validateCurrencyNumericCodeValue, - validateEthereumAddressValue, - validateIbanValue, - validateLitecoinAddressValue, - validateObjectValue, - validatePinValue, - validateRoutingNumberValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; - -const BITCOIN_ADDRESS_TYPE = 'legacy|segwit|bech32|taproot'; -const BITCOIN_NETWORK_TYPE = 'mainnet|testnet'; - -const DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS = [ - { - keyword: 'finance.accountName', - delegate: { - type: 'faker', - target: 'finance.accountName', - }, - help: { - summary: 'Generates a random account name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.accountName', - sampleReturnValue: 'Home Loan Account', - description: 'Shows the default finance.accountName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.accountNumber', - delegate: { - type: 'faker', - target: 'finance.accountNumber', - }, - help: { - summary: 'Generates a random account number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateAccountNumberValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.accountNumber()', - sampleReturnValue: '47031013', - description: 'Shows finance.accountNumber when optional params are omitted.', - }, - { - functionCall: 'finance.accountNumber(length=5)', - sampleReturnValue: '47031', - description: 'Shows finance.accountNumber using length.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - ], - }, - }, - { - keyword: 'finance.amount', - delegate: { - type: 'faker', - target: 'finance.amount', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random amount between the given bounds (inclusive).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.amount()', - sampleReturnValue: '417.02', - description: 'Shows finance.amount when optional params are omitted.', - }, - { - functionCall: 'finance.amount(autoFormat=true)', - sampleReturnValue: '417.02', - description: 'Shows finance.amount using autoFormat.', - }, - { - functionCall: 'finance.amount(dec=2)', - sampleReturnValue: '417.02', - description: 'Shows finance.amount using dec.', - }, - { - functionCall: 'finance.amount(max=100)', - sampleReturnValue: '41.70', - description: 'Shows finance.amount using max.', - }, - { - functionCall: 'finance.amount(max=10, min=1)', - sampleReturnValue: '4.75', - description: 'Shows finance.amount using min.', - }, - { - functionCall: 'finance.amount(symbol="$")', - sampleReturnValue: '$417.02', - description: 'Shows finance.amount using symbol.', - }, - ], - args: [ - { - name: 'autoFormat', - type: 'boolean', - required: false, - description: 'If true this method will use Number.toLocaleString(). Otherwise it will use Number.toFixed().', - examples: [true], - }, - { - name: 'dec', - type: 'integer', - required: false, - description: 'The number of decimal places for the amount.', - examples: [2], - }, - { - name: 'max', - type: 'number', - required: false, - description: 'The upper bound for the amount.', - examples: [100], - }, - { - name: 'min', - type: 'number', - required: false, - description: 'The lower bound for the amount.', - examples: [1], - }, - { - name: 'symbol', - type: 'string', - required: false, - description: 'The symbol used to prefix the amount.', - examples: ['$'], - }, - ], - }, - }, - { - keyword: 'finance.bic', - delegate: { - type: 'faker', - target: 'finance.bic', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random SWIFT/BIC code based on the ISO-9362 format.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateBicValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.bic()', - sampleReturnValue: 'SAHDBI6CJFO', - description: 'Shows finance.bic when optional params are omitted.', - }, - { - functionCall: 'finance.bic(includeBranchCode=true)', - sampleReturnValue: 'KSAHBZ36EJF', - description: 'Shows finance.bic using includeBranchCode.', - }, - ], - args: [ - { - name: 'includeBranchCode', - type: 'boolean', - required: false, - description: 'Whether to include a three-digit branch code at the end of the generated code.', - }, - ], - }, - }, - { - keyword: 'finance.bitcoinAddress', - delegate: { - type: 'faker', - target: 'finance.bitcoinAddress', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random Bitcoin address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateBitcoinAddressValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.bitcoinAddress()', - sampleReturnValue: '31i96bmpxqFcS2Eqy9cNYjGST53aS6qX', - description: 'Shows finance.bitcoinAddress when optional params are omitted.', - }, - { - functionCall: 'finance.bitcoinAddress(type="bech32")', - sampleReturnValue: 'bc1fr0a536dekfp7w0pfk57tycqww326w4fykqcpu0', - description: 'Shows finance.bitcoinAddress using type.', - }, - { - functionCall: 'finance.bitcoinAddress(network="testnet")', - sampleReturnValue: '21i96bmpxqFcS2Eqy9cNYjGST53aS6qX', - description: 'Shows finance.bitcoinAddress using network.', - }, - ], - args: [ - { - name: 'type', - type: BITCOIN_ADDRESS_TYPE, - required: false, - description: "The bitcoin address type ('legacy', 'segwit', 'bech32' or 'taproot').", - examples: ['bech32'], - }, - { - name: 'network', - type: BITCOIN_NETWORK_TYPE, - required: false, - description: "The bitcoin network ('mainnet' or 'testnet').", - examples: ['testnet'], - }, - ], - }, - }, - { - keyword: 'finance.creditCardCVV', - delegate: { - type: 'faker', - target: 'finance.creditCardCVV', - }, - help: { - summary: 'Generates a random credit card CVV.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateCreditCardCvvValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.creditCardCVV', - sampleReturnValue: '470', - description: 'Shows the default finance.creditCardCVV call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.creditCardIssuer', - delegate: { - type: 'faker', - target: 'finance.creditCardIssuer', - }, - help: { - summary: 'Returns a random credit card issuer.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.creditCardIssuer', - sampleReturnValue: 'discover', - description: 'Shows the default finance.creditCardIssuer call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.creditCardNumber', - delegate: { - type: 'faker', - target: 'finance.creditCardNumber', - }, - help: { - summary: 'Generates a random credit card number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateCreditCardNumberValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.creditCardNumber()', - sampleReturnValue: '6503-1013-3546-2805', - description: 'Shows finance.creditCardNumber when optional params are omitted.', - }, - { - functionCall: 'finance.creditCardNumber(issuer="Visa")', - sampleReturnValue: '4703101335466', - description: 'Shows finance.creditCardNumber using issuer.', - }, - ], - args: [ - { - name: 'issuer', - type: 'string', - required: false, - description: 'Issuer or provider value used to constrain generated output.', - }, - ], - }, - }, - { - keyword: 'finance.currency', - delegate: { - type: 'faker', - target: 'finance.currency', - }, - help: { - summary: 'Returns a random currency object, containing `code`, `name`, `symbol`, and `numericCode` properties.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'finance.currency', - sampleReturnValue: { - name: 'Jordanian Dinar', - code: 'JOD', - symbol: '', - numericCode: '400', - }, - description: 'Shows the default finance.currency call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.currencyCode', - delegate: { - type: 'faker', - target: 'finance.currencyCode', - }, - help: { - summary: 'Returns a random currency code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateCurrencyCodeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.currencyCode', - sampleReturnValue: 'JOD', - description: 'Shows the default finance.currencyCode call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.currencyName', - delegate: { - type: 'faker', - target: 'finance.currencyName', - }, - help: { - summary: 'Returns a random currency name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.currencyName', - sampleReturnValue: 'Jordanian Dinar', - description: 'Shows the default finance.currencyName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.currencyNumericCode', - delegate: { - type: 'faker', - target: 'finance.currencyNumericCode', - }, - help: { - summary: 'Returns a random currency numeric code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateCurrencyNumericCodeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.currencyNumericCode', - sampleReturnValue: '400', - description: 'Shows the default finance.currencyNumericCode call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.currencySymbol', - delegate: { - type: 'faker', - target: 'finance.currencySymbol', - }, - help: { - summary: 'Returns a random currency symbol.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.currencySymbol', - sampleReturnValue: 'руб', - description: 'Shows the default finance.currencySymbol call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.ethereumAddress', - delegate: { - type: 'faker', - target: 'finance.ethereumAddress', - }, - help: { - summary: 'Creates a random, non-checksum Ethereum address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateEthereumAddressValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.ethereumAddress', - sampleReturnValue: '0x9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a', - description: 'Shows the default finance.ethereumAddress call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.iban', - delegate: { - type: 'faker', - target: 'finance.iban', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random IBAN.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateIbanValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.iban()', - sampleReturnValue: 'IE39SAHD00454601410936', - description: 'Shows finance.iban when optional params are omitted.', - }, - { - functionCall: 'finance.iban(countryCode="GB")', - sampleReturnValue: 'GB98KSAH00235420410936', - description: 'Shows finance.iban using countryCode.', - }, - { - functionCall: 'finance.iban(formatted=true)', - sampleReturnValue: 'IE39 SAHD 0045 4601 4109 36', - description: 'Shows finance.iban using formatted.', - }, - ], - args: [ - { - name: 'countryCode', - type: 'string', - required: false, - description: - 'The country code from which you want to generate an IBAN, if none is provided a random country will be used.', - examples: ['GB'], - }, - { - name: 'formatted', - type: 'boolean', - required: false, - description: 'Return a formatted version of the generated IBAN.', - examples: [true], - }, - ], - }, - }, - { - keyword: 'finance.litecoinAddress', - delegate: { - type: 'faker', - target: 'finance.litecoinAddress', - }, - help: { - summary: 'Generates a random Litecoin address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateLitecoinAddressValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.litecoinAddress', - sampleReturnValue: '31i96bmpxqFcS2Eqy9cNYjGST53aS', - description: 'Shows the default finance.litecoinAddress call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.pin', - delegate: { - type: 'faker', - target: 'finance.pin', - }, - help: { - summary: 'Generates a random PIN number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validatePinValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.pin()', - sampleReturnValue: '4703', - description: 'Shows finance.pin when optional params are omitted.', - }, - { - functionCall: 'finance.pin(length=5)', - sampleReturnValue: '47031', - description: 'Shows finance.pin using length.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - ], - }, - }, - { - keyword: 'finance.routingNumber', - delegate: { - type: 'faker', - target: 'finance.routingNumber', - }, - help: { - summary: 'Generates a random routing number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateRoutingNumberValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.routingNumber', - sampleReturnValue: '470310139', - description: 'Shows the default finance.routingNumber call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.transactionDescription', - delegate: { - type: 'faker', - target: 'finance.transactionDescription', - }, - help: { - summary: 'Generates a random transaction description.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.transactionDescription', - sampleReturnValue: - 'You made a payment of AED 302.33 at Hegmann - Johnston using card ending in ****6280 from account ***6451.', - description: 'Shows the default finance.transactionDescription call.', - }, - ], - args: [], - }, - }, - { - keyword: 'finance.transactionType', - delegate: { - type: 'faker', - target: 'finance.transactionType', - }, - help: { - summary: 'Returns a random transaction type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', - fakerDocsUrl: 'https://fakerjs.dev/api/finance', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'finance.transactionType', - sampleReturnValue: 'invoice', - description: 'Shows the default finance.transactionType call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-food-keyword-definitions.js b/packages/core/js/domain/domain-faker-food-keyword-definitions.js deleted file mode 100644 index 2188a369..00000000 --- a/packages/core/js/domain/domain-faker-food-keyword-definitions.js +++ /dev/null @@ -1,204 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS = [ - { - keyword: 'food.adjective', - delegate: { - type: 'faker', - target: 'food.adjective', - }, - help: { - summary: 'Generates a random dish adjective.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.adjective', - sampleReturnValue: 'juicy', - description: 'Shows the default food.adjective call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.description', - delegate: { - type: 'faker', - target: 'food.description', - }, - help: { - summary: 'Generates a random dish description.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.description', - sampleReturnValue: 'An exquisite artichoke dish, paired with brown rice and a hint of cardamom.', - description: 'Shows the default food.description call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.dish', - delegate: { - type: 'faker', - target: 'food.dish', - }, - help: { - summary: 'Generates a random dish name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.dish', - sampleReturnValue: 'Cinnamon-crusted Chicken', - description: 'Shows the default food.dish call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.ethnicCategory', - delegate: { - type: 'faker', - target: 'food.ethnicCategory', - }, - help: { - summary: "Generates a random food's ethnic category.", - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.ethnicCategory', - sampleReturnValue: 'Indonesian', - description: 'Shows the default food.ethnicCategory call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.fruit', - delegate: { - type: 'faker', - target: 'food.fruit', - }, - help: { - summary: 'Generates a random fruit name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.fruit', - sampleReturnValue: 'grapefruit', - description: 'Shows the default food.fruit call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.ingredient', - delegate: { - type: 'faker', - target: 'food.ingredient', - }, - help: { - summary: 'Generates a random ingredient name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.ingredient', - sampleReturnValue: 'green pepper', - description: 'Shows the default food.ingredient call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.meat', - delegate: { - type: 'faker', - target: 'food.meat', - }, - help: { - summary: 'Generates a random meat', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.meat', - sampleReturnValue: 'kangaroo', - description: 'Shows the default food.meat call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.spice', - delegate: { - type: 'faker', - target: 'food.spice', - }, - help: { - summary: 'Generates a random spice name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.spice', - sampleReturnValue: 'fines herbes', - description: 'Shows the default food.spice call.', - }, - ], - args: [], - }, - }, - { - keyword: 'food.vegetable', - delegate: { - type: 'faker', - target: 'food.vegetable', - }, - help: { - summary: 'Generates a random vegetable name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', - fakerDocsUrl: 'https://fakerjs.dev/api/food', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'food.vegetable', - sampleReturnValue: 'eggplant', - description: 'Shows the default food.vegetable call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-git-keyword-definitions.js b/packages/core/js/domain/domain-faker-git-keyword-definitions.js deleted file mode 100644 index 92bffb1f..00000000 --- a/packages/core/js/domain/domain-faker-git-keyword-definitions.js +++ /dev/null @@ -1,121 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS = [ - { - keyword: 'git.branch', - delegate: { - type: 'faker', - target: 'git.branch', - }, - help: { - summary: 'Generates a random branch name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', - fakerDocsUrl: 'https://fakerjs.dev/api/git', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'git.branch', - sampleReturnValue: 'firewall-parse', - description: 'Shows the default git.branch call.', - }, - ], - args: [], - }, - }, - { - keyword: 'git.commitDate', - delegate: { - type: 'faker', - target: 'git.commitDate', - }, - help: { - summary: 'Generates a date string for a git commit using the same format as `git log`.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', - fakerDocsUrl: 'https://fakerjs.dev/api/git', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'git.commitDate', - sampleReturnValue: 'Thu Jun 18 01:55:50 2026 +0600', - description: 'Shows the default git.commitDate call.', - }, - ], - args: [], - }, - }, - { - keyword: 'git.commitEntry', - delegate: { - type: 'faker', - target: 'git.commitEntry', - }, - help: { - summary: 'Generates a random commit entry as printed by `git log`.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', - fakerDocsUrl: 'https://fakerjs.dev/api/git', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'git.commitEntry', - sampleReturnValue: - 'commit f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0af\r\n' + - 'Author: Ricardo Upton \r\n' + - 'Date: Wed Jun 17 19:26:37 2026 +0300\r\n' + - '\r\n' + - '    parse auxiliary feed\r\n', - description: 'Shows the default git.commitEntry call.', - }, - ], - args: [], - }, - }, - { - keyword: 'git.commitMessage', - delegate: { - type: 'faker', - target: 'git.commitMessage', - }, - help: { - summary: 'Generates a random commit message.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', - fakerDocsUrl: 'https://fakerjs.dev/api/git', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'git.commitMessage', - sampleReturnValue: 'hack optical alarm', - description: 'Shows the default git.commitMessage call.', - }, - ], - args: [], - }, - }, - { - keyword: 'git.commitSha', - delegate: { - type: 'faker', - target: 'git.commitSha', - }, - help: { - summary: 'Generates a random commit sha.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', - fakerDocsUrl: 'https://fakerjs.dev/api/git', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'git.commitSha', - sampleReturnValue: '9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a', - description: 'Shows the default git.commitSha call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js b/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js deleted file mode 100644 index ddeacc86..00000000 --- a/packages/core/js/domain/domain-faker-hacker-keyword-definitions.js +++ /dev/null @@ -1,138 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS = [ - { - keyword: 'hacker.abbreviation', - delegate: { - type: 'faker', - target: 'hacker.abbreviation', - }, - help: { - summary: 'Returns a random hacker/IT abbreviation.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', - fakerDocsUrl: 'https://fakerjs.dev/api/hacker', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'hacker.abbreviation', - sampleReturnValue: 'IP', - description: 'Shows the default hacker.abbreviation call.', - }, - ], - args: [], - }, - }, - { - keyword: 'hacker.adjective', - delegate: { - type: 'faker', - target: 'hacker.adjective', - }, - help: { - summary: 'Returns a random hacker/IT adjective.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', - fakerDocsUrl: 'https://fakerjs.dev/api/hacker', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'hacker.adjective', - sampleReturnValue: 'mobile', - description: 'Shows the default hacker.adjective call.', - }, - ], - args: [], - }, - }, - { - keyword: 'hacker.ingverb', - delegate: { - type: 'faker', - target: 'hacker.ingverb', - }, - help: { - summary: 'Returns a random hacker/IT verb for continuous actions (en: ing suffix; e.g. hacking).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', - fakerDocsUrl: 'https://fakerjs.dev/api/hacker', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'hacker.ingverb', - sampleReturnValue: 'generating', - description: 'Shows the default hacker.ingverb call.', - }, - ], - args: [], - }, - }, - { - keyword: 'hacker.noun', - delegate: { - type: 'faker', - target: 'hacker.noun', - }, - help: { - summary: 'Returns a random hacker/IT noun.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', - fakerDocsUrl: 'https://fakerjs.dev/api/hacker', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'hacker.noun', - sampleReturnValue: 'firewall', - description: 'Shows the default hacker.noun call.', - }, - ], - args: [], - }, - }, - { - keyword: 'hacker.phrase', - delegate: { - type: 'faker', - target: 'hacker.phrase', - }, - help: { - summary: 'Generates a random hacker/IT phrase.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', - fakerDocsUrl: 'https://fakerjs.dev/api/hacker', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'hacker.phrase', - sampleReturnValue: 'Try to back up the COM bus, maybe it will hack the mobile bus!', - description: 'Shows the default hacker.phrase call.', - }, - ], - args: [], - }, - }, - { - keyword: 'hacker.verb', - delegate: { - type: 'faker', - target: 'hacker.verb', - }, - help: { - summary: 'Returns a random hacker/IT verb.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', - fakerDocsUrl: 'https://fakerjs.dev/api/hacker', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'hacker.verb', - sampleReturnValue: 'hack', - description: 'Shows the default hacker.verb call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-image-keyword-definitions.js b/packages/core/js/domain/domain-faker-image-keyword-definitions.js deleted file mode 100644 index 15c70262..00000000 --- a/packages/core/js/domain/domain-faker-image-keyword-definitions.js +++ /dev/null @@ -1,163 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS = [ - { - keyword: 'image.avatar', - delegate: { - type: 'faker', - target: 'image.avatar', - }, - help: { - summary: 'Generates a random avatar image url.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', - fakerDocsUrl: 'https://fakerjs.dev/api/image', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'image.avatar', - sampleReturnValue: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/0.jpg', - description: 'Shows the default image.avatar call.', - }, - ], - args: [], - }, - }, - { - keyword: 'image.avatarGitHub', - delegate: { - type: 'faker', - target: 'image.avatarGitHub', - }, - help: { - summary: 'Generates a random avatar from GitHub.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', - fakerDocsUrl: 'https://fakerjs.dev/api/image', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'image.avatarGitHub', - sampleReturnValue: 'https://avatars.githubusercontent.com/u/41702200', - description: 'Shows the default image.avatarGitHub call.', - }, - ], - args: [], - }, - }, - { - keyword: 'image.dataUri', - delegate: { - type: 'faker', - target: 'image.dataUri', - }, - help: { - summary: 'Generates a random data uri containing an URL-encoded SVG image or a Base64-encoded SVG image.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', - fakerDocsUrl: 'https://fakerjs.dev/api/image', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'image.dataUri', - sampleReturnValue: - 'data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%221668%22%20height%3D%222881%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22%23063247%22%2F%3E%3Ctext%20x%3D%22834%22%20y%3D%221440.5%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E1668x2881%3C%2Ftext%3E%3C%2Fsvg%3E', - description: 'Shows the default image.dataUri call.', - }, - ], - args: [], - }, - }, - { - keyword: 'image.personPortrait', - delegate: { - type: 'faker', - target: 'image.personPortrait', - }, - help: { - summary: 'Generates a random square portrait (avatar) of a person.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', - fakerDocsUrl: 'https://fakerjs.dev/api/image', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'image.personPortrait', - sampleReturnValue: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/72.jpg', - description: 'Shows the default image.personPortrait call.', - }, - ], - args: [], - }, - }, - { - keyword: 'image.url', - delegate: { - type: 'faker', - target: 'image.url', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random image url.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', - fakerDocsUrl: 'https://fakerjs.dev/api/image', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'image.url()', - sampleReturnValue: 'https://picsum.photos/seed/i95bl/1668/2881', - description: 'Shows image.url when optional params are omitted.', - }, - { - functionCall: 'image.url(height=1)', - sampleReturnValue: 'https://picsum.photos/seed/0i95bloxp/1668/1', - description: 'Shows image.url using height.', - }, - { - functionCall: 'image.url(width=1)', - sampleReturnValue: 'https://picsum.photos/seed/0i95bloxp/1/1668', - description: 'Shows image.url using width.', - }, - ], - args: [ - { - name: 'height', - type: 'number', - required: false, - description: 'The height of the image.', - }, - { - name: 'width', - type: 'number', - required: false, - description: 'The width of the image.', - }, - ], - }, - }, - { - keyword: 'image.urlPicsumPhotos', - delegate: { - type: 'faker', - target: 'image.urlPicsumPhotos', - }, - help: { - summary: 'Generates a random image url provided via https://picsum.photos.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', - fakerDocsUrl: 'https://fakerjs.dev/api/image', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'image.urlPicsumPhotos', - sampleReturnValue: 'https://picsum.photos/seed/5blox/1668/2881?grayscale&blur=3', - description: 'Shows the default image.urlPicsumPhotos call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-internet-keyword-definitions.js b/packages/core/js/domain/domain-faker-internet-keyword-definitions.js deleted file mode 100644 index b7224460..00000000 --- a/packages/core/js/domain/domain-faker-internet-keyword-definitions.js +++ /dev/null @@ -1,720 +0,0 @@ -import { - createStringEnumValidator, - validateEmailValue, - validateExampleEmailValue, - validateIpValue, - validateIpv4Value, - validateIpv6Value, - validateJwtValue, - validateMacAddressValue, - validateNumberValue, - validateStringValue, - validateUrlValue, -} from '../command-help/command-help-validators.js'; - -const HTTP_PROTOCOL_RETURN_TYPE = 'http|https'; -const IPV4_NETWORK_TYPE = - 'any|loopback|private-a|private-b|private-c|test-net-1|test-net-2|test-net-3|link-local|multicast'; -const MAC_SEPARATOR_TYPE = '":"|"-"|""'; -const JWT_ALGORITHM_RETURN_TYPE = 'ES256|ES384|ES512|HS256|HS384|HS512|PS256|PS384|PS512|RS256|RS384|RS512|none'; -const validateProtocolValue = createStringEnumValidator(HTTP_PROTOCOL_RETURN_TYPE.split('|')); -const validateJwtAlgorithmValue = createStringEnumValidator(JWT_ALGORITHM_RETURN_TYPE.split('|')); - -const DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS = [ - { - keyword: 'internet.displayName', - delegate: { - type: 'faker', - target: 'internet.displayName', - }, - help: { - summary: "Generates a display name using the given person's name as base.", - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.displayName', - sampleReturnValue: 'Aaliyah.Bosco', - description: 'Shows the default internet.displayName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.domainName', - delegate: { - type: 'faker', - target: 'internet.domainName', - }, - help: { - summary: 'Generates a random domain name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.domainName', - sampleReturnValue: 'inferior-punctuation.biz', - description: 'Shows the default internet.domainName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.domainSuffix', - delegate: { - type: 'faker', - target: 'internet.domainSuffix', - }, - help: { - summary: 'Returns a random domain suffix.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.domainSuffix', - sampleReturnValue: 'info', - description: 'Shows the default internet.domainSuffix call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.domainWord', - delegate: { - type: 'faker', - target: 'internet.domainWord', - }, - help: { - summary: 'Generates a random domain word.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.domainWord', - sampleReturnValue: 'inferior-punctuation', - description: 'Shows the default internet.domainWord call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.email', - delegate: { - type: 'faker', - target: 'internet.email', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates data using faker internet email.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateEmailValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.email()', - sampleReturnValue: 'Edwin.Dibbert@hotmail.com', - description: 'Shows internet.email when optional params are omitted.', - }, - { - functionCall: 'internet.email(allowSpecialCharacters=true)', - sampleReturnValue: 'Edwin.Dibbert@hotmail.com', - description: 'Shows internet.email using allowSpecialCharacters.', - }, - { - functionCall: 'internet.email(firstName="Ada")', - sampleReturnValue: 'Ada.Gutmann9@hotmail.com', - description: 'Shows internet.email using firstName.', - }, - { - functionCall: 'internet.email(lastName="Lovelace")', - sampleReturnValue: 'Edwin.Lovelace9@hotmail.com', - description: 'Shows internet.email using lastName.', - }, - { - functionCall: 'internet.email(provider="example.com")', - sampleReturnValue: 'Aaliyah.Bosco@example.com', - description: 'Shows internet.email using provider.', - }, - ], - args: [ - { - name: 'allowSpecialCharacters', - type: 'boolean', - required: false, - description: - "Whether special characters such as .!#$%&'*+-/=?^_`{|}~ should be included in the email address.", - }, - { - name: 'firstName', - type: 'string', - required: false, - description: 'The optional first name to use.', - }, - { - name: 'lastName', - type: 'string', - required: false, - description: 'The optional last name to use.', - }, - { - name: 'provider', - type: 'string', - required: false, - description: 'The mail provider domain to use. If not specified, a random free mail provider will be chosen.', - }, - ], - }, - }, - { - keyword: 'internet.emoji', - delegate: { - type: 'faker', - target: 'internet.emoji', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random emoji.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.emoji()', - sampleReturnValue: '🥣', - description: 'Shows internet.emoji when optional params are omitted.', - }, - { - functionCall: 'internet.emoji(types=["food"])', - sampleReturnValue: '🍲', - description: 'Shows internet.emoji using types.', - }, - ], - args: [ - { - name: 'types', - type: 'array', - required: false, - description: 'A list of the emoji types that should be used.', - examples: [['food']], - }, - ], - }, - }, - { - keyword: 'internet.exampleEmail', - delegate: { - type: 'faker', - target: 'internet.exampleEmail', - }, - help: { - summary: 'Generates data using faker internet example email.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateExampleEmailValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.exampleEmail', - sampleReturnValue: 'Edwin.Dibbert@example.net', - description: 'Shows the default internet.exampleEmail call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.httpStatusCode', - delegate: { - type: 'faker', - target: 'internet.httpStatusCode', - }, - help: { - summary: 'Generates a random HTTP status code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateNumberValue, - returnType: 'number', - usageExamples: [ - { - functionCall: 'internet.httpStatusCode', - sampleReturnValue: 306, - description: 'Shows the default internet.httpStatusCode call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.ip', - delegate: { - type: 'faker', - target: 'internet.ip', - }, - help: { - summary: 'Generates a random IPv4 or IPv6 address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateIpValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.ip', - sampleReturnValue: '184.103.47.157', - description: 'Shows the default internet.ip call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.ipv4', - delegate: { - type: 'faker', - target: 'internet.ipv4', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random IPv4 address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateIpv4Value, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.ipv4()', - sampleReturnValue: '106.193.244.63', - description: 'Shows internet.ipv4 when optional params are omitted.', - }, - { - functionCall: 'internet.ipv4(cidrBlock="192.168.0.0/24")', - sampleReturnValue: '192.168.0.106', - description: 'Shows internet.ipv4 using cidrBlock.', - }, - { - functionCall: 'internet.ipv4(network="private-a")', - sampleReturnValue: '10.106.193.244', - description: 'Shows internet.ipv4 using network.', - }, - ], - args: [ - { - name: 'cidrBlock', - type: 'string', - required: false, - description: 'The optional CIDR block to use. Must be in the format x.x.x.x/y.', - examples: ['192.168.0.0/24'], - }, - { - name: 'network', - type: IPV4_NETWORK_TYPE, - required: false, - description: 'The optional network to use. This is intended as an alias for well-known cidrBlocks.', - examples: ['private-a'], - }, - ], - }, - }, - { - keyword: 'internet.ipv6', - delegate: { - type: 'faker', - target: 'internet.ipv6', - }, - help: { - summary: 'Generates a random IPv6 address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateIpv6Value, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.ipv6', - sampleReturnValue: '9f06:3247:8b9f:4d0e:9c34:bf6f:dd10:3d29', - description: 'Shows the default internet.ipv6 call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.jwt', - delegate: { - type: 'faker', - target: 'internet.jwt', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random JWT (JSON Web Token).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateJwtValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.jwt()', - sampleReturnValue: - 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTc0Nzc2MSwibmJmIjoxNzY5MzMwODQwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u', - description: 'Shows internet.jwt when optional params are omitted.', - }, - { - functionCall: 'internet.jwt(header={"value":"sample"})', - sampleReturnValue: - 'eyJ2YWx1ZSI6InNhbXBsZSJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTgwOTk4NywibmJmIjoxNzUwMjY5MzM0LCJpc3MiOiJEaWJiZXJ0IC0gTGluZCIsInN1YiI6IjZhM2UwYTY4LTIzY2YtNDViZS1iZTEwLTJlMTZmOGI1YWQwYyIsImF1ZCI6ImI0YzE3ZTQ0LTIwYTMtNDQ3MC04OTI5LWIxNmI2MDhhOGY5ZSIsImp0aSI6IjJjNjJlNWNiLWU5YzUtNDRlNi1iZmE5LTFmNzk2M2U5MDk1OCJ9.mUC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914', - description: 'Shows internet.jwt using header.', - }, - { - functionCall: 'internet.jwt(payload={"value":"sample"})', - sampleReturnValue: - 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2YWx1ZSI6InNhbXBsZSJ9.0i95bloxpGcS1Fpy8cNYjGST52aS6qXxGjGP1KZKhM6rUih81Gdgu3z9AH6pHp3x', - description: 'Shows internet.jwt using payload.', - }, - { - functionCall: 'internet.jwt(refDate=1718755200000)', - sampleReturnValue: - 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTg3MDQ4MzAsImV4cCI6MTcxODcwNDg0MSwibmJmIjoxNzA2Mjg3OTIwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u', - description: 'Shows internet.jwt using refDate.', - }, - ], - args: [ - { - name: 'header', - type: 'object', - required: false, - description: 'The header to use for the token. If present, it will replace any default values.', - }, - { - name: 'payload', - type: 'object', - required: false, - description: 'The payload to use for the token. If present, it will replace any default values.', - }, - { - name: 'refDate', - type: 'number', - required: false, - description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', - }, - ], - }, - }, - { - keyword: 'internet.jwtAlgorithm', - delegate: { - type: 'faker', - target: 'internet.jwtAlgorithm', - }, - help: { - summary: 'Generates a random JWT (JSON Web Token) Algorithm.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateJwtAlgorithmValue, - returnType: JWT_ALGORITHM_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'internet.jwtAlgorithm', - sampleReturnValue: 'HS512', - description: 'Shows the default internet.jwtAlgorithm call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.mac', - delegate: { - type: 'faker', - target: 'internet.mac', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random mac address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateMacAddressValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.mac()', - sampleReturnValue: '6b:04:21:25:68:6a', - description: 'Shows internet.mac when optional params are omitted.', - }, - { - functionCall: 'internet.mac(separator="-")', - sampleReturnValue: '6b-04-21-25-68-6a', - description: 'Shows internet.mac using separator.', - }, - ], - args: [ - { - name: 'separator', - type: MAC_SEPARATOR_TYPE, - required: false, - description: "The optional separator to use. Can be either ':', '-' or ''.", - }, - ], - }, - }, - { - keyword: 'internet.password', - delegate: { - type: 'faker', - target: 'internet.password', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: - 'Generates a random password-like string. Do not use this method for generating actual passwords for users.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.password()', - sampleReturnValue: 'He2AFTHb4tHV3mb', - description: 'Shows internet.password with all optional params omitted.', - }, - { - functionCall: 'internet.password(length=12)', - sampleReturnValue: 'He2AFTHb4tHV', - description: 'Shows internet.password using only a custom length.', - }, - { - functionCall: 'internet.password(memorable=true)', - sampleReturnValue: 'hefutisawetikub', - description: 'Shows internet.password using only the memorable flag.', - }, - { - functionCall: 'internet.password(length=12, memorable=true)', - sampleReturnValue: 'hefutisaweti', - description: 'Shows internet.password generating a memorable password-like string.', - }, - { - functionCall: 'internet.password(pattern="[A-Z]")', - sampleReturnValue: 'HAFTHHVISKOWXHH', - description: 'Shows internet.password constrained only by a regex-style pattern.', - }, - { - functionCall: 'internet.password(length=12, memorable=false, pattern="[A-Z]")', - sampleReturnValue: 'HAFTHHVISKOW', - description: 'Shows internet.password constrained by a regex-style pattern.', - }, - { - functionCall: 'internet.password(prefix="#")', - sampleReturnValue: '#He2AFTHb4tHV3m', - description: 'Shows internet.password using only the prefix option.', - }, - { - functionCall: 'internet.password(length=12, memorable=false, pattern="[A-Z]", prefix="#")', - sampleReturnValue: '#HAFTHHVISKO', - description: 'Shows internet.password using length, pattern, and prefix together.', - }, - ], - args: [ - { - name: 'length', - type: 'integer', - required: false, - description: 'The length of the password to generate.', - examples: [12], - }, - { - name: 'memorable', - type: 'boolean', - required: false, - description: 'Whether the generated password should be memorable.', - examples: [true], - }, - { - name: 'pattern', - type: 'regexp', - required: false, - description: 'The pattern that all chars should match. This option will be ignored, if memorable is true.', - examples: ['[A-Z]'], - }, - { - name: 'prefix', - type: 'string', - required: false, - description: 'The prefix to use.', - examples: ['#'], - }, - ], - }, - }, - { - keyword: 'internet.port', - delegate: { - type: 'faker', - target: 'internet.port', - }, - help: { - summary: 'Generates a random port number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateNumberValue, - returnType: 'number', - usageExamples: [ - { - functionCall: 'internet.port', - sampleReturnValue: 27329, - description: 'Shows the default internet.port call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.protocol', - delegate: { - type: 'faker', - target: 'internet.protocol', - }, - help: { - summary: 'Returns a random web protocol. Either `http` or `https`.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateProtocolValue, - returnType: HTTP_PROTOCOL_RETURN_TYPE, - usageExamples: [ - { - functionCall: 'internet.protocol', - sampleReturnValue: 'http', - description: 'Shows the default internet.protocol call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.url', - delegate: { - type: 'faker', - target: 'internet.url', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random http(s) url.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateUrlValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.url()', - sampleReturnValue: 'https://self-reliant-cd.com/', - description: 'Shows internet.url when optional params are omitted.', - }, - { - functionCall: 'internet.url(appendSlash=true)', - sampleReturnValue: 'https://inferior-punctuation.biz/', - description: 'Shows internet.url using appendSlash.', - }, - { - functionCall: 'internet.url(protocol="https")', - sampleReturnValue: 'https://self-reliant-cd.com/', - description: 'Shows internet.url using protocol.', - }, - ], - args: [ - { - name: 'appendSlash', - type: 'boolean', - required: false, - description: 'Whether to append a slash to the end of the url (path).', - }, - { - name: 'protocol', - type: HTTP_PROTOCOL_RETURN_TYPE, - required: false, - description: 'The protocol to use.', - }, - ], - }, - }, - { - keyword: 'internet.userAgent', - delegate: { - type: 'faker', - target: 'internet.userAgent', - }, - help: { - summary: 'Generates a random user agent string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.userAgent', - sampleReturnValue: - 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/586.0.30 (KHTML, like Gecko) Version/16.1 Safari/546.9.18', - description: 'Shows the default internet.userAgent call.', - }, - ], - args: [], - }, - }, - { - keyword: 'internet.username', - delegate: { - type: 'faker', - target: 'internet.username', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: "Generates a username using the given person's name as base.", - docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', - fakerDocsUrl: 'https://fakerjs.dev/api/internet', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'internet.username()', - sampleReturnValue: 'Aaliyah.Bosco', - description: 'Shows internet.username when optional params are omitted.', - }, - { - functionCall: 'internet.username(firstName="Ada")', - sampleReturnValue: 'Ada.Abbott14', - description: 'Shows internet.username using firstName.', - }, - { - functionCall: 'internet.username(lastName="Lovelace")', - sampleReturnValue: 'Aaliyah.Lovelace14', - description: 'Shows internet.username using lastName.', - }, - ], - args: [ - { - name: 'firstName', - type: 'string', - required: false, - description: 'The optional first name to use.', - }, - { - name: 'lastName', - type: 'string', - required: false, - description: 'The optional last name to use.', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-location-keyword-definitions.js b/packages/core/js/domain/domain-faker-location-keyword-definitions.js deleted file mode 100644 index 13ab7287..00000000 --- a/packages/core/js/domain/domain-faker-location-keyword-definitions.js +++ /dev/null @@ -1,563 +0,0 @@ -import { - validateArrayValue, - validateCountryCodeValue, - validateNumberValue, - validateObjectValue, - validateStringValue, - validateTimeZoneValue, -} from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS = [ - { - keyword: 'location.buildingNumber', - delegate: { - type: 'faker', - target: 'location.buildingNumber', - }, - help: { - summary: 'Generates a random building number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.buildingNumber', - sampleReturnValue: '7031', - description: 'Shows the default location.buildingNumber call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.cardinalDirection', - delegate: { - type: 'faker', - target: 'location.cardinalDirection', - }, - help: { - summary: 'Returns a random cardinal direction (north, east, south, west).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.cardinalDirection', - sampleReturnValue: 'East', - description: 'Shows the default location.cardinalDirection call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.city', - delegate: { - type: 'faker', - target: 'location.city', - }, - help: { - summary: 'Generates a random localized city name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.city', - sampleReturnValue: 'Edwinville', - description: 'Shows the default location.city call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.continent', - delegate: { - type: 'faker', - target: 'location.continent', - }, - help: { - summary: 'Returns a random continent name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.continent', - sampleReturnValue: 'Asia', - description: 'Shows the default location.continent call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.country', - delegate: { - type: 'faker', - target: 'location.country', - }, - help: { - summary: 'Returns a random country name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.country', - sampleReturnValue: 'India', - description: 'Shows the default location.country call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.countryCode', - delegate: { - type: 'faker', - target: 'location.countryCode', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random ISO_3166-1 country code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateCountryCodeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.countryCode()', - sampleReturnValue: 'IM', - description: 'Shows location.countryCode when optional params are omitted.', - }, - { - functionCall: 'location.countryCode(variant="alpha-3")', - sampleReturnValue: 'IMN', - description: 'Shows location.countryCode using variant.', - }, - ], - args: [ - { - name: 'variant', - type: 'alpha-2|alpha-3|numeric', - required: false, - description: - "The code to return. Can be either 'alpha-2' (two-letter code), 'alpha-3' (three-letter code) or 'numeric' (numeric code).", - examples: ['alpha-3'], - }, - ], - }, - }, - { - keyword: 'location.county', - delegate: { - type: 'faker', - target: 'location.county', - }, - help: { - summary: - "Returns a random localized county, or other equivalent second-level administrative entity for the locale's country such as a district or department.", - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.county', - sampleReturnValue: 'Cleveland', - description: 'Shows the default location.county call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.direction', - delegate: { - type: 'faker', - target: 'location.direction', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random direction (cardinal and ordinal; northwest, east, etc).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.direction()', - sampleReturnValue: 'West', - description: 'Shows location.direction when optional params are omitted.', - }, - { - functionCall: 'location.direction(abbreviated=true)', - sampleReturnValue: 'W', - description: 'Shows location.direction using abbreviated.', - }, - ], - args: [ - { - name: 'abbreviated', - type: 'boolean', - required: false, - description: - 'If true this will return abbreviated directions (NW, E, etc). Otherwise this will return the long name.', - }, - ], - }, - }, - { - keyword: 'location.language', - delegate: { - type: 'faker', - target: 'location.language', - }, - help: { - summary: 'Returns a random spoken language.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'location.language', - sampleReturnValue: { - name: 'Punjabi', - alpha2: 'pa', - alpha3: 'pan', - }, - description: 'Shows the default location.language call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.latitude', - delegate: { - type: 'faker', - target: 'location.latitude', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random latitude.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateNumberValue, - returnType: 'number', - usageExamples: [ - { - functionCall: 'location.latitude()', - sampleReturnValue: -14.936, - description: 'Shows location.latitude when optional params are omitted.', - }, - { - functionCall: 'location.latitude(max=10, min=1)', - sampleReturnValue: 4.7532, - description: 'Shows location.latitude using min.', - }, - { - functionCall: 'location.latitude(max=5)', - sampleReturnValue: -50.3829, - description: 'Shows location.latitude using max.', - }, - { - functionCall: 'location.latitude(precision=1)', - sampleReturnValue: -14.9, - description: 'Shows location.latitude using precision.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'The lower bound for the latitude to generate.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'The upper bound for the latitude to generate.', - }, - { - name: 'precision', - type: 'number', - required: false, - description: 'The number of decimal points of precision for the latitude.', - }, - ], - }, - }, - { - keyword: 'location.longitude', - delegate: { - type: 'faker', - target: 'location.longitude', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random longitude.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateNumberValue, - returnType: 'number', - usageExamples: [ - { - functionCall: 'location.longitude()', - sampleReturnValue: -29.8721, - description: 'Shows location.longitude when optional params are omitted.', - }, - { - functionCall: 'location.longitude(max=10, min=1)', - sampleReturnValue: 4.7532, - description: 'Shows location.longitude using min.', - }, - { - functionCall: 'location.longitude(max=5)', - sampleReturnValue: -102.8509, - description: 'Shows location.longitude using max.', - }, - { - functionCall: 'location.longitude(precision=1)', - sampleReturnValue: -29.9, - description: 'Shows location.longitude using precision.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'The lower bound for the longitude to generate.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'The upper bound for the longitude to generate.', - }, - { - name: 'precision', - type: 'number', - required: false, - description: 'The number of decimal points of precision for the longitude.', - }, - ], - }, - }, - { - keyword: 'location.nearbyGPSCoordinate', - delegate: { - type: 'faker', - target: 'location.nearbyGPSCoordinate', - }, - help: { - summary: 'Generates a random GPS coordinate within the specified radius from the given coordinate.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateArrayValue, - returnType: 'array', - usageExamples: [ - { - functionCall: 'location.nearbyGPSCoordinate', - sampleReturnValue: [-14.936, 79.3168], - description: 'Shows the default location.nearbyGPSCoordinate call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.ordinalDirection', - delegate: { - type: 'faker', - target: 'location.ordinalDirection', - }, - help: { - summary: 'Returns a random ordinal direction (northwest, southeast, etc).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.ordinalDirection', - sampleReturnValue: 'Northwest', - description: 'Shows the default location.ordinalDirection call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.secondaryAddress', - delegate: { - type: 'faker', - target: 'location.secondaryAddress', - }, - help: { - summary: 'Generates a random localized secondary address. This refers to a specific location at a given address', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.secondaryAddress', - sampleReturnValue: 'Apt. 703', - description: 'Shows the default location.secondaryAddress call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.state', - delegate: { - type: 'faker', - target: 'location.state', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: - "Returns a random localized state, or other equivalent first-level administrative entity for the locale's country such as a province or region.", - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.state()', - sampleReturnValue: 'Massachusetts', - description: 'Shows location.state when optional params are omitted.', - }, - { - functionCall: 'location.state(abbreviated=true)', - sampleReturnValue: 'MA', - description: 'Shows location.state using abbreviated.', - }, - ], - args: [ - { - name: 'abbreviated', - type: 'boolean', - required: false, - description: - 'If true this will return abbreviated first-level administrative entity names. Otherwise this will return the long name.', - }, - ], - }, - }, - { - keyword: 'location.street', - delegate: { - type: 'faker', - target: 'location.street', - }, - help: { - summary: 'Generates a random localized street name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.street', - sampleReturnValue: 'Gutmann Creek', - description: 'Shows the default location.street call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.streetAddress', - delegate: { - type: 'faker', - target: 'location.streetAddress', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random localized street address.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.streetAddress()', - sampleReturnValue: '7031 Iris Mill', - description: 'Shows location.streetAddress when optional params are omitted.', - }, - { - functionCall: 'location.streetAddress(useFullAddress=true)', - sampleReturnValue: '7031 Iris Mill Apt. 728', - description: 'Shows location.streetAddress using useFullAddress.', - }, - ], - args: [ - { - name: 'useFullAddress', - type: 'boolean', - required: false, - description: 'Whether to expand to a full address including secondary address information.', - }, - ], - }, - }, - { - keyword: 'location.timeZone', - delegate: { - type: 'faker', - target: 'location.timeZone', - }, - help: { - summary: 'Returns a random IANA time zone name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateTimeZoneValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.timeZone', - sampleReturnValue: 'America/Santiago', - description: 'Shows the default location.timeZone call.', - }, - ], - args: [], - }, - }, - { - keyword: 'location.zipCode', - delegate: { - type: 'faker', - target: 'location.zipCode', - }, - help: { - summary: 'Generates data using faker location zip code.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', - fakerDocsUrl: 'https://fakerjs.dev/api/location', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'location.zipCode', - sampleReturnValue: '70310', - description: 'Shows the default location.zipCode call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js b/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js deleted file mode 100644 index cb5bb614..00000000 --- a/packages/core/js/domain/domain-faker-lorem-keyword-definitions.js +++ /dev/null @@ -1,711 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const LOREM_WORD_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; - -const DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS = [ - { - keyword: 'lorem.lines', - delegate: { - type: 'faker', - target: 'lorem.lines', - }, - help: { - summary: "Generates the given number lines of lorem separated by `'\\n'`.", - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.lines()', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + - 'Stillicidium bardus utrimque acsi spargo cur.\n' + - 'Aqua avaritia thesaurus volo combibo stultus utor.', - description: 'Shows lorem.lines when optional params are omitted.', - }, - { - functionCall: 'lorem.lines(max=10, min=1)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.lines using min.', - }, - { - functionCall: 'lorem.lines(max=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + - 'Stillicidium bardus utrimque acsi spargo cur.\n' + - 'Aqua avaritia thesaurus volo combibo stultus utor.', - description: 'Shows lorem.lines using max.', - }, - { - functionCall: 'lorem.lines(lineCount=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + - 'Stillicidium bardus utrimque acsi spargo cur.\n' + - 'Aqua avaritia thesaurus volo combibo stultus utor.', - description: 'Shows lorem.lines using lineCount.', - }, - { - functionCall: 'lorem.lines(lineCountMax=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + - 'Stillicidium bardus utrimque acsi spargo cur.\n' + - 'Aqua avaritia thesaurus volo combibo stultus utor.', - description: 'Shows lorem.lines using lineCountMax.', - }, - { - functionCall: 'lorem.lines(lineCountMin=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + - 'Stillicidium bardus utrimque acsi spargo cur.\n' + - 'Aqua avaritia thesaurus volo combibo stultus utor.', - description: 'Shows lorem.lines using lineCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'lineCount', - type: 'number', - required: false, - description: 'Exact number of lines to generate.', - }, - { - name: 'lineCountMax', - type: 'number', - required: false, - description: 'The maximum number of lines to generate.', - }, - { - name: 'lineCountMin', - type: 'number', - required: false, - description: 'The minimum number of lines to generate.', - }, - ], - }, - }, - { - keyword: 'lorem.paragraph', - delegate: { - type: 'faker', - target: 'lorem.paragraph', - }, - help: { - summary: 'Generates a paragraph with the given number of sentences.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.paragraph()', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', - description: 'Shows lorem.paragraph when optional params are omitted.', - }, - { - functionCall: 'lorem.paragraph(max=10, min=1)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.paragraph using min.', - }, - { - functionCall: 'lorem.paragraph(max=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', - description: 'Shows lorem.paragraph using max.', - }, - { - functionCall: 'lorem.paragraph(sentenceCount=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', - description: 'Shows lorem.paragraph using sentenceCount.', - }, - { - functionCall: 'lorem.paragraph(sentenceCountMax=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', - description: 'Shows lorem.paragraph using sentenceCountMax.', - }, - { - functionCall: 'lorem.paragraph(sentenceCountMin=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', - description: 'Shows lorem.paragraph using sentenceCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'sentenceCount', - type: 'number', - required: false, - description: 'Number of sentences to generate.', - }, - { - name: 'sentenceCountMax', - type: 'number', - required: false, - description: 'The maximum number of sentences to generate.', - }, - { - name: 'sentenceCountMin', - type: 'number', - required: false, - description: 'The minimum number of sentences to generate.', - }, - ], - }, - }, - { - keyword: 'lorem.paragraphs', - delegate: { - type: 'faker', - target: 'lorem.paragraphs', - }, - help: { - summary: 'Generates the given number of paragraphs.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.paragraphs()', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + - 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + - 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', - description: 'Shows lorem.paragraphs when optional params are omitted.', - }, - { - functionCall: 'lorem.paragraphs(max=10, min=1)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', - description: 'Shows lorem.paragraphs using min.', - }, - { - functionCall: 'lorem.paragraphs(max=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.5Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.5Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', - description: 'Shows lorem.paragraphs using max.', - }, - { - functionCall: 'lorem.paragraphs(paragraphCount=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + - 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + - 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', - description: 'Shows lorem.paragraphs using paragraphCount.', - }, - { - functionCall: 'lorem.paragraphs(separator="-")', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + - 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + - 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', - description: 'Shows lorem.paragraphs using separator.', - }, - { - functionCall: 'lorem.paragraphs(paragraphCountMax=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + - 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + - 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', - description: 'Shows lorem.paragraphs using paragraphCountMax.', - }, - { - functionCall: 'lorem.paragraphs(paragraphCountMin=5)', - sampleReturnValue: - 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + - 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + - 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', - description: 'Shows lorem.paragraphs using paragraphCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'paragraphCount', - type: 'number', - required: false, - description: 'Number of paragraphs to generate.', - }, - { - name: 'separator', - type: 'string', - required: false, - description: 'Separator inserted between generated items.', - }, - { - name: 'paragraphCountMax', - type: 'number', - required: false, - description: 'The maximum number of paragraphs to generate.', - }, - { - name: 'paragraphCountMin', - type: 'number', - required: false, - description: 'The minimum number of paragraphs to generate.', - }, - ], - }, - }, - { - keyword: 'lorem.sentence', - delegate: { - type: 'faker', - target: 'lorem.sentence', - }, - help: { - summary: 'Generates a space separated list of words beginning with a capital letter and ending with a period.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.sentence()', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.sentence when optional params are omitted.', - }, - { - functionCall: 'lorem.sentence(max=10, min=1)', - sampleReturnValue: 'Cur.', - description: 'Shows lorem.sentence using min.', - }, - { - functionCall: 'lorem.sentence(max=5)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.sentence using max.', - }, - { - functionCall: 'lorem.sentence(wordCount=5)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.sentence using wordCount.', - }, - { - functionCall: 'lorem.sentence(wordCountMax=5)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.sentence using wordCountMax.', - }, - { - functionCall: 'lorem.sentence(wordCountMin=5)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.sentence using wordCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'wordCount', - type: 'number', - required: false, - description: 'Number of words to generate.', - }, - { - name: 'wordCountMax', - type: 'number', - required: false, - description: 'The maximum number of words to generate.', - }, - { - name: 'wordCountMin', - type: 'number', - required: false, - description: 'The minimum number of words to generate.', - }, - ], - }, - }, - { - keyword: 'lorem.sentences', - delegate: { - type: 'faker', - target: 'lorem.sentences', - }, - help: { - summary: 'Generates the given number of sentences.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.sentences()', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', - description: 'Shows lorem.sentences when optional params are omitted.', - }, - { - functionCall: 'lorem.sentences(max=10, min=1)', - sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', - description: 'Shows lorem.sentences using min.', - }, - { - functionCall: 'lorem.sentences(max=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit.5Stillicidium bardus utrimque acsi spargo cur.5Aqua avaritia thesaurus volo combibo stultus utor.5Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', - description: 'Shows lorem.sentences using max.', - }, - { - functionCall: 'lorem.sentences(sentenceCount=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', - description: 'Shows lorem.sentences using sentenceCount.', - }, - { - functionCall: 'lorem.sentences(separator="-")', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', - description: 'Shows lorem.sentences using separator.', - }, - { - functionCall: 'lorem.sentences(sentenceCountMax=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', - description: 'Shows lorem.sentences using sentenceCountMax.', - }, - { - functionCall: 'lorem.sentences(sentenceCountMin=5)', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', - description: 'Shows lorem.sentences using sentenceCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'sentenceCount', - type: 'number', - required: false, - description: 'Number of sentences to generate.', - }, - { - name: 'separator', - type: 'string', - required: false, - description: 'Separator inserted between generated items.', - }, - { - name: 'sentenceCountMax', - type: 'number', - required: false, - description: 'The maximum number of sentences to generate.', - }, - { - name: 'sentenceCountMin', - type: 'number', - required: false, - description: 'The minimum number of sentences to generate.', - }, - ], - }, - }, - { - keyword: 'lorem.slug', - delegate: { - type: 'faker', - target: 'lorem.slug', - }, - help: { - summary: 'Generates a slugified text consisting of the given number of hyphen separated words.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.slug()', - sampleReturnValue: 'cur-suppellex-a', - description: 'Shows lorem.slug when optional params are omitted.', - }, - { - functionCall: 'lorem.slug(max=10, min=1)', - sampleReturnValue: 'cur', - description: 'Shows lorem.slug using min.', - }, - { - functionCall: 'lorem.slug(max=5)', - sampleReturnValue: 'cur-suppellex-a', - description: 'Shows lorem.slug using max.', - }, - { - functionCall: 'lorem.slug(wordCount=5)', - sampleReturnValue: 'cur-suppellex-a', - description: 'Shows lorem.slug using wordCount.', - }, - { - functionCall: 'lorem.slug(wordCountMax=5)', - sampleReturnValue: 'cur-suppellex-a', - description: 'Shows lorem.slug using wordCountMax.', - }, - { - functionCall: 'lorem.slug(wordCountMin=5)', - sampleReturnValue: 'cur-suppellex-a', - description: 'Shows lorem.slug using wordCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'wordCount', - type: 'number', - required: false, - description: 'Number of words to generate.', - }, - { - name: 'wordCountMax', - type: 'number', - required: false, - description: 'The maximum number of words to generate.', - }, - { - name: 'wordCountMin', - type: 'number', - required: false, - description: 'The minimum number of words to generate.', - }, - ], - }, - }, - { - keyword: 'lorem.text', - delegate: { - type: 'faker', - target: 'lorem.text', - }, - help: { - summary: 'Generates a random text based on a random lorem method.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.text', - sampleReturnValue: - 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor.', - description: 'Shows the default lorem.text call.', - }, - ], - args: [], - }, - }, - { - keyword: 'lorem.word', - delegate: { - type: 'faker', - target: 'lorem.word', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a word of a specified length.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.word()', - sampleReturnValue: 'cur', - description: 'Shows lorem.word when optional params are omitted.', - }, - { - functionCall: 'lorem.word(max=10, min=1)', - sampleReturnValue: 'cur', - description: 'Shows lorem.word using min.', - }, - { - functionCall: 'lorem.word(max=5)', - sampleReturnValue: 'cur', - description: 'Shows lorem.word using max.', - }, - { - functionCall: 'lorem.word(length=5)', - sampleReturnValue: 'curvo', - description: 'Shows lorem.word using length.', - }, - { - functionCall: 'lorem.word(strategy="any-length")', - sampleReturnValue: 'cur', - description: 'Shows lorem.word using strategy.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum word length when generating a ranged length.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum word length when generating a ranged length.', - }, - { - name: 'length', - type: 'number', - required: false, - description: 'Exact word length to generate.', - }, - { - name: 'strategy', - type: LOREM_WORD_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'lorem.words', - delegate: { - type: 'faker', - target: 'lorem.words', - }, - help: { - summary: 'Generates a space separated list of words.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', - fakerDocsUrl: 'https://fakerjs.dev/api/lorem', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'lorem.words()', - sampleReturnValue: 'cur suppellex a', - description: 'Shows lorem.words when optional params are omitted.', - }, - { - functionCall: 'lorem.words(max=10, min=1)', - sampleReturnValue: 'cur', - description: 'Shows lorem.words using min.', - }, - { - functionCall: 'lorem.words(max=5)', - sampleReturnValue: 'cur suppellex a', - description: 'Shows lorem.words using max.', - }, - { - functionCall: 'lorem.words(wordCount=5)', - sampleReturnValue: 'cur suppellex a', - description: 'Shows lorem.words using wordCount.', - }, - { - functionCall: 'lorem.words(wordCountMax=5)', - sampleReturnValue: 'cur suppellex a', - description: 'Shows lorem.words using wordCountMax.', - }, - { - functionCall: 'lorem.words(wordCountMin=5)', - sampleReturnValue: 'cur suppellex a', - description: 'Shows lorem.words using wordCountMin.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'wordCount', - type: 'number', - required: false, - description: 'Number of words to generate.', - }, - { - name: 'wordCountMax', - type: 'number', - required: false, - description: 'The maximum number of words to generate.', - }, - { - name: 'wordCountMin', - type: 'number', - required: false, - description: 'The minimum number of words to generate.', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-music-keyword-definitions.js b/packages/core/js/domain/domain-faker-music-keyword-definitions.js deleted file mode 100644 index 031e7408..00000000 --- a/packages/core/js/domain/domain-faker-music-keyword-definitions.js +++ /dev/null @@ -1,94 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS = [ - { - keyword: 'music.album', - delegate: { - type: 'faker', - target: 'music.album', - }, - help: { - summary: 'Returns a random album name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', - fakerDocsUrl: 'https://fakerjs.dev/api/music', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'music.album', - sampleReturnValue: 'I Never Loved A Man The Way I Love You', - description: 'Shows the default music.album call.', - }, - ], - args: [], - }, - }, - { - keyword: 'music.artist', - delegate: { - type: 'faker', - target: 'music.artist', - }, - help: { - summary: 'Returns a random artist name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', - fakerDocsUrl: 'https://fakerjs.dev/api/music', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'music.artist', - sampleReturnValue: 'Jon Bellion', - description: 'Shows the default music.artist call.', - }, - ], - args: [], - }, - }, - { - keyword: 'music.genre', - delegate: { - type: 'faker', - target: 'music.genre', - }, - help: { - summary: 'Returns a random music genre.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', - fakerDocsUrl: 'https://fakerjs.dev/api/music', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'music.genre', - sampleReturnValue: 'Hard Bop', - description: 'Shows the default music.genre call.', - }, - ], - args: [], - }, - }, - { - keyword: 'music.songName', - delegate: { - type: 'faker', - target: 'music.songName', - }, - help: { - summary: 'Returns a random song name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', - fakerDocsUrl: 'https://fakerjs.dev/api/music', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'music.songName', - sampleReturnValue: 'Imagine', - description: 'Shows the default music.songName call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-number-keyword-definitions.js b/packages/core/js/domain/domain-faker-number-keyword-definitions.js deleted file mode 100644 index d513cbe3..00000000 --- a/packages/core/js/domain/domain-faker-number-keyword-definitions.js +++ /dev/null @@ -1,372 +0,0 @@ -import { - validateIntegerValue, - validateNumberValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS = [ - { - keyword: 'number.bigInt', - delegate: { - type: 'faker', - target: 'number.bigInt', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a BigInt number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateIntegerValue, - returnType: 'integer', - usageExamples: [ - { - functionCall: 'number.bigInt()', - sampleReturnValue: 703101335462806n, - description: 'Shows number.bigInt with all optional params omitted.', - }, - { - functionCall: 'number.bigInt(value=true)', - sampleReturnValue: 703101335462806n, - description: 'Shows number.bigInt using a boolean base value.', - }, - ], - args: [ - { - name: 'value', - type: 'bigint|number|string|boolean', - required: false, - description: - 'Base value used for generation. Supports bigint, number, string, or boolean inputs. For range constraints use min, max, and multipleOf.', - examples: [true], - }, - ], - }, - }, - { - keyword: 'number.binary', - delegate: { - type: 'faker', - target: 'number.binary', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a binary string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'number.binary()', - sampleReturnValue: '0', - description: 'Shows number.binary when optional params are omitted.', - }, - { - functionCall: 'number.binary(max=5)', - sampleReturnValue: '10', - description: 'Shows number.binary using max.', - }, - { - functionCall: 'number.binary(max=10, min=1)', - sampleReturnValue: '101', - description: 'Shows number.binary using min.', - }, - ], - args: [ - { - name: 'max', - type: 'number', - required: false, - description: 'Upper bound for generated number.', - }, - { - name: 'min', - type: 'number', - required: false, - description: 'Lower bound for generated number.', - }, - ], - }, - }, - { - keyword: 'number.float', - delegate: { - type: 'faker', - target: 'number.float', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: - 'Returns a single random floating-point number, by default between `0.0` and `1.0`. To change the range, pass a `min` and `max` value. To limit the number of decimal places, pass a `multipleOf` or `fractionDigits` parameter.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateNumberValue, - returnType: 'number', - usageExamples: [ - { - functionCall: 'number.float()', - sampleReturnValue: 0.417022004702574, - description: 'Shows number.float with all optional params omitted.', - }, - { - functionCall: 'number.float(fractionDigits=2)', - sampleReturnValue: 0.42, - description: 'Shows number.float rounding using only fractionDigits.', - }, - { - functionCall: 'number.float(multipleOf=0.5)', - sampleReturnValue: 0.5, - description: 'Shows number.float constrained using only multipleOf.', - }, - { - functionCall: 'number.float(min=1, max=10)', - sampleReturnValue: 4.753198042323167, - description: 'Shows number.float with an explicit numeric range.', - }, - { - functionCall: 'number.float(min=1, max=10, fractionDigits=2)', - sampleReturnValue: 4.75, - description: 'Shows number.float rounding with fractionDigits.', - }, - { - functionCall: 'number.float(min=1, max=10, multipleOf=0.5)', - sampleReturnValue: 4.5, - description: 'Shows number.float constrained to a multiple.', - }, - { - functionCall: 'number.float(max=10)', - sampleReturnValue: 4.17022004702574, - description: 'Shows number.float using only an upper bound.', - }, - ], - args: [ - { - name: 'fractionDigits', - type: 'integer', - required: false, - description: - 'The maximum number of digits to appear after the decimal point, for example 2 will round to 2 decimal points. Only one of multipleOf or fractionDigits should be passed.', - examples: [2], - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Upper bound for generated number, exclusive, unless multipleOf or fractionDigits are passed.', - }, - { - name: 'min', - type: 'number', - required: false, - description: 'Lower bound for generated number, inclusive.', - examples: [1], - }, - { - name: 'multipleOf', - type: 'number', - required: false, - description: - 'The generated number will be a multiple of this parameter. Only one of multipleOf or fractionDigits should be passed.', - examples: [0.5], - }, - ], - }, - }, - { - keyword: 'number.hex', - delegate: { - type: 'faker', - target: 'number.hex', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a lowercase hexadecimal number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'number.hex()', - sampleReturnValue: '6', - description: 'Shows number.hex when optional params are omitted.', - }, - { - functionCall: 'number.hex(max=10, min=1)', - sampleReturnValue: '5', - description: 'Shows number.hex using min.', - }, - { - functionCall: 'number.hex(max=5)', - sampleReturnValue: '2', - description: 'Shows number.hex using max.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - ], - }, - }, - { - keyword: 'number.int', - delegate: { - type: 'faker', - target: 'number.int', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a single random integer between zero and the given max value or the given range.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateIntegerValue, - returnType: 'integer', - usageExamples: [ - { - functionCall: 'number.int()', - sampleReturnValue: 3756200289967619, - description: 'Shows number.int when optional params are omitted.', - }, - { - functionCall: 'number.int(max=10, min=1)', - sampleReturnValue: 5, - description: 'Shows number.int using min.', - }, - { - functionCall: 'number.int(max=5)', - sampleReturnValue: 2, - description: 'Shows number.int using max.', - }, - { - functionCall: 'number.int(multipleOf=1)', - sampleReturnValue: 3756200289967619, - description: 'Shows number.int using multipleOf.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Optional minimum integer.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Optional maximum integer.', - }, - { - name: 'multipleOf', - type: 'number', - required: false, - description: 'Generated number will be a multiple of the given integer.', - }, - ], - }, - }, - { - keyword: 'number.octal', - delegate: { - type: 'faker', - target: 'number.octal', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns an octal string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'number.octal()', - sampleReturnValue: '3', - description: 'Shows number.octal when optional params are omitted.', - }, - { - functionCall: 'number.octal(max=5)', - sampleReturnValue: '2', - description: 'Shows number.octal using max.', - }, - { - functionCall: 'number.octal(max=10, min=1)', - sampleReturnValue: '5', - description: 'Shows number.octal using min.', - }, - ], - args: [ - { - name: 'max', - type: 'number', - required: false, - description: 'Upper bound for generated number.', - }, - { - name: 'min', - type: 'number', - required: false, - description: 'Lower bound for generated number.', - }, - ], - }, - }, - { - keyword: 'number.romanNumeral', - delegate: { - type: 'faker', - target: 'number.romanNumeral', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a roman numeral in String format.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', - fakerDocsUrl: 'https://fakerjs.dev/api/number', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'number.romanNumeral()', - sampleReturnValue: 'MDCLXVIII', - description: 'Shows number.romanNumeral when optional params are omitted.', - }, - { - functionCall: 'number.romanNumeral(max=10, min=1)', - sampleReturnValue: 'V', - description: 'Shows number.romanNumeral using min.', - }, - { - functionCall: 'number.romanNumeral(max=5)', - sampleReturnValue: 'III', - description: 'Shows number.romanNumeral using max.', - }, - ], - args: [ - { - name: 'min', - type: 'number', - required: false, - description: 'Minimum bound used when generating a value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-person-keyword-definitions.js b/packages/core/js/domain/domain-faker-person-keyword-definitions.js deleted file mode 100644 index eb3bca5e..00000000 --- a/packages/core/js/domain/domain-faker-person-keyword-definitions.js +++ /dev/null @@ -1,387 +0,0 @@ -import { createStringEnumValidator, validateStringValue } from '../command-help/command-help-validators.js'; - -const PERSON_SEX_TYPE = 'female|male'; -const validatePersonSexTypeValue = createStringEnumValidator(PERSON_SEX_TYPE.split('|')); - -const DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS = [ - { - keyword: 'person.bio', - delegate: { - type: 'faker', - target: 'person.bio', - }, - help: { - summary: 'Returns a random short biography', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.bio', - sampleReturnValue: 'person, activist, entrepreneur ✌🏿', - description: 'Shows the default person.bio call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.firstName', - delegate: { - type: 'faker', - target: 'person.firstName', - }, - help: { - summary: 'Returns a random first name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.firstName()', - sampleReturnValue: 'Aaliyah', - description: 'Shows person.firstName when optional params are omitted.', - }, - { - functionCall: 'person.firstName(sex="female")', - sampleReturnValue: 'Monique', - description: 'Shows person.firstName using sex.', - }, - ], - args: [ - { - name: 'sex', - type: PERSON_SEX_TYPE, - required: false, - description: 'Optional sex for first-name selection. Valid values: female or male.', - }, - ], - }, - }, - { - keyword: 'person.fullName', - delegate: { - type: 'faker', - target: 'person.fullName', - }, - help: { - summary: 'Generates a random full name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.fullName', - sampleReturnValue: 'Aaliyah Corkery', - description: 'Shows the default person.fullName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.gender', - delegate: { - type: 'faker', - target: 'person.gender', - }, - help: { - summary: 'Returns a random gender.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.gender', - sampleReturnValue: 'Genderflux', - description: 'Shows the default person.gender call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.jobArea', - delegate: { - type: 'faker', - target: 'person.jobArea', - }, - help: { - summary: 'Generates a random job area.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.jobArea', - sampleReturnValue: 'Group', - description: 'Shows the default person.jobArea call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.jobDescriptor', - delegate: { - type: 'faker', - target: 'person.jobDescriptor', - }, - help: { - summary: 'Generates a random job descriptor.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.jobDescriptor', - sampleReturnValue: 'Regional', - description: 'Shows the default person.jobDescriptor call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.jobTitle', - delegate: { - type: 'faker', - target: 'person.jobTitle', - }, - help: { - summary: 'Generates a random job title.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.jobTitle', - sampleReturnValue: 'Regional Assurance Supervisor', - description: 'Shows the default person.jobTitle call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.jobType', - delegate: { - type: 'faker', - target: 'person.jobType', - }, - help: { - summary: 'Generates a random job type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.jobType', - sampleReturnValue: 'Administrator', - description: 'Shows the default person.jobType call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.lastName', - delegate: { - type: 'faker', - target: 'person.lastName', - }, - help: { - summary: 'Returns a random last name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.lastName()', - sampleReturnValue: 'Abbott', - description: 'Shows person.lastName when optional params are omitted.', - }, - { - functionCall: 'person.lastName(sex="female")', - sampleReturnValue: 'Reichel', - description: 'Shows person.lastName using sex.', - }, - ], - args: [ - { - name: 'sex', - type: PERSON_SEX_TYPE, - required: false, - description: 'Optional sex for last-name selection. Valid values: female or male.', - }, - ], - }, - }, - { - keyword: 'person.middleName', - delegate: { - type: 'faker', - target: 'person.middleName', - }, - help: { - summary: 'Returns a random middle name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.middleName()', - sampleReturnValue: 'Abigail', - description: 'Shows person.middleName when optional params are omitted.', - }, - { - functionCall: 'person.middleName(sex="female")', - sampleReturnValue: 'Morgan', - description: 'Shows person.middleName using sex.', - }, - ], - args: [ - { - name: 'sex', - type: PERSON_SEX_TYPE, - required: false, - description: 'Optional sex for middle-name selection. Valid values: female or male.', - }, - ], - }, - }, - { - keyword: 'person.prefix', - delegate: { - type: 'faker', - target: 'person.prefix', - }, - help: { - summary: 'Returns a random person prefix.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.prefix()', - sampleReturnValue: 'Miss', - description: 'Shows person.prefix when optional params are omitted.', - }, - { - functionCall: 'person.prefix(sex="female")', - sampleReturnValue: 'Ms.', - description: 'Shows person.prefix using sex.', - }, - ], - args: [ - { - name: 'sex', - type: PERSON_SEX_TYPE, - required: false, - description: "The optional sex to use. Can be either 'female' or 'male'.", - }, - ], - }, - }, - { - keyword: 'person.sex', - delegate: { - type: 'faker', - target: 'person.sex', - }, - help: { - summary: 'Returns a random sex.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.sex', - sampleReturnValue: 'female', - description: 'Shows the default person.sex call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.sexType', - delegate: { - type: 'faker', - target: 'person.sexType', - }, - help: { - summary: 'Returns a random sex type. The `SexType` is intended to be used in parameters and conditions.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validatePersonSexTypeValue, - returnType: PERSON_SEX_TYPE, - usageExamples: [ - { - functionCall: 'person.sexType', - sampleReturnValue: 'female', - description: 'Shows the default person.sexType call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.suffix', - delegate: { - type: 'faker', - target: 'person.suffix', - }, - help: { - summary: 'Returns a random person suffix.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.suffix', - sampleReturnValue: 'III', - description: 'Shows the default person.suffix call.', - }, - ], - args: [], - }, - }, - { - keyword: 'person.zodiacSign', - delegate: { - type: 'faker', - target: 'person.zodiacSign', - }, - help: { - summary: 'Returns a random zodiac sign.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', - fakerDocsUrl: 'https://fakerjs.dev/api/person', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'person.zodiacSign', - sampleReturnValue: 'Cancer', - description: 'Shows the default person.zodiacSign call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-phone-keyword-definitions.js b/packages/core/js/domain/domain-faker-phone-keyword-definitions.js deleted file mode 100644 index 64f50116..00000000 --- a/packages/core/js/domain/domain-faker-phone-keyword-definitions.js +++ /dev/null @@ -1,67 +0,0 @@ -import { validateImeiValue, validateStringValue } from '../command-help/command-help-validators.js'; - -const PHONE_NUMBER_STYLE_TYPE = 'human|national|international'; - -const DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS = [ - { - keyword: 'phone.imei', - delegate: { - type: 'faker', - target: 'phone.imei', - }, - help: { - summary: 'Generates IMEI number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/phone', - fakerDocsUrl: 'https://fakerjs.dev/api/phone', - validator: validateImeiValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'phone.imei', - sampleReturnValue: '47-031013-354628-7', - description: 'Shows the default phone.imei call.', - }, - ], - args: [], - }, - }, - { - keyword: 'phone.number', - delegate: { - type: 'faker', - target: 'phone.number', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a random phone number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/phone', - fakerDocsUrl: 'https://fakerjs.dev/api/phone', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'phone.number()', - sampleReturnValue: '1-703-301-3354 x628', - description: 'Shows phone.number when optional params are omitted.', - }, - { - functionCall: 'phone.number(style="international")', - sampleReturnValue: '+15704101335', - description: 'Shows phone.number using style.', - }, - ], - args: [ - { - name: 'style', - type: PHONE_NUMBER_STYLE_TYPE, - required: false, - description: - "Style of the generated phone number: 'human': (default) A human-input phone number, e.g. 555-770-7727 or 555.770.7727 x1234 'national': A phone number in a standardized national format, e.g. (555) 123-4567. 'international': A phone number in the E.123 international format, e.g. +15551234567", - examples: ['international'], - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-science-keyword-definitions.js b/packages/core/js/domain/domain-faker-science-keyword-definitions.js deleted file mode 100644 index 67f621cc..00000000 --- a/packages/core/js/domain/domain-faker-science-keyword-definitions.js +++ /dev/null @@ -1,130 +0,0 @@ -import { - validateIntegerValue, - validateObjectValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS = [ - { - keyword: 'science.chemicalElement', - delegate: { - type: 'faker', - target: 'science.chemicalElement', - }, - help: { - summary: 'Generate a value using faker science.chemicalElement.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', - fakerDocsUrl: 'https://fakerjs.dev/api/science', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'science.chemicalElement', - sampleReturnValue: { - symbol: 'Sn', - name: 'Tin', - atomicNumber: 50, - }, - description: 'Shows the default science.chemicalElement call.', - }, - ], - args: [], - }, - }, - { - keyword: 'science.chemicalElement.atomicNumber', - delegate: { - type: 'faker', - target: 'science.chemicalElement', - resultPath: 'atomicNumber', - }, - help: { - summary: 'Generate a chemical element atomic number.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', - fakerDocsUrl: 'https://fakerjs.dev/api/science', - validator: validateIntegerValue, - returnType: 'integer', - usageExamples: [ - { - functionCall: 'science.chemicalElement.atomicNumber', - sampleReturnValue: 50, - description: 'Shows the default science.chemicalElement.atomicNumber call.', - }, - ], - args: [], - }, - }, - { - keyword: 'science.chemicalElement.name', - delegate: { - type: 'faker', - target: 'science.chemicalElement', - resultPath: 'name', - }, - help: { - summary: 'Generate a chemical element name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', - fakerDocsUrl: 'https://fakerjs.dev/api/science', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'science.chemicalElement.name', - sampleReturnValue: 'Tin', - description: 'Shows the default science.chemicalElement.name call.', - }, - ], - args: [], - }, - }, - { - keyword: 'science.chemicalElement.symbol', - delegate: { - type: 'faker', - target: 'science.chemicalElement', - resultPath: 'symbol', - }, - help: { - summary: 'Generate a chemical element symbol.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', - fakerDocsUrl: 'https://fakerjs.dev/api/science', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'science.chemicalElement.symbol', - sampleReturnValue: 'Sn', - description: 'Shows the default science.chemicalElement.symbol call.', - }, - ], - args: [], - }, - }, - { - keyword: 'science.unit', - delegate: { - type: 'faker', - target: 'science.unit', - }, - help: { - summary: 'Returns a random scientific unit.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', - fakerDocsUrl: 'https://fakerjs.dev/api/science', - validator: validateObjectValue, - returnType: 'object', - usageExamples: [ - { - functionCall: 'science.unit', - sampleReturnValue: { - name: 'watt', - symbol: 'W', - }, - description: 'Shows the default science.unit call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-string-keyword-definitions.js b/packages/core/js/domain/domain-faker-string-keyword-definitions.js deleted file mode 100644 index 1bf5e6d8..00000000 --- a/packages/core/js/domain/domain-faker-string-keyword-definitions.js +++ /dev/null @@ -1,588 +0,0 @@ -import { - validateAlphaStringValue, - validateAlphanumericStringValue, - validateBinaryStringValue, - validateFromCharactersStringValue, - validateHexadecimalStringValue, - validateNanoIdValue, - validateNumericStringValue, - validateOctalStringValue, - validateSampleStringValue, - validateSymbolStringValue, - validateUlidValue, - validateUuidValue, -} from '../command-help/command-help-validators.js'; - -const STRING_CASING_TYPE = 'upper|lower|mixed'; - -const DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS = [ - { - keyword: 'string.alpha', - delegate: { - type: 'faker', - target: 'string.alpha', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generating a string consisting of letters in the English alphabet.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateAlphaStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.alpha()', - sampleReturnValue: 'v', - description: 'Shows string.alpha with all optional params omitted.', - }, - { - functionCall: 'string.alpha(length=5)', - sampleReturnValue: 'vLaph', - description: 'Shows string.alpha generating a fixed-length alphabetic value.', - }, - { - functionCall: 'string.alpha(casing="upper")', - sampleReturnValue: 'K', - description: 'Shows string.alpha using only the casing option.', - }, - { - functionCall: 'string.alpha(length=5, casing="upper")', - sampleReturnValue: 'KSAHD', - description: 'Shows string.alpha with explicit uppercase output.', - }, - { - functionCall: 'string.alpha(exclude=["A","B","C"])', - sampleReturnValue: 'u', - description: 'Shows string.alpha excluding specific characters without setting length or casing.', - }, - { - functionCall: 'string.alpha(length=5, casing="upper", exclude=["A","B","C"])', - sampleReturnValue: 'MTDJG', - description: 'Shows string.alpha excluding specific characters from the candidate set.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'casing', - type: STRING_CASING_TYPE, - required: false, - description: 'The casing of the characters.', - }, - { - name: 'exclude', - type: 'array', - required: false, - description: 'An array with characters which should be excluded in the generated string.', - }, - ], - }, - }, - { - keyword: 'string.alphanumeric', - delegate: { - type: 'faker', - target: 'string.alphanumeric', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generating a string consisting of alpha characters and digits.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateAlphanumericStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.alphanumeric()', - sampleReturnValue: 'p', - description: 'Shows string.alphanumeric when optional params are omitted.', - }, - { - functionCall: 'string.alphanumeric(length=5)', - sampleReturnValue: 'pI0i9', - description: 'Shows string.alphanumeric using length.', - }, - { - functionCall: 'string.alphanumeric(casing="upper")', - sampleReturnValue: 'F', - description: 'Shows string.alphanumeric using casing.', - }, - { - functionCall: 'string.alphanumeric(exclude=["A","B","C"])', - sampleReturnValue: 'o', - description: 'Shows string.alphanumeric using exclude.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'casing', - type: STRING_CASING_TYPE, - required: false, - description: 'The casing of the characters.', - }, - { - name: 'exclude', - type: 'array', - required: false, - description: 'An array of characters and digits which should be excluded in the generated string.', - }, - ], - }, - }, - { - keyword: 'string.binary', - delegate: { - type: 'faker', - target: 'string.binary', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a binary string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateBinaryStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.binary()', - sampleReturnValue: '0b0', - description: 'Shows string.binary when optional params are omitted.', - }, - { - functionCall: 'string.binary(length=5)', - sampleReturnValue: '0b01000', - description: 'Shows string.binary using length.', - }, - { - functionCall: 'string.binary(prefix="PRE-")', - sampleReturnValue: 'PRE-0', - description: 'Shows string.binary using prefix.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: - 'The length of the string (excluding the prefix) to generate either as a fixed length or as a length range.', - }, - { - name: 'prefix', - type: 'string', - required: false, - description: 'Prefix for the generated number.', - }, - ], - }, - }, - { - keyword: 'string.fromCharacters', - delegate: { - type: 'faker', - target: 'string.fromCharacters', - }, - help: { - summary: 'Generates a string from the given characters.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateFromCharactersStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.fromCharacters(characters="ABC123")', - sampleReturnValue: 'C', - description: 'Shows string.fromCharacters with only the required characters argument.', - }, - { - functionCall: 'string.fromCharacters(characters=["A", "B", "C"], length=4)', - sampleReturnValue: 'BCAA', - description: 'Shows string.fromCharacters in use.', - }, - { - functionCall: 'string.fromCharacters(characters="ABC123", length=4)', - sampleReturnValue: 'C2AB', - description: 'Shows string.fromCharacters using length.', - }, - ], - args: [ - { - name: 'characters', - type: 'string|array', - required: true, - description: 'Character set (string or array) used when generating output.', - examples: ['ABC123'], - }, - { - name: 'length', - type: 'integer', - required: false, - description: 'Desired length of the generated value.', - examples: [4], - }, - ], - }, - }, - { - keyword: 'string.hexadecimal', - delegate: { - type: 'faker', - target: 'string.hexadecimal', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a hexadecimal string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateHexadecimalStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.hexadecimal()', - sampleReturnValue: '0x9', - description: 'Shows string.hexadecimal when optional params are omitted.', - }, - { - functionCall: 'string.hexadecimal(casing="upper")', - sampleReturnValue: '0x9', - description: 'Shows string.hexadecimal using casing.', - }, - { - functionCall: 'string.hexadecimal(length=5)', - sampleReturnValue: '0x9f063', - description: 'Shows string.hexadecimal using length.', - }, - { - functionCall: 'string.hexadecimal(prefix="PRE-")', - sampleReturnValue: 'PRE-9', - description: 'Shows string.hexadecimal using prefix.', - }, - ], - args: [ - { - name: 'casing', - type: STRING_CASING_TYPE, - required: false, - description: 'Casing of the generated number.', - }, - { - name: 'length', - type: 'number', - required: false, - description: - 'The length of the string (excluding the prefix) to generate either as a fixed length or as a length range.', - }, - { - name: 'prefix', - type: 'string', - required: false, - description: 'Prefix for the generated number.', - }, - ], - }, - }, - { - keyword: 'string.nanoid', - delegate: { - type: 'faker', - target: 'string.nanoid', - }, - help: { - summary: 'Generates a Nano ID.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateNanoIdValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.nanoid()', - sampleReturnValue: 'Ii5lxGSFycYGT2SqxjPK-', - description: 'Shows string.nanoid when optional params are omitted.', - }, - { - functionCall: 'string.nanoid(length=5)', - sampleReturnValue: 'Ii5lx', - description: 'Shows string.nanoid using length.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Exact number of characters to generate.', - }, - ], - }, - }, - { - keyword: 'string.numeric', - delegate: { - type: 'faker', - target: 'string.numeric', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Generates a given length string of digits.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateNumericStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.numeric()', - sampleReturnValue: '4', - description: 'Shows string.numeric when optional params are omitted.', - }, - { - functionCall: 'string.numeric(length=5)', - sampleReturnValue: '47031', - description: 'Shows string.numeric using length.', - }, - { - functionCall: 'string.numeric(allowLeadingZeros=true)', - sampleReturnValue: '4', - description: 'Shows string.numeric using allowLeadingZeros.', - }, - { - functionCall: 'string.numeric(exclude=["A","B","C"])', - sampleReturnValue: '4', - description: 'Shows string.numeric using exclude.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'allowLeadingZeros', - type: 'boolean', - required: false, - description: 'Whether leading zeros are allowed or not.', - }, - { - name: 'exclude', - type: 'array', - required: false, - description: 'An array of digits which should be excluded in the generated string.', - }, - ], - }, - }, - { - keyword: 'string.octal', - delegate: { - type: 'faker', - target: 'string.octal', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns an octal string.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateOctalStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.octal()', - sampleReturnValue: '0o3', - description: 'Shows string.octal when optional params are omitted.', - }, - { - functionCall: 'string.octal(length=5)', - sampleReturnValue: '0o35021', - description: 'Shows string.octal using length.', - }, - { - functionCall: 'string.octal(prefix="PRE-")', - sampleReturnValue: 'PRE-3', - description: 'Shows string.octal using prefix.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: - 'The length of the string (excluding the prefix) to generate either as a fixed length or as a length range.', - }, - { - name: 'prefix', - type: 'string', - required: false, - description: 'Prefix for the generated number.', - }, - ], - }, - }, - { - keyword: 'string.sample', - delegate: { - type: 'faker', - target: 'string.sample', - }, - help: { - summary: 'Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateSampleStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.sample()', - sampleReturnValue: 'Gc!=.)2AES', - description: 'Shows string.sample when optional params are omitted.', - }, - { - functionCall: 'string.sample(length=5)', - sampleReturnValue: 'Gc!=.', - description: 'Shows string.sample using length.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Exact number of characters to generate.', - }, - ], - }, - }, - { - keyword: 'string.symbol', - delegate: { - type: 'faker', - target: 'string.symbol', - }, - help: { - summary: - 'Returns a string containing only ASCII symbol characters such as !, ", #, $, %, &, (, ), *, +, -, /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, and ~.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateSymbolStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.symbol()', - sampleReturnValue: '.', - description: 'Shows string.symbol when optional params are omitted.', - }, - { - functionCall: 'string.symbol(length=5)', - sampleReturnValue: '.\\!*%', - description: 'Shows string.symbol using length.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Exact number of characters to generate.', - }, - ], - }, - }, - { - keyword: 'string.ulid', - delegate: { - type: 'faker', - target: 'string.ulid', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a ULID (Universally Unique Lexicographically Sortable Identifier).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateUlidValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.ulid()', - sampleReturnValue: '01KVDQ3AJ0DQ09425BCHDN6W0N', - description: 'Shows string.ulid when optional params are omitted.', - }, - { - functionCall: 'string.ulid(refDate=1718755200000)', - sampleReturnValue: '01J0PWP300DQ09425BCHDN6W0N', - description: 'Shows string.ulid using refDate.', - }, - ], - args: [ - { - name: 'refDate', - type: 'number', - required: false, - description: - 'The date to use as reference point for the newly generated ULID encoded timestamp. The encoded timestamp is represented by the first 10 characters of the result.', - }, - ], - }, - }, - { - keyword: 'string.uuid', - delegate: { - type: 'faker', - target: 'string.uuid', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a UUID (Universally Unique Identifier).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', - fakerDocsUrl: 'https://fakerjs.dev/api/string', - validator: validateUuidValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'string.uuid()', - sampleReturnValue: '6b042125-686a-43e0-8a68-23cf5bee102e', - description: 'Shows string.uuid when optional params are omitted.', - }, - { - functionCall: 'string.uuid(version=7)', - sampleReturnValue: '019edb71-aa40-76b0-8421-25686a3e0a68', - description: 'Shows string.uuid using version.', - }, - { - functionCall: 'string.uuid(refDate="2026-06-18T00:00:00.000Z")', - sampleReturnValue: '019ed807-0800-76b0-8421-25686a3e0a68', - description: 'Shows string.uuid using refDate.', - }, - ], - args: [ - { - name: 'version', - type: '4|7', - required: false, - description: - 'The specific UUID version to use. If refDate is supplied and version is omitted, version 7 is used automatically.', - }, - { - name: 'refDate', - type: 'string|number|date', - required: false, - description: - 'The timestamp to encode into the UUID. This is only valid for UUID v7. If refDate is supplied and version is omitted, version 7 is used automatically. Providing refDate with version 4 is invalid.', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-system-keyword-definitions.js b/packages/core/js/domain/domain-faker-system-keyword-definitions.js deleted file mode 100644 index e593717b..00000000 --- a/packages/core/js/domain/domain-faker-system-keyword-definitions.js +++ /dev/null @@ -1,324 +0,0 @@ -import { - validateCronValue, - validateMimeTypeValue, - validateSemverValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS = [ - { - keyword: 'system.commonFileExt', - delegate: { - type: 'faker', - target: 'system.commonFileExt', - }, - help: { - summary: 'Returns a commonly used file extension.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.commonFileExt', - sampleReturnValue: 'png', - description: 'Shows the default system.commonFileExt call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.commonFileName', - delegate: { - type: 'faker', - target: 'system.commonFileName', - }, - help: { - summary: 'Returns a random file name with a given extension or a commonly used extension.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.commonFileName()', - sampleReturnValue: 'fog_aboard.mp4v', - description: 'Shows system.commonFileName when optional params are omitted.', - }, - { - functionCall: 'system.commonFileName(extension="txt")', - sampleReturnValue: 'fog_aboard.txt', - description: 'Shows system.commonFileName using extension.', - }, - ], - args: [ - { - name: 'extension', - type: 'string', - required: false, - description: 'File extension to include in the generated filename.', - }, - ], - }, - }, - { - keyword: 'system.commonFileType', - delegate: { - type: 'faker', - target: 'system.commonFileType', - }, - help: { - summary: 'Returns a commonly used file type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.commonFileType', - sampleReturnValue: 'image', - description: 'Shows the default system.commonFileType call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.cron', - delegate: { - type: 'faker', - target: 'system.cron', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random cron expression.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateCronValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.cron()', - sampleReturnValue: '25 17 * 4 *', - description: 'Shows system.cron when optional params are omitted.', - }, - { - functionCall: 'system.cron(includeNonStandard=true)', - sampleReturnValue: '@annually', - description: 'Shows system.cron using includeNonStandard.', - }, - { - functionCall: 'system.cron(includeYear=true)', - sampleReturnValue: '25 17 * 4 * 1994', - description: 'Shows system.cron using includeYear.', - }, - ], - args: [ - { - name: 'includeNonStandard', - type: 'boolean', - required: false, - description: 'Whether to include a @yearly, @monthly, @daily, etc text labels in the generated expression.', - }, - { - name: 'includeYear', - type: 'boolean', - required: false, - description: 'Whether to include a year in the generated expression.', - }, - ], - }, - }, - { - keyword: 'system.directoryPath', - delegate: { - type: 'faker', - target: 'system.directoryPath', - }, - help: { - summary: 'Returns a directory path.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.directoryPath', - sampleReturnValue: '/opt/include', - description: 'Shows the default system.directoryPath call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.fileExt', - delegate: { - type: 'faker', - target: 'system.fileExt', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a file extension.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.fileExt()', - sampleReturnValue: '7z', - description: 'Shows system.fileExt when optional params are omitted.', - }, - { - functionCall: 'system.fileExt(mimeType="image/png")', - sampleReturnValue: '7z', - description: 'Shows system.fileExt using mimeType.', - }, - ], - args: [ - { - name: 'mimeType', - type: 'string', - required: false, - description: 'MIME type used to constrain generated values.', - }, - ], - }, - }, - { - keyword: 'system.fileName', - delegate: { - type: 'faker', - target: 'system.fileName', - }, - help: { - summary: 'Returns a random file name with extension.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.fileName', - sampleReturnValue: 'fog_aboard.otf', - description: 'Shows the default system.fileName call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.filePath', - delegate: { - type: 'faker', - target: 'system.filePath', - }, - help: { - summary: 'Returns a file path.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.filePath', - sampleReturnValue: '/opt/include/down_reproachfully_besides.woff2', - description: 'Shows the default system.filePath call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.fileType', - delegate: { - type: 'faker', - target: 'system.fileType', - }, - help: { - summary: 'Returns a file type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.fileType', - sampleReturnValue: 'font', - description: 'Shows the default system.fileType call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.mimeType', - delegate: { - type: 'faker', - target: 'system.mimeType', - }, - help: { - summary: 'Returns a mime-type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateMimeTypeValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.mimeType', - sampleReturnValue: 'application/x-httpd-php', - description: 'Shows the default system.mimeType call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.networkInterface', - delegate: { - type: 'faker', - target: 'system.networkInterface', - }, - help: { - summary: 'Returns a random network interface.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.networkInterface', - sampleReturnValue: 'wlx042125686a3e', - description: 'Shows the default system.networkInterface call.', - }, - ], - args: [], - }, - }, - { - keyword: 'system.semver', - delegate: { - type: 'faker', - target: 'system.semver', - }, - help: { - summary: 'Returns a semantic version.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', - fakerDocsUrl: 'https://fakerjs.dev/api/system', - validator: validateSemverValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'system.semver', - sampleReturnValue: '4.15.0', - description: 'Shows the default system.semver call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js b/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js deleted file mode 100644 index 3dd8342d..00000000 --- a/packages/core/js/domain/domain-faker-vehicle-keyword-definitions.js +++ /dev/null @@ -1,204 +0,0 @@ -import { validateStringValue, validateVinValue, validateVrmValue } from '../command-help/command-help-validators.js'; - -const DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS = [ - { - keyword: 'vehicle.bicycle', - delegate: { - type: 'faker', - target: 'vehicle.bicycle', - }, - help: { - summary: 'Returns a type of bicycle.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.bicycle', - sampleReturnValue: 'Flat-Foot Comfort Bicycle', - description: 'Shows the default vehicle.bicycle call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.color', - delegate: { - type: 'faker', - target: 'vehicle.color', - }, - help: { - summary: 'Returns a vehicle color.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.color', - sampleReturnValue: 'magenta', - description: 'Shows the default vehicle.color call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.fuel', - delegate: { - type: 'faker', - target: 'vehicle.fuel', - }, - help: { - summary: 'Returns a fuel type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.fuel', - sampleReturnValue: 'Electric', - description: 'Shows the default vehicle.fuel call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.manufacturer', - delegate: { - type: 'faker', - target: 'vehicle.manufacturer', - }, - help: { - summary: 'Returns a manufacturer name.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.manufacturer', - sampleReturnValue: 'Lamborghini', - description: 'Shows the default vehicle.manufacturer call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.model', - delegate: { - type: 'faker', - target: 'vehicle.model', - }, - help: { - summary: 'Returns a vehicle model.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.model', - sampleReturnValue: 'Escalade', - description: 'Shows the default vehicle.model call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.type', - delegate: { - type: 'faker', - target: 'vehicle.type', - }, - help: { - summary: 'Returns a vehicle type.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.type', - sampleReturnValue: 'Extended Cab Pickup', - description: 'Shows the default vehicle.type call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.vehicle', - delegate: { - type: 'faker', - target: 'vehicle.vehicle', - }, - help: { - summary: 'Returns a random vehicle.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.vehicle', - sampleReturnValue: 'Lamborghini Model X', - description: 'Shows the default vehicle.vehicle call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.vin', - delegate: { - type: 'faker', - target: 'vehicle.vin', - }, - help: { - summary: 'Returns a vehicle identification number (VIN).', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateVinValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.vin', - sampleReturnValue: 'DP09436BDHKN28064', - description: 'Shows the default vehicle.vin call.', - }, - ], - args: [], - }, - }, - { - keyword: 'vehicle.vrm', - delegate: { - type: 'faker', - target: 'vehicle.vrm', - }, - help: { - summary: 'Returns a vehicle registration number (Vehicle Registration Mark - VRM)', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', - fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', - validator: validateVrmValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'vehicle.vrm', - sampleReturnValue: 'KS03DCE', - description: 'Shows the default vehicle.vrm call.', - }, - ], - args: [], - }, - }, -]; - -export { DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-faker-word-keyword-definitions.js b/packages/core/js/domain/domain-faker-word-keyword-definitions.js deleted file mode 100644 index a3fd62c4..00000000 --- a/packages/core/js/domain/domain-faker-word-keyword-definitions.js +++ /dev/null @@ -1,519 +0,0 @@ -import { validateStringValue } from '../command-help/command-help-validators.js'; - -const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; - -const DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS = [ - { - keyword: 'word.adjective', - delegate: { - type: 'faker', - target: 'word.adjective', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random adjective.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.adjective()', - sampleReturnValue: 'inferior', - description: 'Shows word.adjective when optional params are omitted.', - }, - { - functionCall: 'word.adjective(length=5)', - sampleReturnValue: 'major', - description: 'Shows word.adjective using length.', - }, - { - functionCall: 'word.adjective(max=5)', - sampleReturnValue: 'inferior', - description: 'Shows word.adjective using max.', - }, - { - functionCall: 'word.adjective(strategy="any-length")', - sampleReturnValue: 'inferior', - description: 'Shows word.adjective using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.adverb', - delegate: { - type: 'faker', - target: 'word.adverb', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random adverb.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.adverb()', - sampleReturnValue: 'knavishly', - description: 'Shows word.adverb when optional params are omitted.', - }, - { - functionCall: 'word.adverb(length=5)', - sampleReturnValue: 'never', - description: 'Shows word.adverb using length.', - }, - { - functionCall: 'word.adverb(max=5)', - sampleReturnValue: 'knavishly', - description: 'Shows word.adverb using max.', - }, - { - functionCall: 'word.adverb(strategy="any-length")', - sampleReturnValue: 'knavishly', - description: 'Shows word.adverb using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.conjunction', - delegate: { - type: 'faker', - target: 'word.conjunction', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random conjunction.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.conjunction()', - sampleReturnValue: 'likewise', - description: 'Shows word.conjunction when optional params are omitted.', - }, - { - functionCall: 'word.conjunction(length=5)', - sampleReturnValue: 'until', - description: 'Shows word.conjunction using length.', - }, - { - functionCall: 'word.conjunction(max=5)', - sampleReturnValue: 'likewise', - description: 'Shows word.conjunction using max.', - }, - { - functionCall: 'word.conjunction(strategy="any-length")', - sampleReturnValue: 'likewise', - description: 'Shows word.conjunction using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.interjection', - delegate: { - type: 'faker', - target: 'word.interjection', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random interjection.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.interjection()', - sampleReturnValue: 'woot', - description: 'Shows word.interjection when optional params are omitted.', - }, - { - functionCall: 'word.interjection(length=5)', - sampleReturnValue: 'fooey', - description: 'Shows word.interjection using length.', - }, - { - functionCall: 'word.interjection(max=5)', - sampleReturnValue: 'woot', - description: 'Shows word.interjection using max.', - }, - { - functionCall: 'word.interjection(strategy="any-length")', - sampleReturnValue: 'woot', - description: 'Shows word.interjection using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.noun', - delegate: { - type: 'faker', - target: 'word.noun', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random noun.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.noun()', - sampleReturnValue: 'heating', - description: 'Shows word.noun when optional params are omitted.', - }, - { - functionCall: 'word.noun(length=5)', - sampleReturnValue: 'humor', - description: 'Shows word.noun using length.', - }, - { - functionCall: 'word.noun(max=5)', - sampleReturnValue: 'heating', - description: 'Shows word.noun using max.', - }, - { - functionCall: 'word.noun(strategy="any-length")', - sampleReturnValue: 'heating', - description: 'Shows word.noun using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.preposition', - delegate: { - type: 'faker', - target: 'word.preposition', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random preposition.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.preposition()', - sampleReturnValue: 'except', - description: 'Shows word.preposition when optional params are omitted.', - }, - { - functionCall: 'word.preposition(length=5)', - sampleReturnValue: 'aside', - description: 'Shows word.preposition using length.', - }, - { - functionCall: 'word.preposition(max=5)', - sampleReturnValue: 'except', - description: 'Shows word.preposition using max.', - }, - { - functionCall: 'word.preposition(strategy="any-length")', - sampleReturnValue: 'except', - description: 'Shows word.preposition using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.sample', - delegate: { - type: 'faker', - target: 'word.sample', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: - 'Returns a random word, that can be an adjective, adverb, conjunction, interjection, noun, preposition, or verb.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.sample()', - sampleReturnValue: 'boohoo', - description: 'Shows word.sample when optional params are omitted.', - }, - { - functionCall: 'word.sample(length=5)', - sampleReturnValue: 'yowza', - description: 'Shows word.sample using length.', - }, - { - functionCall: 'word.sample(max=5)', - sampleReturnValue: 'boohoo', - description: 'Shows word.sample using max.', - }, - { - functionCall: 'word.sample(strategy="any-length")', - sampleReturnValue: 'boohoo', - description: 'Shows word.sample using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.verb', - delegate: { - type: 'faker', - target: 'word.verb', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random verb.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.verb()', - sampleReturnValue: 'hunger', - description: 'Shows word.verb when optional params are omitted.', - }, - { - functionCall: 'word.verb(length=5)', - sampleReturnValue: 'mould', - description: 'Shows word.verb using length.', - }, - { - functionCall: 'word.verb(max=5)', - sampleReturnValue: 'hunger', - description: 'Shows word.verb using max.', - }, - { - functionCall: 'word.verb(strategy="any-length")', - sampleReturnValue: 'hunger', - description: 'Shows word.verb using strategy.', - }, - ], - args: [ - { - name: 'length', - type: 'number', - required: false, - description: 'Desired length of the generated value.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - { - name: 'strategy', - type: WORD_SELECTION_STRATEGY_TYPE, - required: false, - description: - 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', - }, - ], - }, - }, - { - keyword: 'word.words', - delegate: { - type: 'faker', - target: 'word.words', - argTransform: 'optionsFromHelpArgs', - }, - help: { - summary: 'Returns a random string containing some words separated by spaces.', - docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', - fakerDocsUrl: 'https://fakerjs.dev/api/word', - validator: validateStringValue, - returnType: 'string', - usageExamples: [ - { - functionCall: 'word.words()', - sampleReturnValue: 'fog aboard', - description: 'Shows word.words when optional params are omitted.', - }, - { - functionCall: 'word.words(count=5)', - sampleReturnValue: 'boohoo pish tenderly above pop', - description: 'Shows word.words using count.', - }, - { - functionCall: 'word.words(max=5)', - sampleReturnValue: 'fog aboard', - description: 'Shows word.words using max.', - }, - ], - args: [ - { - name: 'count', - type: 'number', - required: false, - description: 'Number of items to generate.', - }, - { - name: 'max', - type: 'number', - required: false, - description: 'Maximum bound used when generating a value.', - }, - ], - }, - }, -]; - -export { DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-keyword-definitions.js b/packages/core/js/domain/domain-keyword-definitions.js index f317bc2d..1d71e1be 100644 --- a/packages/core/js/domain/domain-keyword-definitions.js +++ b/packages/core/js/domain/domain-keyword-definitions.js @@ -1,65 +1,61 @@ -import { DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS } from './domain-faker-airline-keyword-definitions.js'; -import { DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS } from './domain-faker-animal-keyword-definitions.js'; -import { DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS } from './domain-faker-book-keyword-definitions.js'; -import { DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS } from './domain-faker-color-keyword-definitions.js'; -import { DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS } from './domain-faker-commerce-keyword-definitions.js'; -import { DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS } from './domain-faker-company-keyword-definitions.js'; -import { DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS } from './domain-faker-database-keyword-definitions.js'; -import { DOMAIN_FAKER_DATATYPE_KEYWORD_DEFINITIONS } from './domain-faker-datatype-keyword-definitions.js'; -import { DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS } from './domain-faker-date-keyword-definitions.js'; -import { DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS } from './domain-faker-finance-keyword-definitions.js'; -import { DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS } from './domain-faker-food-keyword-definitions.js'; -import { DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS } from './domain-faker-git-keyword-definitions.js'; -import { DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS } from './domain-faker-hacker-keyword-definitions.js'; -import { DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS } from './domain-faker-image-keyword-definitions.js'; -import { DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS } from './domain-faker-internet-keyword-definitions.js'; -import { DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS } from './domain-custom-internet-keyword-definitions.js'; -import { DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS } from './domain-custom-autoincrement-keyword-definitions.js'; -import { DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS } from './domain-custom-literal-keyword-definitions.js'; -import { DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS } from './domain-faker-location-keyword-definitions.js'; -import { DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS } from './domain-faker-lorem-keyword-definitions.js'; -import { DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS } from './domain-faker-music-keyword-definitions.js'; -import { DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS } from './domain-faker-number-keyword-definitions.js'; -import { DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS } from './domain-faker-person-keyword-definitions.js'; -import { DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS } from './domain-faker-phone-keyword-definitions.js'; -import { DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS } from './domain-faker-science-keyword-definitions.js'; -import { DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS } from './domain-faker-string-keyword-definitions.js'; -import { DOMAIN_CUSTOM_STRING_KEYWORD_DEFINITIONS } from './domain-custom-string-keyword-definitions.js'; -import { DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS } from './domain-faker-system-keyword-definitions.js'; -import { DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS } from './domain-faker-vehicle-keyword-definitions.js'; -import { DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS } from './domain-faker-word-keyword-definitions.js'; +import { AIRLINE_KEYWORD_DEFINITIONS } from '../keywords/domain/airline/airline-keyword-definitions.js'; +import { ANIMAL_KEYWORD_DEFINITIONS } from '../keywords/domain/animal/animal-keyword-definitions.js'; +import { BOOK_KEYWORD_DEFINITIONS } from '../keywords/domain/book/book-keyword-definitions.js'; +import { COLOR_KEYWORD_DEFINITIONS } from '../keywords/domain/color/color-keyword-definitions.js'; +import { COMMERCE_KEYWORD_DEFINITIONS } from '../keywords/domain/commerce/commerce-keyword-definitions.js'; +import { COMPANY_KEYWORD_DEFINITIONS } from '../keywords/domain/company/company-keyword-definitions.js'; +import { DATABASE_KEYWORD_DEFINITIONS } from '../keywords/domain/database/database-keyword-definitions.js'; +import { DATATYPE_KEYWORD_DEFINITIONS } from '../keywords/domain/datatype/datatype-keyword-definitions.js'; +import { DATE_KEYWORD_DEFINITIONS } from '../keywords/domain/date/date-keyword-definitions.js'; +import { FINANCE_KEYWORD_DEFINITIONS } from '../keywords/domain/finance/finance-keyword-definitions.js'; +import { FOOD_KEYWORD_DEFINITIONS } from '../keywords/domain/food/food-keyword-definitions.js'; +import { GIT_KEYWORD_DEFINITIONS } from '../keywords/domain/git/git-keyword-definitions.js'; +import { HACKER_KEYWORD_DEFINITIONS } from '../keywords/domain/hacker/hacker-keyword-definitions.js'; +import { IMAGE_KEYWORD_DEFINITIONS } from '../keywords/domain/image/image-keyword-definitions.js'; +import { INTERNET_KEYWORD_DEFINITIONS } from '../keywords/domain/internet/internet-keyword-definitions.js'; +import { AUTOINCREMENT_KEYWORD_DEFINITIONS } from '../keywords/domain/autoincrement/autoincrement-keyword-definitions.js'; +import { LITERAL_KEYWORD_DEFINITIONS } from '../keywords/domain/literal/literal-keyword-definitions.js'; +import { LOCATION_KEYWORD_DEFINITIONS } from '../keywords/domain/location/location-keyword-definitions.js'; +import { LOREM_KEYWORD_DEFINITIONS } from '../keywords/domain/lorem/lorem-keyword-definitions.js'; +import { MUSIC_KEYWORD_DEFINITIONS } from '../keywords/domain/music/music-keyword-definitions.js'; +import { NUMBER_KEYWORD_DEFINITIONS } from '../keywords/domain/number/number-keyword-definitions.js'; +import { PERSON_KEYWORD_DEFINITIONS } from '../keywords/domain/person/person-keyword-definitions.js'; +import { PHONE_KEYWORD_DEFINITIONS } from '../keywords/domain/phone/phone-keyword-definitions.js'; +import { SCIENCE_KEYWORD_DEFINITIONS } from '../keywords/domain/science/science-keyword-definitions.js'; +import { STRING_KEYWORD_DEFINITIONS } from '../keywords/domain/string/string-keyword-definitions.js'; +import { SYSTEM_KEYWORD_DEFINITIONS } from '../keywords/domain/system/system-keyword-definitions.js'; +import { VEHICLE_KEYWORD_DEFINITIONS } from '../keywords/domain/vehicle/vehicle-keyword-definitions.js'; +import { WORD_KEYWORD_DEFINITIONS } from '../keywords/domain/word/word-keyword-definitions.js'; const DOMAIN_KEYWORD_DEFINITIONS = [ - ...DOMAIN_FAKER_AIRLINE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_ANIMAL_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_BOOK_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_COLOR_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_COMMERCE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_COMPANY_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_DATABASE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_DATATYPE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_DATE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_FINANCE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_FOOD_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_GIT_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_HACKER_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_IMAGE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_INTERNET_KEYWORD_DEFINITIONS, - ...DOMAIN_CUSTOM_INTERNET_KEYWORD_DEFINITIONS, - ...DOMAIN_CUSTOM_AUTOINCREMENT_KEYWORD_DEFINITIONS, - ...DOMAIN_CUSTOM_LITERAL_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_LOCATION_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_LOREM_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_MUSIC_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_NUMBER_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_PERSON_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_PHONE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_SCIENCE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_STRING_KEYWORD_DEFINITIONS, - ...DOMAIN_CUSTOM_STRING_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_SYSTEM_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_VEHICLE_KEYWORD_DEFINITIONS, - ...DOMAIN_FAKER_WORD_KEYWORD_DEFINITIONS, + ...AIRLINE_KEYWORD_DEFINITIONS, + ...ANIMAL_KEYWORD_DEFINITIONS, + ...BOOK_KEYWORD_DEFINITIONS, + ...COLOR_KEYWORD_DEFINITIONS, + ...COMMERCE_KEYWORD_DEFINITIONS, + ...COMPANY_KEYWORD_DEFINITIONS, + ...DATABASE_KEYWORD_DEFINITIONS, + ...DATATYPE_KEYWORD_DEFINITIONS, + ...DATE_KEYWORD_DEFINITIONS, + ...FINANCE_KEYWORD_DEFINITIONS, + ...FOOD_KEYWORD_DEFINITIONS, + ...GIT_KEYWORD_DEFINITIONS, + ...HACKER_KEYWORD_DEFINITIONS, + ...IMAGE_KEYWORD_DEFINITIONS, + ...INTERNET_KEYWORD_DEFINITIONS, + ...AUTOINCREMENT_KEYWORD_DEFINITIONS, + ...LITERAL_KEYWORD_DEFINITIONS, + ...LOCATION_KEYWORD_DEFINITIONS, + ...LOREM_KEYWORD_DEFINITIONS, + ...MUSIC_KEYWORD_DEFINITIONS, + ...NUMBER_KEYWORD_DEFINITIONS, + ...PERSON_KEYWORD_DEFINITIONS, + ...PHONE_KEYWORD_DEFINITIONS, + ...SCIENCE_KEYWORD_DEFINITIONS, + ...STRING_KEYWORD_DEFINITIONS, + ...SYSTEM_KEYWORD_DEFINITIONS, + ...VEHICLE_KEYWORD_DEFINITIONS, + ...WORD_KEYWORD_DEFINITIONS, ]; export { DOMAIN_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/domain/domain-keywords.js b/packages/core/js/domain/domain-keywords.js index 6daf7d12..06affda3 100644 --- a/packages/core/js/domain/domain-keywords.js +++ b/packages/core/js/domain/domain-keywords.js @@ -1,8 +1,8 @@ import { DOMAIN_KEYWORD_DEFINITIONS } from './domain-keyword-definitions.js'; -import { executeCustomAutoIncrementTimestamp } from './auto-increment-timestamp.js'; -import { executeCustomAutoIncrementSequence } from './auto-increment-sequence.js'; -import { executeCustomCounterString } from './counterstring.js'; -import { executeCustomInternetHttpMethod } from './internet-http-method.js'; +import { executeCustomAutoIncrementTimestamp } from '../keywords/domain/autoincrement/auto-increment-timestamp.js'; +import { executeCustomAutoIncrementSequence } from '../keywords/domain/autoincrement/auto-increment-sequence.js'; +import { executeCustomCounterString } from '../keywords/domain/string/counterstring.js'; +import { executeCustomInternetHttpMethod } from '../keywords/domain/internet/internet-http-method.js'; import { DomainKeywordInvocationParser } from './parser/DomainKeywordInvocationParser.js'; import { isQuotedLiteralTypeToken, diff --git a/packages/core/js/domain/internet-http-method.js b/packages/core/js/domain/internet-http-method.js index 51d91124..68442318 100644 --- a/packages/core/js/domain/internet-http-method.js +++ b/packages/core/js/domain/internet-http-method.js @@ -1,55 +1 @@ -const ALL_HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']; -const COMMON_HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE']; -const INTERNET_HTTP_METHOD_RETURN_TYPE = ALL_HTTP_METHODS.join('|'); - -function normalizeHttpMethodToken(value) { - return String(value ?? '') - .trim() - .toUpperCase(); -} - -function parseExcludedHttpMethodsCsv(excludesValue = '') { - return String(excludesValue ?? '') - .split(',') - .map((value) => normalizeHttpMethodToken(value)) - .filter((value) => value.length > 0); -} - -function getInternetHttpMethodPool({ commonOnly = false, excludes = '' } = {}) { - const baseMethods = commonOnly === true ? COMMON_HTTP_METHODS : ALL_HTTP_METHODS; - const excludedMethods = new Set(parseExcludedHttpMethodsCsv(excludes)); - - return baseMethods.filter((method) => !excludedMethods.has(method)); -} - -function selectRandomHttpMethod(methods, executionContext = {}) { - if (executionContext?.faker?.helpers?.arrayElement) { - return executionContext.faker.helpers.arrayElement(methods); - } - - const index = Math.floor(Math.random() * methods.length); - return methods[index]; -} - -function executeCustomInternetHttpMethod(executionContext = {}) { - const args = Array.isArray(executionContext.args) ? executionContext.args : []; - const commonOnly = args[0] === true; - const excludes = typeof args[1] === 'undefined' ? '' : args[1]; - const availableMethods = getInternetHttpMethodPool({ commonOnly, excludes }); - - if (availableMethods.length === 0) { - throw new Error('Invalid argument for excludes: no HTTP methods remain after exclusions.'); - } - - return selectRandomHttpMethod(availableMethods, executionContext); -} - -export { - ALL_HTTP_METHODS, - COMMON_HTTP_METHODS, - INTERNET_HTTP_METHOD_RETURN_TYPE, - executeCustomInternetHttpMethod, - getInternetHttpMethodPool, - normalizeHttpMethodToken, - parseExcludedHttpMethodsCsv, -}; +export * from '../keywords/domain/internet/internet-http-method.js'; diff --git a/packages/core/js/faker/faker-helper-keyword-definitions.js b/packages/core/js/faker/faker-helper-keyword-definitions.js index 1accd879..57e37d3f 100644 --- a/packages/core/js/faker/faker-helper-keyword-definitions.js +++ b/packages/core/js/faker/faker-helper-keyword-definitions.js @@ -1,471 +1,48 @@ import { getDomainKeywordHelpByAlias } from '../domain/domain-keywords.js'; import { normalizeUsageExamples } from '../command-help/command-help-contract.js'; -import { - validateAnyValue, - validateArrayValue, - validateNumberValue, - validateStringValue, -} from '../command-help/command-help-validators.js'; +import { HELPERS_FAKE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/fake-keyword-definition.js'; +import { HELPERS_MUSTACHE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/mustache-keyword-definition.js'; +import { HELPERS_FROM_REG_EXP_KEYWORD_DEFINITION } from '../keywords/faker/helpers/from-reg-exp-keyword-definition.js'; +import { HELPERS_MAYBE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/maybe-keyword-definition.js'; +import { HELPERS_ARRAY_ELEMENT_KEYWORD_DEFINITION } from '../keywords/faker/helpers/array-element-keyword-definition.js'; +import { HELPERS_OBJECT_KEY_KEYWORD_DEFINITION } from '../keywords/faker/helpers/object-key-keyword-definition.js'; +import { HELPERS_OBJECT_VALUE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/object-value-keyword-definition.js'; +import { HELPERS_OBJECT_ENTRY_KEYWORD_DEFINITION } from '../keywords/faker/helpers/object-entry-keyword-definition.js'; +import { HELPERS_ENUM_VALUE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/enum-value-keyword-definition.js'; +import { HELPERS_SLUGIFY_KEYWORD_DEFINITION } from '../keywords/faker/helpers/slugify-keyword-definition.js'; +import { HELPERS_REPLACE_SYMBOLS_KEYWORD_DEFINITION } from '../keywords/faker/helpers/replace-symbols-keyword-definition.js'; +import { HELPERS_REPLACE_CREDIT_CARD_SYMBOLS_KEYWORD_DEFINITION } from '../keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.js'; +import { HELPERS_SHUFFLE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/shuffle-keyword-definition.js'; +import { HELPERS_UNIQUE_ARRAY_KEYWORD_DEFINITION } from '../keywords/faker/helpers/unique-array-keyword-definition.js'; +import { HELPERS_WEIGHTED_ARRAY_ELEMENT_KEYWORD_DEFINITION } from '../keywords/faker/helpers/weighted-array-element-keyword-definition.js'; +import { HELPERS_ARRAY_ELEMENTS_KEYWORD_DEFINITION } from '../keywords/faker/helpers/array-elements-keyword-definition.js'; +import { HELPERS_RANGE_TO_NUMBER_KEYWORD_DEFINITION } from '../keywords/faker/helpers/range-to-number-keyword-definition.js'; +import { HELPERS_MULTIPLE_KEYWORD_DEFINITION } from '../keywords/faker/helpers/multiple-keyword-definition.js'; const FAKER_HELPERS_DOCS_URL = 'https://fakerjs.dev/api/helpers'; // Faker helper definitions live here because helpers.* remains outside the domain keyword abstraction. // These definitions are the source of truth for helper command registration, params, examples, and help metadata. + const FAKER_HELPER_KEYWORD_DEFINITIONS = { - 'helpers.fake': { - summary: 'Interpolates faker template placeholders inside a string and returns the rendered result.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'pattern', - optional: false, - type: 'string', - description: 'Template string containing faker placeholders such as {{person.firstName}} or {{location.city}}.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.fake("Hi, my name is {{person.firstName}} {{person.lastName}}!")', - sampleReturnValue: 'Hi, my name is Aaliyah Bosco!', - description: 'Shows helpers.fake in use.', - }, - ], - }, - 'helpers.mustache': { - summary: 'Replaces {{placeholder}} tokens in a string using values from the supplied data object.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'text', - optional: false, - type: 'string', - description: 'Template text containing mustache placeholders such as {{name}}.', - }, - { - name: 'data', - optional: false, - type: 'object', - description: 'Object that provides replacement values for the placeholders used in the text.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.mustache("Hello {{name}}", { name: "Ada" })', - sampleReturnValue: 'Hello Ada', - description: 'Shows helpers.mustache in use.', - }, - ], - }, - 'helpers.fromRegExp': { - summary: 'Generates a string that matches the supplied regular-expression-style pattern.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'pattern', - optional: false, - type: 'string | RegExp', - description: 'Regular expression, or regex-like string, used to generate matching output.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.fromRegExp("[A-Z]{2}[0-9]{2}")', - sampleReturnValue: 'KS03', - description: 'Shows helpers.fromRegExp in use.', - }, - ], - }, - 'helpers.maybe': { - summary: 'Calls a callback and returns its value only when faker decides the optional value should be present.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateAnyValue, - returnType: 'unknown', - params: [ - { - name: 'callback', - optional: false, - type: '() => unknown', - description: 'Callback used to generate the value when the optional branch is chosen.', - }, - { - name: 'options', - optional: true, - type: 'object', - description: 'Optional configuration controlling probability and fallback behavior.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.maybe(() => "enabled")', - sampleReturnValue: 'enabled', - description: 'Shows helpers.maybe using only the callback argument.', - }, - { - functionCall: 'helpers.maybe(() => "enabled", { probability: 1 })', - sampleReturnValue: 'enabled', - description: 'Shows helpers.maybe forcing the callback branch with an options object.', - }, - ], - }, - 'helpers.arrayElement': { - summary: 'Returns one random element from the supplied array.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateAnyValue, - returnType: 'unknown', - params: [ - { - name: 'array', - optional: false, - type: 'array', - description: 'Array of candidate values to choose from.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.arrayElement(["A", "B", "C"])', - sampleReturnValue: 'B', - description: 'Shows helpers.arrayElement in use.', - }, - ], - }, - 'helpers.objectKey': { - summary: 'Returns one random key from the supplied object.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'object', - optional: false, - type: 'object', - description: 'Object whose enumerable keys are used as candidate values.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.objectKey({ red: "#f00", blue: "#00f" })', - sampleReturnValue: 'red', - description: 'Shows helpers.objectKey in use.', - }, - ], - }, - 'helpers.objectValue': { - summary: 'Returns one random value from the supplied object.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateAnyValue, - returnType: 'unknown', - params: [ - { - name: 'object', - optional: false, - type: 'object', - description: 'Object whose enumerable values are used as candidate values.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.objectValue({ red: "#f00", blue: "#00f" })', - sampleReturnValue: '#f00', - description: 'Shows helpers.objectValue in use.', - }, - ], - }, - 'helpers.objectEntry': { - summary: 'Returns one random [key, value] entry from the supplied object.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateArrayValue, - returnType: 'array', - params: [ - { - name: 'object', - optional: false, - type: 'object', - description: 'Object whose enumerable entries are used as candidate values.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.objectEntry({ red: "#f00", blue: "#00f" })', - sampleReturnValue: ['red', '#f00'], - description: 'Shows helpers.objectEntry in use.', - }, - ], - }, - 'helpers.enumValue': { - summary: 'Returns one random value from the supplied enum-like object.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateAnyValue, - returnType: 'unknown', - params: [ - { - name: 'enumObject', - optional: false, - type: 'object', - description: 'Enum-like object to sample from while ignoring numeric reverse-mapping keys.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.enumValue({ Pending: "pending", Active: "active" })', - sampleReturnValue: 'pending', - description: 'Shows helpers.enumValue in use.', - }, - ], - }, - 'helpers.slugify': { - summary: 'Converts a string into a URL-friendly slug.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'string', - optional: true, - type: 'string', - description: 'Input text to normalize into a lowercase, hyphen-separated slug.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.slugify("Hello World 2026")', - sampleReturnValue: 'Hello-World-2026', - description: 'Shows helpers.slugify in use.', - }, - { - functionCall: 'helpers.slugify()', - sampleReturnValue: '', - description: 'Shows helpers.slugify when optional params are omitted.', - }, - ], - }, - 'helpers.replaceSymbols': { - summary: 'Replaces placeholder symbols such as # and ? in a string with random digits or letters.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'string', - optional: true, - type: 'string', - description: 'Template string containing placeholder symbols to replace.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.replaceSymbols("##??-##")', - sampleReturnValue: '47AH-10', - description: 'Shows helpers.replaceSymbols in use.', - }, - { - functionCall: 'helpers.replaceSymbols()', - sampleReturnValue: '', - description: 'Shows helpers.replaceSymbols when optional params are omitted.', - }, - ], - }, - 'helpers.replaceCreditCardSymbols': { - summary: 'Replaces credit-card placeholders and computes a valid Luhn checksum for the result.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateStringValue, - returnType: 'string', - params: [ - { - name: 'string', - optional: true, - type: 'string', - description: 'Credit card template containing placeholder symbols such as #, !, and L.', - }, - { - name: 'symbol', - optional: true, - type: 'string', - description: 'Replacement symbol to use for digit placeholders instead of the default #.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.replaceCreditCardSymbols()', - sampleReturnValue: '6453-4703-1013-3546-2807', - description: 'Shows helpers.replaceCreditCardSymbols with all optional params omitted.', - }, - { - functionCall: 'helpers.replaceCreditCardSymbols("1234-[4-9]-##!!-L")', - sampleReturnValue: '1234-6-7043-6', - description: 'Shows helpers.replaceCreditCardSymbols using the default placeholder symbols.', - }, - { - functionCall: 'helpers.replaceCreditCardSymbols("1234-****-****-L", "*")', - sampleReturnValue: '1234-4703-1013-1', - description: 'Shows helpers.replaceCreditCardSymbols using a custom digit placeholder symbol.', - }, - ], - }, - 'helpers.shuffle': { - summary: 'Returns a shuffled copy of the supplied array.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateArrayValue, - returnType: 'array', - params: [ - { - name: 'array', - optional: false, - type: 'array', - description: 'Array of values to shuffle.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.shuffle(["A", "B", "C"])', - sampleReturnValue: ['A', 'C', 'B'], - description: 'Shows helpers.shuffle in use.', - }, - ], - }, - 'helpers.uniqueArray': { - summary: 'Builds an array of unique values by repeatedly sampling a source until the requested length is reached.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateArrayValue, - returnType: 'array', - params: [ - { - name: 'source', - optional: false, - type: 'array | () => unknown', - description: 'Array of possible values or a callback used to generate candidate values.', - }, - { - name: 'length', - optional: false, - type: 'number', - description: 'Number of unique values to return.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.uniqueArray(["red", "green", "blue"], 2)', - sampleReturnValue: ['red', 'blue'], - description: 'Shows helpers.uniqueArray in use.', - }, - ], - }, - 'helpers.weightedArrayElement': { - summary: 'Returns one value from a weighted array, favoring entries with higher weights.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateAnyValue, - returnType: 'unknown', - params: [ - { - name: 'array', - optional: false, - type: 'array', - description: 'Array of { weight, value } objects used for weighted selection.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.weightedArrayElement([{ weight: 5, value: "sunny" }, { weight: 1, value: "rainy" }])', - sampleReturnValue: 'sunny', - description: 'Shows helpers.weightedArrayElement in use.', - }, - ], - }, - 'helpers.arrayElements': { - summary: 'Returns multiple random elements from the supplied array.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateArrayValue, - returnType: 'array', - params: [ - { - name: 'array', - optional: false, - type: 'array', - description: 'Array of candidate values to sample from.', - }, - { - name: 'count', - optional: true, - type: 'number | { min: number; max: number; }', - description: 'Exact number of items to return, or a min/max range for the returned item count.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.arrayElements(["A", "B", "C"])', - sampleReturnValue: ['A', 'C'], - description: 'Shows helpers.arrayElements with only the required array argument.', - }, - { - functionCall: 'helpers.arrayElements(["A", "B", "C"], 2)', - sampleReturnValue: ['C', 'B'], - description: 'Shows helpers.arrayElements in use.', - }, - { - functionCall: 'helpers.arrayElements(["A","B","C"], 5)', - sampleReturnValue: ['A', 'C', 'B'], - description: 'Shows helpers.arrayElements using count.', - }, - ], - }, - 'helpers.rangeToNumber': { - summary: 'Converts a number or { min, max } range into a concrete number.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateNumberValue, - returnType: 'number', - params: [ - { - name: 'numberOrRange', - optional: false, - type: 'number | { min: number; max: number; }', - description: 'Fixed number or range object to resolve into a single numeric value.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.rangeToNumber({ min: 1, max: 2 })', - sampleReturnValue: 1, - description: 'Shows helpers.rangeToNumber in use.', - }, - ], - }, - 'helpers.multiple': { - summary: 'Calls a generator callback multiple times and returns the collected results as an array.', - docsUrl: 'https://fakerjs.dev/api/helpers', - validator: validateArrayValue, - returnType: 'array', - params: [ - { - name: 'method', - optional: false, - type: '() => unknown', - description: 'Callback used to generate each array entry.', - }, - { - name: 'options', - optional: true, - type: 'number | object', - description: 'Exact count or configuration controlling how many values to generate.', - }, - ], - usageExamples: [ - { - functionCall: 'helpers.multiple(() => "sample", { count: 3 })', - sampleReturnValue: ['sample', 'sample', 'sample'], - description: 'Shows helpers.multiple collecting three callback results with an explicit count.', - }, - { - functionCall: 'helpers.multiple(() => "sample")', - sampleReturnValue: ['sample', 'sample', 'sample'], - description: 'Shows helpers.multiple using the default repetition count.', - }, - ], - }, + 'helpers.fake': HELPERS_FAKE_KEYWORD_DEFINITION, + 'helpers.mustache': HELPERS_MUSTACHE_KEYWORD_DEFINITION, + 'helpers.fromRegExp': HELPERS_FROM_REG_EXP_KEYWORD_DEFINITION, + 'helpers.maybe': HELPERS_MAYBE_KEYWORD_DEFINITION, + 'helpers.arrayElement': HELPERS_ARRAY_ELEMENT_KEYWORD_DEFINITION, + 'helpers.objectKey': HELPERS_OBJECT_KEY_KEYWORD_DEFINITION, + 'helpers.objectValue': HELPERS_OBJECT_VALUE_KEYWORD_DEFINITION, + 'helpers.objectEntry': HELPERS_OBJECT_ENTRY_KEYWORD_DEFINITION, + 'helpers.enumValue': HELPERS_ENUM_VALUE_KEYWORD_DEFINITION, + 'helpers.slugify': HELPERS_SLUGIFY_KEYWORD_DEFINITION, + 'helpers.replaceSymbols': HELPERS_REPLACE_SYMBOLS_KEYWORD_DEFINITION, + 'helpers.replaceCreditCardSymbols': HELPERS_REPLACE_CREDIT_CARD_SYMBOLS_KEYWORD_DEFINITION, + 'helpers.shuffle': HELPERS_SHUFFLE_KEYWORD_DEFINITION, + 'helpers.uniqueArray': HELPERS_UNIQUE_ARRAY_KEYWORD_DEFINITION, + 'helpers.weightedArrayElement': HELPERS_WEIGHTED_ARRAY_ELEMENT_KEYWORD_DEFINITION, + 'helpers.arrayElements': HELPERS_ARRAY_ELEMENTS_KEYWORD_DEFINITION, + 'helpers.rangeToNumber': HELPERS_RANGE_TO_NUMBER_KEYWORD_DEFINITION, + 'helpers.multiple': HELPERS_MULTIPLE_KEYWORD_DEFINITION, }; function normalizeFakerHelperKeywordHelp(definition) { diff --git a/packages/core/js/keywords/domain/airline/aircraft-type-keyword-definition.js b/packages/core/js/keywords/domain/airline/aircraft-type-keyword-definition.js new file mode 100644 index 00000000..3d17c75c --- /dev/null +++ b/packages/core/js/keywords/domain/airline/aircraft-type-keyword-definition.js @@ -0,0 +1,32 @@ +import { createStringEnumValidator } from '../../../command-help/command-help-validators.js'; + +const AIRCRAFT_TYPES = ['narrowbody', 'regional', 'widebody']; + +const AIRCRAFT_TYPE_RETURN_TYPE = AIRCRAFT_TYPES.join('|'); + +const validateAircraftTypeValue = createStringEnumValidator(AIRCRAFT_TYPES); + +const AIRLINE_AIRCRAFT_TYPE_KEYWORD_DEFINITION = { + keyword: 'airline.aircraftType', + delegate: { + type: 'faker', + target: 'airline.aircraftType', + }, + help: { + summary: 'Returns a random aircraft type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAircraftTypeValue, + returnType: AIRCRAFT_TYPE_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'airline.aircraftType', + sampleReturnValue: 'regional', + description: 'Shows the default airline.aircraftType call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRCRAFT_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airline-iata-code-keyword-definition.js b/packages/core/js/keywords/domain/airline/airline-iata-code-keyword-definition.js new file mode 100644 index 00000000..32ef7622 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airline-iata-code-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateAirlineIataCodeValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRLINE_IATA_CODE_KEYWORD_DEFINITION = { + keyword: 'airline.airline.iataCode', + delegate: { + type: 'faker', + target: 'airline.airline', + resultPath: 'iataCode', + }, + help: { + summary: 'Generate an airline IATA code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirlineIataCodeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airline.iataCode', + sampleReturnValue: 'FZ', + description: 'Shows the default airline.airline.iataCode call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRLINE_IATA_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airline-keyword-definition.js b/packages/core/js/keywords/domain/airline/airline-keyword-definition.js new file mode 100644 index 00000000..f33b2a53 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airline-keyword-definition.js @@ -0,0 +1,29 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRLINE_KEYWORD_DEFINITION = { + keyword: 'airline.airline', + delegate: { + type: 'faker', + target: 'airline.airline', + }, + help: { + summary: 'Generate a value using faker airline.airline.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'airline.airline', + sampleReturnValue: { + name: 'Flydubai', + iataCode: 'FZ', + }, + description: 'Shows the default airline.airline call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRLINE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airline-keyword-definitions.js b/packages/core/js/keywords/domain/airline/airline-keyword-definitions.js new file mode 100644 index 00000000..2e0a30db --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airline-keyword-definitions.js @@ -0,0 +1,31 @@ +import { AIRLINE_AIRCRAFT_TYPE_KEYWORD_DEFINITION } from './aircraft-type-keyword-definition.js'; +import { AIRLINE_AIRLINE_KEYWORD_DEFINITION } from './airline-keyword-definition.js'; +import { AIRLINE_AIRLINE_IATA_CODE_KEYWORD_DEFINITION } from './airline-iata-code-keyword-definition.js'; +import { AIRLINE_AIRLINE_NAME_KEYWORD_DEFINITION } from './airline-name-keyword-definition.js'; +import { AIRLINE_AIRPLANE_KEYWORD_DEFINITION } from './airplane-keyword-definition.js'; +import { AIRLINE_AIRPLANE_IATA_TYPE_CODE_KEYWORD_DEFINITION } from './airplane-iata-type-code-keyword-definition.js'; +import { AIRLINE_AIRPLANE_NAME_KEYWORD_DEFINITION } from './airplane-name-keyword-definition.js'; +import { AIRLINE_AIRPORT_KEYWORD_DEFINITION } from './airport-keyword-definition.js'; +import { AIRLINE_AIRPORT_IATA_CODE_KEYWORD_DEFINITION } from './airport-iata-code-keyword-definition.js'; +import { AIRLINE_AIRPORT_NAME_KEYWORD_DEFINITION } from './airport-name-keyword-definition.js'; +import { AIRLINE_FLIGHT_NUMBER_KEYWORD_DEFINITION } from './flight-number-keyword-definition.js'; +import { AIRLINE_RECORD_LOCATOR_KEYWORD_DEFINITION } from './record-locator-keyword-definition.js'; +import { AIRLINE_SEAT_KEYWORD_DEFINITION } from './seat-keyword-definition.js'; + +const AIRLINE_KEYWORD_DEFINITIONS = [ + AIRLINE_AIRCRAFT_TYPE_KEYWORD_DEFINITION, + AIRLINE_AIRLINE_KEYWORD_DEFINITION, + AIRLINE_AIRLINE_IATA_CODE_KEYWORD_DEFINITION, + AIRLINE_AIRLINE_NAME_KEYWORD_DEFINITION, + AIRLINE_AIRPLANE_KEYWORD_DEFINITION, + AIRLINE_AIRPLANE_IATA_TYPE_CODE_KEYWORD_DEFINITION, + AIRLINE_AIRPLANE_NAME_KEYWORD_DEFINITION, + AIRLINE_AIRPORT_KEYWORD_DEFINITION, + AIRLINE_AIRPORT_IATA_CODE_KEYWORD_DEFINITION, + AIRLINE_AIRPORT_NAME_KEYWORD_DEFINITION, + AIRLINE_FLIGHT_NUMBER_KEYWORD_DEFINITION, + AIRLINE_RECORD_LOCATOR_KEYWORD_DEFINITION, + AIRLINE_SEAT_KEYWORD_DEFINITION, +]; + +export { AIRLINE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/airline/airline-name-keyword-definition.js b/packages/core/js/keywords/domain/airline/airline-name-keyword-definition.js new file mode 100644 index 00000000..06183d6f --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airline-name-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRLINE_NAME_KEYWORD_DEFINITION = { + keyword: 'airline.airline.name', + delegate: { + type: 'faker', + target: 'airline.airline', + resultPath: 'name', + }, + help: { + summary: 'Generate an airline name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airline.name', + sampleReturnValue: 'Flydubai', + description: 'Shows the default airline.airline.name call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRLINE_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airplane-iata-type-code-keyword-definition.js b/packages/core/js/keywords/domain/airline/airplane-iata-type-code-keyword-definition.js new file mode 100644 index 00000000..93f9c028 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airplane-iata-type-code-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateAircraftIataTypeCodeValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRPLANE_IATA_TYPE_CODE_KEYWORD_DEFINITION = { + keyword: 'airline.airplane.iataTypeCode', + delegate: { + type: 'faker', + target: 'airline.airplane', + resultPath: 'iataTypeCode', + }, + help: { + summary: 'Generate an airplane IATA type code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAircraftIataTypeCodeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airplane.iataTypeCode', + sampleReturnValue: '74J', + description: 'Shows the default airline.airplane.iataTypeCode call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRPLANE_IATA_TYPE_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airplane-keyword-definition.js b/packages/core/js/keywords/domain/airline/airplane-keyword-definition.js new file mode 100644 index 00000000..f76ef397 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airplane-keyword-definition.js @@ -0,0 +1,29 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRPLANE_KEYWORD_DEFINITION = { + keyword: 'airline.airplane', + delegate: { + type: 'faker', + target: 'airline.airplane', + }, + help: { + summary: 'Generate a value using faker airline.airplane.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'airline.airplane', + sampleReturnValue: { + name: 'Boeing 747-400D', + iataTypeCode: '74J', + }, + description: 'Shows the default airline.airplane call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRPLANE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airplane-name-keyword-definition.js b/packages/core/js/keywords/domain/airline/airplane-name-keyword-definition.js new file mode 100644 index 00000000..cacefcd3 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airplane-name-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRPLANE_NAME_KEYWORD_DEFINITION = { + keyword: 'airline.airplane.name', + delegate: { + type: 'faker', + target: 'airline.airplane', + resultPath: 'name', + }, + help: { + summary: 'Generate an airplane model name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airplane.name', + sampleReturnValue: 'Boeing 747-400D', + description: 'Shows the default airline.airplane.name call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRPLANE_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airport-iata-code-keyword-definition.js b/packages/core/js/keywords/domain/airline/airport-iata-code-keyword-definition.js new file mode 100644 index 00000000..9d601610 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airport-iata-code-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateAirportIataCodeValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRPORT_IATA_CODE_KEYWORD_DEFINITION = { + keyword: 'airline.airport.iataCode', + delegate: { + type: 'faker', + target: 'airline.airport', + resultPath: 'iataCode', + }, + help: { + summary: 'Generate an airport IATA code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirportIataCodeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airport.iataCode', + sampleReturnValue: 'HRG', + description: 'Shows the default airline.airport.iataCode call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRPORT_IATA_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airport-keyword-definition.js b/packages/core/js/keywords/domain/airline/airport-keyword-definition.js new file mode 100644 index 00000000..685e16dc --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airport-keyword-definition.js @@ -0,0 +1,29 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRPORT_KEYWORD_DEFINITION = { + keyword: 'airline.airport', + delegate: { + type: 'faker', + target: 'airline.airport', + }, + help: { + summary: 'Generate a value using faker airline.airport.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'airline.airport', + sampleReturnValue: { + name: 'Hurgada International Airport', + iataCode: 'HRG', + }, + description: 'Shows the default airline.airport call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRPORT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/airport-name-keyword-definition.js b/packages/core/js/keywords/domain/airline/airport-name-keyword-definition.js new file mode 100644 index 00000000..6f23741a --- /dev/null +++ b/packages/core/js/keywords/domain/airline/airport-name-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_AIRPORT_NAME_KEYWORD_DEFINITION = { + keyword: 'airline.airport.name', + delegate: { + type: 'faker', + target: 'airline.airport', + resultPath: 'name', + }, + help: { + summary: 'Generate an airport name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.airport.name', + sampleReturnValue: 'Hurgada International Airport', + description: 'Shows the default airline.airport.name call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_AIRPORT_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/flight-number-keyword-definition.js b/packages/core/js/keywords/domain/airline/flight-number-keyword-definition.js new file mode 100644 index 00000000..0c91aab2 --- /dev/null +++ b/packages/core/js/keywords/domain/airline/flight-number-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateFlightNumberValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_FLIGHT_NUMBER_KEYWORD_DEFINITION = { + keyword: 'airline.flightNumber', + delegate: { + type: 'faker', + target: 'airline.flightNumber', + }, + help: { + summary: + 'Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateFlightNumberValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.flightNumber', + sampleReturnValue: '70', + description: 'Shows the default airline.flightNumber call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_FLIGHT_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/record-locator-keyword-definition.js b/packages/core/js/keywords/domain/airline/record-locator-keyword-definition.js new file mode 100644 index 00000000..fb3c984a --- /dev/null +++ b/packages/core/js/keywords/domain/airline/record-locator-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateAirlineRecordLocatorValue } from '../../../command-help/command-help-validators.js'; + +const AIRLINE_RECORD_LOCATOR_KEYWORD_DEFINITION = { + keyword: 'airline.recordLocator', + delegate: { + type: 'faker', + target: 'airline.recordLocator', + }, + help: { + summary: 'Generates a random record locator. Record locators are 6-character alphanumeric booking references.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirlineRecordLocatorValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.recordLocator', + sampleReturnValue: 'KTAGDC', + description: 'Shows the default airline.recordLocator call.', + }, + ], + args: [], + }, +}; + +export { AIRLINE_RECORD_LOCATOR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/airline/seat-keyword-definition.js b/packages/core/js/keywords/domain/airline/seat-keyword-definition.js new file mode 100644 index 00000000..0197662a --- /dev/null +++ b/packages/core/js/keywords/domain/airline/seat-keyword-definition.js @@ -0,0 +1,49 @@ +import { validateAirlineSeatValue } from '../../../command-help/command-help-validators.js'; + +const AIRCRAFT_TYPES = ['narrowbody', 'regional', 'widebody']; + +const AIRCRAFT_TYPE_RETURN_TYPE = AIRCRAFT_TYPES.join('|'); + +const AIRLINE_SEAT_KEYWORD_DEFINITION = { + keyword: 'airline.seat', + delegate: { + type: 'faker', + target: 'airline.seat', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random seat.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/airline', + fakerDocsUrl: 'https://fakerjs.dev/api/airline', + validator: validateAirlineSeatValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'airline.seat', + sampleReturnValue: '15E', + description: 'Shows airline.seat in use.', + }, + { + functionCall: 'airline.seat(aircraftType="widebody")', + sampleReturnValue: '26H', + description: 'Shows airline.seat in use.', + }, + { + functionCall: 'airline.seat()', + sampleReturnValue: '15E', + description: 'Shows airline.seat when optional params are omitted.', + }, + ], + args: [ + { + name: 'aircraftType', + type: AIRCRAFT_TYPE_RETURN_TYPE, + required: false, + description: 'The aircraft type. Can be one of narrowbody, regional, widebody.', + examples: ['widebody'], + }, + ], + }, +}; + +export { AIRLINE_SEAT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/animal-keyword-definitions.js b/packages/core/js/keywords/domain/animal/animal-keyword-definitions.js new file mode 100644 index 00000000..cd3bf97d --- /dev/null +++ b/packages/core/js/keywords/domain/animal/animal-keyword-definitions.js @@ -0,0 +1,37 @@ +import { ANIMAL_BEAR_KEYWORD_DEFINITION } from './bear-keyword-definition.js'; +import { ANIMAL_BIRD_KEYWORD_DEFINITION } from './bird-keyword-definition.js'; +import { ANIMAL_CAT_KEYWORD_DEFINITION } from './cat-keyword-definition.js'; +import { ANIMAL_CETACEAN_KEYWORD_DEFINITION } from './cetacean-keyword-definition.js'; +import { ANIMAL_COW_KEYWORD_DEFINITION } from './cow-keyword-definition.js'; +import { ANIMAL_CROCODILIA_KEYWORD_DEFINITION } from './crocodilia-keyword-definition.js'; +import { ANIMAL_DOG_KEYWORD_DEFINITION } from './dog-keyword-definition.js'; +import { ANIMAL_FISH_KEYWORD_DEFINITION } from './fish-keyword-definition.js'; +import { ANIMAL_HORSE_KEYWORD_DEFINITION } from './horse-keyword-definition.js'; +import { ANIMAL_INSECT_KEYWORD_DEFINITION } from './insect-keyword-definition.js'; +import { ANIMAL_LION_KEYWORD_DEFINITION } from './lion-keyword-definition.js'; +import { ANIMAL_PET_NAME_KEYWORD_DEFINITION } from './pet-name-keyword-definition.js'; +import { ANIMAL_RABBIT_KEYWORD_DEFINITION } from './rabbit-keyword-definition.js'; +import { ANIMAL_RODENT_KEYWORD_DEFINITION } from './rodent-keyword-definition.js'; +import { ANIMAL_SNAKE_KEYWORD_DEFINITION } from './snake-keyword-definition.js'; +import { ANIMAL_TYPE_KEYWORD_DEFINITION } from './type-keyword-definition.js'; + +const ANIMAL_KEYWORD_DEFINITIONS = [ + ANIMAL_BEAR_KEYWORD_DEFINITION, + ANIMAL_BIRD_KEYWORD_DEFINITION, + ANIMAL_CAT_KEYWORD_DEFINITION, + ANIMAL_CETACEAN_KEYWORD_DEFINITION, + ANIMAL_COW_KEYWORD_DEFINITION, + ANIMAL_CROCODILIA_KEYWORD_DEFINITION, + ANIMAL_DOG_KEYWORD_DEFINITION, + ANIMAL_FISH_KEYWORD_DEFINITION, + ANIMAL_HORSE_KEYWORD_DEFINITION, + ANIMAL_INSECT_KEYWORD_DEFINITION, + ANIMAL_LION_KEYWORD_DEFINITION, + ANIMAL_PET_NAME_KEYWORD_DEFINITION, + ANIMAL_RABBIT_KEYWORD_DEFINITION, + ANIMAL_RODENT_KEYWORD_DEFINITION, + ANIMAL_SNAKE_KEYWORD_DEFINITION, + ANIMAL_TYPE_KEYWORD_DEFINITION, +]; + +export { ANIMAL_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/animal/bear-keyword-definition.js b/packages/core/js/keywords/domain/animal/bear-keyword-definition.js new file mode 100644 index 00000000..3d0ff54b --- /dev/null +++ b/packages/core/js/keywords/domain/animal/bear-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_BEAR_KEYWORD_DEFINITION = { + keyword: 'animal.bear', + delegate: { + type: 'faker', + target: 'animal.bear', + }, + help: { + summary: 'Returns a random bear species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.bear', + sampleReturnValue: 'Giant panda', + description: 'Shows the default animal.bear call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_BEAR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/bird-keyword-definition.js b/packages/core/js/keywords/domain/animal/bird-keyword-definition.js new file mode 100644 index 00000000..3e2e4f2d --- /dev/null +++ b/packages/core/js/keywords/domain/animal/bird-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_BIRD_KEYWORD_DEFINITION = { + keyword: 'animal.bird', + delegate: { + type: 'faker', + target: 'animal.bird', + }, + help: { + summary: 'Returns a random bird species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.bird', + sampleReturnValue: 'Great-tailed Grackle', + description: 'Shows the default animal.bird call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_BIRD_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/cat-keyword-definition.js b/packages/core/js/keywords/domain/animal/cat-keyword-definition.js new file mode 100644 index 00000000..acf45881 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/cat-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_CAT_KEYWORD_DEFINITION = { + keyword: 'animal.cat', + delegate: { + type: 'faker', + target: 'animal.cat', + }, + help: { + summary: 'Returns a random cat breed.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.cat', + sampleReturnValue: 'Korat', + description: 'Shows the default animal.cat call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_CAT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/cetacean-keyword-definition.js b/packages/core/js/keywords/domain/animal/cetacean-keyword-definition.js new file mode 100644 index 00000000..0b1dca3a --- /dev/null +++ b/packages/core/js/keywords/domain/animal/cetacean-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_CETACEAN_KEYWORD_DEFINITION = { + keyword: 'animal.cetacean', + delegate: { + type: 'faker', + target: 'animal.cetacean', + }, + help: { + summary: 'Returns a random cetacean species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.cetacean', + sampleReturnValue: 'Guiana Dolphin', + description: 'Shows the default animal.cetacean call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_CETACEAN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/cow-keyword-definition.js b/packages/core/js/keywords/domain/animal/cow-keyword-definition.js new file mode 100644 index 00000000..b26f7035 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/cow-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_COW_KEYWORD_DEFINITION = { + keyword: 'animal.cow', + delegate: { + type: 'faker', + target: 'animal.cow', + }, + help: { + summary: 'Returns a random cow species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.cow', + sampleReturnValue: 'Gascon cattle', + description: 'Shows the default animal.cow call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_COW_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/crocodilia-keyword-definition.js b/packages/core/js/keywords/domain/animal/crocodilia-keyword-definition.js new file mode 100644 index 00000000..11ab747b --- /dev/null +++ b/packages/core/js/keywords/domain/animal/crocodilia-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_CROCODILIA_KEYWORD_DEFINITION = { + keyword: 'animal.crocodilia', + delegate: { + type: 'faker', + target: 'animal.crocodilia', + }, + help: { + summary: 'Returns a random crocodilian species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.crocodilia', + sampleReturnValue: 'Gharial', + description: 'Shows the default animal.crocodilia call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_CROCODILIA_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/dog-keyword-definition.js b/packages/core/js/keywords/domain/animal/dog-keyword-definition.js new file mode 100644 index 00000000..0da69ac2 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/dog-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_DOG_KEYWORD_DEFINITION = { + keyword: 'animal.dog', + delegate: { + type: 'faker', + target: 'animal.dog', + }, + help: { + summary: 'Returns a random dog breed.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.dog', + sampleReturnValue: 'Grand Bleu de Gascogne', + description: 'Shows the default animal.dog call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_DOG_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/fish-keyword-definition.js b/packages/core/js/keywords/domain/animal/fish-keyword-definition.js new file mode 100644 index 00000000..079705bf --- /dev/null +++ b/packages/core/js/keywords/domain/animal/fish-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_FISH_KEYWORD_DEFINITION = { + keyword: 'animal.fish', + delegate: { + type: 'faker', + target: 'animal.fish', + }, + help: { + summary: 'Returns a random fish species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.fish', + sampleReturnValue: 'Gazami crab', + description: 'Shows the default animal.fish call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_FISH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/horse-keyword-definition.js b/packages/core/js/keywords/domain/animal/horse-keyword-definition.js new file mode 100644 index 00000000..1b36273e --- /dev/null +++ b/packages/core/js/keywords/domain/animal/horse-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_HORSE_KEYWORD_DEFINITION = { + keyword: 'animal.horse', + delegate: { + type: 'faker', + target: 'animal.horse', + }, + help: { + summary: 'Returns a random horse breed.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.horse', + sampleReturnValue: 'Heihe Horse', + description: 'Shows the default animal.horse call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_HORSE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/insect-keyword-definition.js b/packages/core/js/keywords/domain/animal/insect-keyword-definition.js new file mode 100644 index 00000000..2e84c040 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/insect-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_INSECT_KEYWORD_DEFINITION = { + keyword: 'animal.insect', + delegate: { + type: 'faker', + target: 'animal.insect', + }, + help: { + summary: 'Returns a random insect species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.insect', + sampleReturnValue: 'Honey bee', + description: 'Shows the default animal.insect call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_INSECT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/lion-keyword-definition.js b/packages/core/js/keywords/domain/animal/lion-keyword-definition.js new file mode 100644 index 00000000..02cbaab3 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/lion-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_LION_KEYWORD_DEFINITION = { + keyword: 'animal.lion', + delegate: { + type: 'faker', + target: 'animal.lion', + }, + help: { + summary: 'Returns a random lion species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.lion', + sampleReturnValue: 'Cape lion', + description: 'Shows the default animal.lion call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_LION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/pet-name-keyword-definition.js b/packages/core/js/keywords/domain/animal/pet-name-keyword-definition.js new file mode 100644 index 00000000..30551d19 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/pet-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_PET_NAME_KEYWORD_DEFINITION = { + keyword: 'animal.petName', + delegate: { + type: 'faker', + target: 'animal.petName', + }, + help: { + summary: 'Returns a random pet name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.petName', + sampleReturnValue: 'Gus', + description: 'Shows the default animal.petName call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_PET_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/rabbit-keyword-definition.js b/packages/core/js/keywords/domain/animal/rabbit-keyword-definition.js new file mode 100644 index 00000000..707e86f1 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/rabbit-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_RABBIT_KEYWORD_DEFINITION = { + keyword: 'animal.rabbit', + delegate: { + type: 'faker', + target: 'animal.rabbit', + }, + help: { + summary: 'Returns a random rabbit species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.rabbit', + sampleReturnValue: 'Florida White', + description: 'Shows the default animal.rabbit call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_RABBIT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/rodent-keyword-definition.js b/packages/core/js/keywords/domain/animal/rodent-keyword-definition.js new file mode 100644 index 00000000..b16ab462 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/rodent-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_RODENT_KEYWORD_DEFINITION = { + keyword: 'animal.rodent', + delegate: { + type: 'faker', + target: 'animal.rodent', + }, + help: { + summary: 'Returns a random rodent breed.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.rodent', + sampleReturnValue: 'Fukomys foxi', + description: 'Shows the default animal.rodent call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_RODENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/snake-keyword-definition.js b/packages/core/js/keywords/domain/animal/snake-keyword-definition.js new file mode 100644 index 00000000..ea9b276c --- /dev/null +++ b/packages/core/js/keywords/domain/animal/snake-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_SNAKE_KEYWORD_DEFINITION = { + keyword: 'animal.snake', + delegate: { + type: 'faker', + target: 'animal.snake', + }, + help: { + summary: 'Returns a random snake species.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.snake', + sampleReturnValue: 'Harlequin coral snake', + description: 'Shows the default animal.snake call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_SNAKE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/animal/type-keyword-definition.js b/packages/core/js/keywords/domain/animal/type-keyword-definition.js new file mode 100644 index 00000000..a4133230 --- /dev/null +++ b/packages/core/js/keywords/domain/animal/type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const ANIMAL_TYPE_KEYWORD_DEFINITION = { + keyword: 'animal.type', + delegate: { + type: 'faker', + target: 'animal.type', + }, + help: { + summary: 'Returns a random animal type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/animal', + fakerDocsUrl: 'https://fakerjs.dev/api/animal', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'animal.type', + sampleReturnValue: 'giraffe', + description: 'Shows the default animal.type call.', + }, + ], + args: [], + }, +}; + +export { ANIMAL_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/autoincrement/auto-increment-sequence.js b/packages/core/js/keywords/domain/autoincrement/auto-increment-sequence.js new file mode 100644 index 00000000..94f48beb --- /dev/null +++ b/packages/core/js/keywords/domain/autoincrement/auto-increment-sequence.js @@ -0,0 +1,53 @@ +function getIntegerArg(value, argName, defaultValue) { + if (typeof value === 'undefined') { + return defaultValue; + } + if (!Number.isInteger(value)) { + throw new Error(`Invalid argument for ${argName}: expected an integer.`); + } + return value; +} + +function getStringArg(value, defaultValue = '') { + if (typeof value === 'undefined') { + return defaultValue; + } + return String(value); +} + +function formatAutoIncrementValue(value, zeroPadding) { + const integerValue = Number(value); + const sign = integerValue < 0 ? '-' : ''; + const digits = Math.abs(integerValue).toString(); + return `${sign}${digits.padStart(Math.max(0, zeroPadding), '0')}`; +} + +function executeCustomAutoIncrementSequence(executionContext = {}) { + const args = Array.isArray(executionContext.args) ? executionContext.args : []; + const state = executionContext.autoIncrementState || {}; + + const start = getIntegerArg(args[0], 'start', 1); + const step = getIntegerArg(args[1], 'step', 1); + const prefix = getStringArg(args[2], ''); + const suffix = getStringArg(args[3], ''); + const zeroPadding = getIntegerArg(args[4], 'zeropadding', 0); + + if (step === 0) { + throw new Error('Invalid argument for step: expected a non-zero integer.'); + } + + if (zeroPadding < 0) { + throw new Error('Invalid argument for zeropadding: expected an integer greater than or equal to 0.'); + } + + const currentValue = Number.isInteger(state.nextValue) ? state.nextValue : start; + state.nextValue = currentValue + step; + + if (!prefix && !suffix && zeroPadding === 0) { + return currentValue; + } + + return `${prefix}${formatAutoIncrementValue(currentValue, zeroPadding)}${suffix}`; +} + +export { executeCustomAutoIncrementSequence, formatAutoIncrementValue }; diff --git a/packages/core/js/keywords/domain/autoincrement/auto-increment-timestamp.js b/packages/core/js/keywords/domain/autoincrement/auto-increment-timestamp.js new file mode 100644 index 00000000..c62b9ca2 --- /dev/null +++ b/packages/core/js/keywords/domain/autoincrement/auto-increment-timestamp.js @@ -0,0 +1,195 @@ +import { parseDate as parseNaturalDate } from 'chrono-node'; +import { + addDays, + addHours, + addMilliseconds, + addMinutes, + addMonths, + addSeconds, + addWeeks, + addYears, + isValid, + parse, + parseISO, +} from 'date-fns'; +import { formatInTimeZone } from 'date-fns-tz'; + +const DEFAULT_OUTPUT_FORMAT = 'iso8601'; +const DEFAULT_STEP_TYPE = 'seconds'; +const DEFAULT_STEP_VALUE = 1; +const ISO_OUTPUT_ALIASES = new Set(['iso', 'iso8601', 'iso-8601']); +const STEP_TYPE_NORMALISERS = Object.freeze({ + millisecond: 'milliseconds', + milliseconds: 'milliseconds', + second: 'seconds', + seconds: 'seconds', + minute: 'minutes', + minutes: 'minutes', + hour: 'hours', + hours: 'hours', + day: 'days', + days: 'days', + week: 'weeks', + weeks: 'weeks', + month: 'months', + months: 'months', + year: 'years', + years: 'years', +}); + +function cloneDate(value) { + return new Date(value.getTime()); +} + +function toUtcDatePreservingClock(dateValue) { + return new Date( + Date.UTC( + dateValue.getFullYear(), + dateValue.getMonth(), + dateValue.getDate(), + dateValue.getHours(), + dateValue.getMinutes(), + dateValue.getSeconds(), + dateValue.getMilliseconds() + ) + ); +} + +function isIsoLikeDateString(value) { + return /^\d{4}-\d{2}-\d{2}(?:[T\s].*)?$/.test(String(value || '').trim()); +} + +function ensureValidDate(dateValue, description) { + if (!isValid(dateValue)) { + throw new Error(`Invalid ${description}.`); + } + return dateValue; +} + +function normaliseStepType(stepType) { + const raw = String(stepType || DEFAULT_STEP_TYPE) + .trim() + .toLowerCase(); + const normalised = STEP_TYPE_NORMALISERS[raw]; + if (!normalised) { + throw new Error( + 'Invalid argument for type: expected milliseconds, seconds, minutes, hours, days, weeks, months, or years.' + ); + } + return normalised; +} + +function getNumericArg(value, argName) { + if (typeof value !== 'number' || !Number.isFinite(value)) { + throw new Error(`Invalid argument for ${argName}: expected a number.`); + } + return value; +} + +function resolveNow(executionContext = {}) { + if (executionContext.runStartedAt instanceof Date) { + return cloneDate(executionContext.runStartedAt); + } + if (typeof executionContext.nowProvider === 'function') { + const provided = executionContext.nowProvider(); + if (provided instanceof Date) { + return cloneDate(provided); + } + } + return new Date(); +} + +function resolveStartDate(startValue, inputFormat, fallbackNow) { + if (startValue instanceof Date) { + return ensureValidDate(cloneDate(startValue), 'start date'); + } + + if (typeof startValue === 'number') { + return ensureValidDate(new Date(startValue), 'start date'); + } + + if (typeof startValue === 'undefined') { + return cloneDate(fallbackNow); + } + + const startText = String(startValue || '').trim(); + if (!startText) { + return cloneDate(fallbackNow); + } + + if (typeof inputFormat === 'string' && inputFormat.trim().length > 0) { + const parsedWithFormat = ensureValidDate(parse(startText, inputFormat, fallbackNow), 'start date'); + return toUtcDatePreservingClock(parsedWithFormat); + } + + if (isIsoLikeDateString(startText)) { + return ensureValidDate(parseISO(startText), 'start date'); + } + + const naturalDate = parseNaturalDate(startText, fallbackNow, { forwardDate: false }); + if (naturalDate instanceof Date) { + return toUtcDatePreservingClock(ensureValidDate(naturalDate, 'start date')); + } + + return ensureValidDate(new Date(startText), 'start date'); +} + +function addStep(dateValue, amount, stepType) { + switch (stepType) { + case 'milliseconds': + return addMilliseconds(dateValue, amount); + case 'seconds': + return addSeconds(dateValue, amount); + case 'minutes': + return addMinutes(dateValue, amount); + case 'hours': + return addHours(dateValue, amount); + case 'days': + return addDays(dateValue, amount); + case 'weeks': + return addWeeks(dateValue, amount); + case 'months': + return addMonths(dateValue, amount); + case 'years': + return addYears(dateValue, amount); + default: + throw new Error(`Unsupported step type: ${stepType}`); + } +} + +function formatTimestamp(dateValue, outputFormat) { + const formatValue = String(outputFormat || DEFAULT_OUTPUT_FORMAT) + .trim() + .toLowerCase(); + if (!formatValue || ISO_OUTPUT_ALIASES.has(formatValue)) { + return dateValue.toISOString().replace(/\.\d{3}Z$/, 'Z'); + } + return formatInTimeZone(dateValue, 'UTC', outputFormat); +} + +function executeCustomAutoIncrementTimestamp(executionContext = {}) { + const args = Array.isArray(executionContext.args) ? executionContext.args : []; + const startArg = args[0]; + const stepArg = args[1]; + const typeArg = args[2]; + const outputFormatArg = args[3]; + const inputFormatArg = args[4]; + const state = executionContext.autoIncrementState || null; + const rowIndex = + Number.isInteger(executionContext.rowIndex) && executionContext.rowIndex >= 0 ? executionContext.rowIndex : 0; + const now = resolveNow(executionContext); + const startDate = resolveStartDate(startArg, inputFormatArg, now); + const stepValue = typeof stepArg === 'undefined' ? DEFAULT_STEP_VALUE : getNumericArg(stepArg, 'step'); + const stepType = normaliseStepType(typeArg); + + if (state && typeof state === 'object') { + const currentDate = state.nextDate instanceof Date ? cloneDate(state.nextDate) : startDate; + state.nextDate = addStep(cloneDate(currentDate), stepValue, stepType); + return formatTimestamp(currentDate, outputFormatArg); + } + + const offsetDate = rowIndex === 0 ? startDate : addStep(startDate, stepValue * rowIndex, stepType); + return formatTimestamp(offsetDate, outputFormatArg); +} + +export { executeCustomAutoIncrementTimestamp }; diff --git a/packages/core/js/keywords/domain/autoincrement/autoincrement-keyword-definitions.js b/packages/core/js/keywords/domain/autoincrement/autoincrement-keyword-definitions.js new file mode 100644 index 00000000..8f37ebfc --- /dev/null +++ b/packages/core/js/keywords/domain/autoincrement/autoincrement-keyword-definitions.js @@ -0,0 +1,9 @@ +import { AUTO_INCREMENT_TIMESTAMP_KEYWORD_DEFINITION } from './timestamp-keyword-definition.js'; +import { AUTO_INCREMENT_SEQUENCE_KEYWORD_DEFINITION } from './sequence-keyword-definition.js'; + +const AUTOINCREMENT_KEYWORD_DEFINITIONS = [ + AUTO_INCREMENT_TIMESTAMP_KEYWORD_DEFINITION, + AUTO_INCREMENT_SEQUENCE_KEYWORD_DEFINITION, +]; + +export { AUTOINCREMENT_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/autoincrement/sequence-keyword-definition.js b/packages/core/js/keywords/domain/autoincrement/sequence-keyword-definition.js new file mode 100644 index 00000000..221e8b18 --- /dev/null +++ b/packages/core/js/keywords/domain/autoincrement/sequence-keyword-definition.js @@ -0,0 +1,99 @@ +import { validateStringOrNumberValue } from '../../../command-help/command-help-validators.js'; + +const AUTO_INCREMENT_SEQUENCE_KEYWORD_DEFINITION = { + keyword: 'autoIncrement.sequence', + delegate: { + type: 'custom', + target: 'autoIncrement.sequence', + }, + help: { + summary: + 'Generates an incrementing sequence. Values only advance when a generated row is accepted, so constraint-filtered rows do not consume sequence numbers.', + docsUrl: 'https://anywaydata.com/docs/test-data/auto-increment-sequences', + fakerDocsUrl: '', + validator: validateStringOrNumberValue, + returnType: 'string|number', + usageExamples: [ + { + functionCall: 'autoIncrement.sequence()', + sampleReturnValue: 1, + description: 'Shows autoIncrement.sequence in use.', + }, + { + functionCall: 'autoIncrement.sequence(start=10, step=5)', + sampleReturnValue: 10, + description: 'Shows autoIncrement.sequence in use.', + }, + { + functionCall: 'autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3)', + sampleReturnValue: 'filename001.txt', + description: 'Shows autoIncrement.sequence in use.', + }, + { + functionCall: 'autoIncrement.sequence(start=10)', + sampleReturnValue: 10, + description: 'Shows autoIncrement.sequence using start.', + }, + { + functionCall: 'autoIncrement.sequence(step=5)', + sampleReturnValue: 1, + description: 'Shows autoIncrement.sequence using step.', + }, + { + functionCall: 'autoIncrement.sequence(prefix="filename")', + sampleReturnValue: 'filename1', + description: 'Shows autoIncrement.sequence using prefix.', + }, + { + functionCall: 'autoIncrement.sequence(suffix=".txt")', + sampleReturnValue: '1.txt', + description: 'Shows autoIncrement.sequence using suffix.', + }, + { + functionCall: 'autoIncrement.sequence(zeropadding=3)', + sampleReturnValue: '001', + description: 'Shows autoIncrement.sequence using zeropadding.', + }, + ], + args: [ + { + name: 'start', + type: 'integer', + required: false, + description: 'Starting integer in the sequence. Defaults to 1.', + examples: [10], + }, + { + name: 'step', + type: 'integer', + required: false, + description: 'Non-zero amount added after each accepted row. Defaults to 1.', + examples: [5], + }, + { + name: 'prefix', + type: 'string', + required: false, + description: 'Optional text added before the numeric portion.', + examples: ['filename'], + }, + { + name: 'suffix', + type: 'string', + required: false, + description: 'Optional text added after the numeric portion.', + examples: ['.txt'], + }, + { + name: 'zeropadding', + type: 'integer', + required: false, + description: + 'Total digit width for the numeric portion. A value of 3 renders 1 as 001, while 100 stays 100. Defaults to 0.', + examples: [3], + }, + ], + }, +}; + +export { AUTO_INCREMENT_SEQUENCE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/autoincrement/timestamp-keyword-definition.js b/packages/core/js/keywords/domain/autoincrement/timestamp-keyword-definition.js new file mode 100644 index 00000000..80d3dd6c --- /dev/null +++ b/packages/core/js/keywords/domain/autoincrement/timestamp-keyword-definition.js @@ -0,0 +1,113 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const AUTO_INCREMENT_TIMESTAMP_KEYWORD_DEFINITION = { + keyword: 'autoIncrement.timestamp', + delegate: { + type: 'custom', + target: 'autoIncrement.timestamp', + }, + help: { + summary: + 'Generates a timestamp that starts from a fixed point and increments by the configured amount for each generated row.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/autoIncrement', + fakerDocsUrl: '', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=1, type="seconds")', + sampleReturnValue: '2026-06-12T12:39:23Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp()', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp(start="20/03/1969", step=1, type="days")', + sampleReturnValue: '1969-03-20T12:00:00Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: + 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss")', + sampleReturnValue: '2026-06-12 12:39:23', + description: 'Shows autoIncrement.timestamp using a custom output format.', + }, + { + functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy", step=1, type="days")', + sampleReturnValue: '1969-03-20T00:00:00Z', + description: 'Shows autoIncrement.timestamp in use.', + }, + { + functionCall: 'autoIncrement.timestamp(start="2026-06-12T12:39:23Z")', + sampleReturnValue: '2026-06-12T12:39:23Z', + description: 'Shows autoIncrement.timestamp using start.', + }, + { + functionCall: 'autoIncrement.timestamp(step=1)', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp using step.', + }, + { + functionCall: 'autoIncrement.timestamp(type="seconds")', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp using type.', + }, + { + functionCall: 'autoIncrement.timestamp(outputFormat="iso8601")', + sampleReturnValue: '2026-06-18T15:55:20Z', + description: 'Shows autoIncrement.timestamp using outputFormat.', + }, + { + functionCall: 'autoIncrement.timestamp(start="20/03/1969", inputFormat="dd/MM/yyyy")', + sampleReturnValue: '1969-03-20T00:00:00Z', + description: 'Shows autoIncrement.timestamp using inputFormat.', + }, + ], + args: [ + { + name: 'start', + type: 'string|number', + required: false, + description: + 'Starting timestamp. Defaults to the generation run start time. Valid examples include "2026-06-12T12:39:23Z", "20/03/1969", "12-06-2026 12:39:23", or a Unix timestamp like 1718195963000.', + examples: ['2026-06-12T12:39:23Z', '20/03/1969', 1718195963000], + }, + { + name: 'step', + type: 'number', + required: false, + description: 'Amount added for each generated row. Defaults to 1.', + examples: [1, 15], + }, + { + name: 'type', + type: 'string', + required: false, + description: + 'Unit applied to step for each row. Supports milliseconds, seconds, minutes, hours, days, weeks, months, or years. Defaults to seconds.', + examples: ['seconds', 'days'], + }, + { + name: 'outputFormat', + type: 'string', + required: false, + description: + 'Output format. Defaults to ISO-8601 without milliseconds. Use "iso8601" for the default behaviour or a custom pattern such as "yyyy-MM-dd HH:mm:ss".', + examples: ['iso8601', "yyyy-MM-dd'T'HH:mm:ssXXX"], + }, + { + name: 'inputFormat', + type: 'string', + required: false, + description: + 'Optional parse pattern used only for the start argument when you want to match a specific text shape such as "dd/MM/yyyy" or "dd-MM-yyyy HH:mm:ss".', + examples: ['dd/MM/yyyy', 'yyyy-MM-dd HH:mm:ss'], + }, + ], + }, +}; + +export { AUTO_INCREMENT_TIMESTAMP_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/book/author-keyword-definition.js b/packages/core/js/keywords/domain/book/author-keyword-definition.js new file mode 100644 index 00000000..e62fa40e --- /dev/null +++ b/packages/core/js/keywords/domain/book/author-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const BOOK_AUTHOR_KEYWORD_DEFINITION = { + keyword: 'book.author', + delegate: { + type: 'faker', + target: 'book.author', + }, + help: { + summary: 'Returns a random author name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'book.author', + sampleReturnValue: 'Ian McEwan', + description: 'Shows the default book.author call.', + }, + ], + args: [], + }, +}; + +export { BOOK_AUTHOR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/book/book-keyword-definitions.js b/packages/core/js/keywords/domain/book/book-keyword-definitions.js new file mode 100644 index 00000000..b7d994f7 --- /dev/null +++ b/packages/core/js/keywords/domain/book/book-keyword-definitions.js @@ -0,0 +1,17 @@ +import { BOOK_AUTHOR_KEYWORD_DEFINITION } from './author-keyword-definition.js'; +import { BOOK_FORMAT_KEYWORD_DEFINITION } from './format-keyword-definition.js'; +import { BOOK_GENRE_KEYWORD_DEFINITION } from './genre-keyword-definition.js'; +import { BOOK_PUBLISHER_KEYWORD_DEFINITION } from './publisher-keyword-definition.js'; +import { BOOK_SERIES_KEYWORD_DEFINITION } from './series-keyword-definition.js'; +import { BOOK_TITLE_KEYWORD_DEFINITION } from './title-keyword-definition.js'; + +const BOOK_KEYWORD_DEFINITIONS = [ + BOOK_AUTHOR_KEYWORD_DEFINITION, + BOOK_FORMAT_KEYWORD_DEFINITION, + BOOK_GENRE_KEYWORD_DEFINITION, + BOOK_PUBLISHER_KEYWORD_DEFINITION, + BOOK_SERIES_KEYWORD_DEFINITION, + BOOK_TITLE_KEYWORD_DEFINITION, +]; + +export { BOOK_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/book/format-keyword-definition.js b/packages/core/js/keywords/domain/book/format-keyword-definition.js new file mode 100644 index 00000000..f5a35cdb --- /dev/null +++ b/packages/core/js/keywords/domain/book/format-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const BOOK_FORMAT_KEYWORD_DEFINITION = { + keyword: 'book.format', + delegate: { + type: 'faker', + target: 'book.format', + }, + help: { + summary: 'Returns a random book format.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'book.format', + sampleReturnValue: 'Ebook', + description: 'Shows the default book.format call.', + }, + ], + args: [], + }, +}; + +export { BOOK_FORMAT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/book/genre-keyword-definition.js b/packages/core/js/keywords/domain/book/genre-keyword-definition.js new file mode 100644 index 00000000..887ed9b2 --- /dev/null +++ b/packages/core/js/keywords/domain/book/genre-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const BOOK_GENRE_KEYWORD_DEFINITION = { + keyword: 'book.genre', + delegate: { + type: 'faker', + target: 'book.genre', + }, + help: { + summary: 'Returns a random genre.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'book.genre', + sampleReturnValue: 'Graphic Novel', + description: 'Shows the default book.genre call.', + }, + ], + args: [], + }, +}; + +export { BOOK_GENRE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/book/publisher-keyword-definition.js b/packages/core/js/keywords/domain/book/publisher-keyword-definition.js new file mode 100644 index 00000000..444f90cd --- /dev/null +++ b/packages/core/js/keywords/domain/book/publisher-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const BOOK_PUBLISHER_KEYWORD_DEFINITION = { + keyword: 'book.publisher', + delegate: { + type: 'faker', + target: 'book.publisher', + }, + help: { + summary: 'Returns a random publisher.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'book.publisher', + sampleReturnValue: 'Golden Cockerel Press', + description: 'Shows the default book.publisher call.', + }, + ], + args: [], + }, +}; + +export { BOOK_PUBLISHER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/book/series-keyword-definition.js b/packages/core/js/keywords/domain/book/series-keyword-definition.js new file mode 100644 index 00000000..c8512af4 --- /dev/null +++ b/packages/core/js/keywords/domain/book/series-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const BOOK_SERIES_KEYWORD_DEFINITION = { + keyword: 'book.series', + delegate: { + type: 'faker', + target: 'book.series', + }, + help: { + summary: 'Returns a random series.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'book.series', + sampleReturnValue: 'The Bartimaeus Trilogy', + description: 'Shows the default book.series call.', + }, + ], + args: [], + }, +}; + +export { BOOK_SERIES_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/book/title-keyword-definition.js b/packages/core/js/keywords/domain/book/title-keyword-definition.js new file mode 100644 index 00000000..25346eed --- /dev/null +++ b/packages/core/js/keywords/domain/book/title-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const BOOK_TITLE_KEYWORD_DEFINITION = { + keyword: 'book.title', + delegate: { + type: 'faker', + target: 'book.title', + }, + help: { + summary: 'Returns a random title.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/book', + fakerDocsUrl: 'https://fakerjs.dev/api/book', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'book.title', + sampleReturnValue: 'Moby Dick', + description: 'Shows the default book.title call.', + }, + ], + args: [], + }, +}; + +export { BOOK_TITLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/cmyk-keyword-definition.js b/packages/core/js/keywords/domain/color/cmyk-keyword-definition.js new file mode 100644 index 00000000..8dcfe47c --- /dev/null +++ b/packages/core/js/keywords/domain/color/cmyk-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; + +const COLOR_CMYK_KEYWORD_DEFINITION = { + keyword: 'color.cmyk', + delegate: { + type: 'faker', + target: 'color.cmyk', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a CMYK color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.cmyk()', + sampleReturnValue: [0.42, 0.72, 0, 0.3], + description: 'Shows color.cmyk when optional params are omitted.', + }, + { + functionCall: 'color.cmyk(format="decimal")', + sampleReturnValue: [0.42, 0.72, 0, 0.3], + description: 'Shows color.cmyk using format.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated CMYK color.', + }, + ], + }, +}; + +export { COLOR_CMYK_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/color-by-csscolor-space-keyword-definition.js b/packages/core/js/keywords/domain/color/color-by-csscolor-space-keyword-definition.js new file mode 100644 index 00000000..128a1e69 --- /dev/null +++ b/packages/core/js/keywords/domain/color/color-by-csscolor-space-keyword-definition.js @@ -0,0 +1,54 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; + +const CSS_SUPPORTED_SPACE_RETURN_TYPE = 'sRGB|display-p3|rec2020|a98-rgb|prophoto-rgb'; + +const COLOR_COLOR_BY_CSSCOLOR_SPACE_KEYWORD_DEFINITION = { + keyword: 'color.colorByCSSColorSpace', + delegate: { + type: 'faker', + target: 'color.colorByCSSColorSpace', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random color based on CSS color space specified.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.colorByCSSColorSpace()', + sampleReturnValue: [0.417, 0.7203, 0.0001], + description: 'Shows color.colorByCSSColorSpace when optional params are omitted.', + }, + { + functionCall: 'color.colorByCSSColorSpace(format="decimal")', + sampleReturnValue: [0.417, 0.7203, 0.0001], + description: 'Shows color.colorByCSSColorSpace using format.', + }, + { + functionCall: 'color.colorByCSSColorSpace(space="display-p3")', + sampleReturnValue: [0.417, 0.7203, 0.0001], + description: 'Shows color.colorByCSSColorSpace using space.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated RGB color.', + }, + { + name: 'space', + type: CSS_SUPPORTED_SPACE_RETURN_TYPE, + required: false, + description: 'Color space to generate the color for.', + }, + ], + }, +}; + +export { COLOR_COLOR_BY_CSSCOLOR_SPACE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/color-keyword-definitions.js b/packages/core/js/keywords/domain/color/color-keyword-definitions.js new file mode 100644 index 00000000..82dde159 --- /dev/null +++ b/packages/core/js/keywords/domain/color/color-keyword-definitions.js @@ -0,0 +1,27 @@ +import { COLOR_CMYK_KEYWORD_DEFINITION } from './cmyk-keyword-definition.js'; +import { COLOR_COLOR_BY_CSSCOLOR_SPACE_KEYWORD_DEFINITION } from './color-by-csscolor-space-keyword-definition.js'; +import { COLOR_CSS_SUPPORTED_FUNCTION_KEYWORD_DEFINITION } from './css-supported-function-keyword-definition.js'; +import { COLOR_CSS_SUPPORTED_SPACE_KEYWORD_DEFINITION } from './css-supported-space-keyword-definition.js'; +import { COLOR_HSL_KEYWORD_DEFINITION } from './hsl-keyword-definition.js'; +import { COLOR_HUMAN_KEYWORD_DEFINITION } from './human-keyword-definition.js'; +import { COLOR_HWB_KEYWORD_DEFINITION } from './hwb-keyword-definition.js'; +import { COLOR_LAB_KEYWORD_DEFINITION } from './lab-keyword-definition.js'; +import { COLOR_LCH_KEYWORD_DEFINITION } from './lch-keyword-definition.js'; +import { COLOR_RGB_KEYWORD_DEFINITION } from './rgb-keyword-definition.js'; +import { COLOR_SPACE_KEYWORD_DEFINITION } from './space-keyword-definition.js'; + +const COLOR_KEYWORD_DEFINITIONS = [ + COLOR_CMYK_KEYWORD_DEFINITION, + COLOR_COLOR_BY_CSSCOLOR_SPACE_KEYWORD_DEFINITION, + COLOR_CSS_SUPPORTED_FUNCTION_KEYWORD_DEFINITION, + COLOR_CSS_SUPPORTED_SPACE_KEYWORD_DEFINITION, + COLOR_HSL_KEYWORD_DEFINITION, + COLOR_HUMAN_KEYWORD_DEFINITION, + COLOR_HWB_KEYWORD_DEFINITION, + COLOR_LAB_KEYWORD_DEFINITION, + COLOR_LCH_KEYWORD_DEFINITION, + COLOR_RGB_KEYWORD_DEFINITION, + COLOR_SPACE_KEYWORD_DEFINITION, +]; + +export { COLOR_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/color/css-supported-function-keyword-definition.js b/packages/core/js/keywords/domain/color/css-supported-function-keyword-definition.js new file mode 100644 index 00000000..5e01cdf6 --- /dev/null +++ b/packages/core/js/keywords/domain/color/css-supported-function-keyword-definition.js @@ -0,0 +1,30 @@ +import { createStringEnumValidator } from '../../../command-help/command-help-validators.js'; + +const CSS_SUPPORTED_FUNCTION_RETURN_TYPE = 'rgb|rgba|hsl|hsla|hwb|cmyk|lab|lch|color'; + +const validateCssSupportedFunctionValue = createStringEnumValidator(CSS_SUPPORTED_FUNCTION_RETURN_TYPE.split('|')); + +const COLOR_CSS_SUPPORTED_FUNCTION_KEYWORD_DEFINITION = { + keyword: 'color.cssSupportedFunction', + delegate: { + type: 'faker', + target: 'color.cssSupportedFunction', + }, + help: { + summary: 'Returns a random css supported color function name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateCssSupportedFunctionValue, + returnType: CSS_SUPPORTED_FUNCTION_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'color.cssSupportedFunction', + sampleReturnValue: 'hsla', + description: 'Shows the default color.cssSupportedFunction call.', + }, + ], + args: [], + }, +}; + +export { COLOR_CSS_SUPPORTED_FUNCTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/css-supported-space-keyword-definition.js b/packages/core/js/keywords/domain/color/css-supported-space-keyword-definition.js new file mode 100644 index 00000000..af3a711a --- /dev/null +++ b/packages/core/js/keywords/domain/color/css-supported-space-keyword-definition.js @@ -0,0 +1,30 @@ +import { createStringEnumValidator } from '../../../command-help/command-help-validators.js'; + +const CSS_SUPPORTED_SPACE_RETURN_TYPE = 'sRGB|display-p3|rec2020|a98-rgb|prophoto-rgb'; + +const validateCssSupportedSpaceValue = createStringEnumValidator(CSS_SUPPORTED_SPACE_RETURN_TYPE.split('|')); + +const COLOR_CSS_SUPPORTED_SPACE_KEYWORD_DEFINITION = { + keyword: 'color.cssSupportedSpace', + delegate: { + type: 'faker', + target: 'color.cssSupportedSpace', + }, + help: { + summary: 'Returns a random css supported color space name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateCssSupportedSpaceValue, + returnType: CSS_SUPPORTED_SPACE_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'color.cssSupportedSpace', + sampleReturnValue: 'rec2020', + description: 'Shows the default color.cssSupportedSpace call.', + }, + ], + args: [], + }, +}; + +export { COLOR_CSS_SUPPORTED_SPACE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/hsl-keyword-definition.js b/packages/core/js/keywords/domain/color/hsl-keyword-definition.js new file mode 100644 index 00000000..aa906b70 --- /dev/null +++ b/packages/core/js/keywords/domain/color/hsl-keyword-definition.js @@ -0,0 +1,57 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; + +const COLOR_HSL_KEYWORD_DEFINITION = { + keyword: 'color.hsl', + delegate: { + type: 'faker', + target: 'color.hsl', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns an HSL color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.hsl', + sampleReturnValue: [150, 0.72, 0], + description: 'Shows color.hsl returning the default tuple output.', + }, + { + functionCall: 'color.hsl(format="css")', + sampleReturnValue: 'hsl(150deg 72% 0%)', + description: 'Shows color.hsl returning CSS text without alpha.', + }, + { + functionCall: 'color.hsl(includeAlpha=true)', + sampleReturnValue: [150, 0.72, 0, 0.3], + description: 'Shows color.hsl including alpha while keeping the tuple-style output.', + }, + { + functionCall: 'color.hsl(format="css", includeAlpha=true)', + sampleReturnValue: 'hsl(150deg 72% 0% / 30)', + description: 'Shows color.hsl returning CSS text with alpha included.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated HSL color.', + }, + { + name: 'includeAlpha', + type: 'boolean', + required: false, + description: 'Adds an alpha value to the color (RGBA).', + }, + ], + }, +}; + +export { COLOR_HSL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/human-keyword-definition.js b/packages/core/js/keywords/domain/color/human-keyword-definition.js new file mode 100644 index 00000000..58e5d96a --- /dev/null +++ b/packages/core/js/keywords/domain/color/human-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_HUMAN_KEYWORD_DEFINITION = { + keyword: 'color.human', + delegate: { + type: 'faker', + target: 'color.human', + }, + help: { + summary: 'Returns a random human-readable color name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'color.human', + sampleReturnValue: 'magenta', + description: 'Shows the default color.human call.', + }, + ], + args: [], + }, +}; + +export { COLOR_HUMAN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/hwb-keyword-definition.js b/packages/core/js/keywords/domain/color/hwb-keyword-definition.js new file mode 100644 index 00000000..bece6b99 --- /dev/null +++ b/packages/core/js/keywords/domain/color/hwb-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; + +const COLOR_HWB_KEYWORD_DEFINITION = { + keyword: 'color.hwb', + delegate: { + type: 'faker', + target: 'color.hwb', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns an HWB color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.hwb()', + sampleReturnValue: [150, 0.72, 0], + description: 'Shows color.hwb when optional params are omitted.', + }, + { + functionCall: 'color.hwb(format="decimal")', + sampleReturnValue: [150, 0.72, 0], + description: 'Shows color.hwb using format.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated RGB color.', + }, + ], + }, +}; + +export { COLOR_HWB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/lab-keyword-definition.js b/packages/core/js/keywords/domain/color/lab-keyword-definition.js new file mode 100644 index 00000000..1b13a712 --- /dev/null +++ b/packages/core/js/keywords/domain/color/lab-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; + +const COLOR_LAB_KEYWORD_DEFINITION = { + keyword: 'color.lab', + delegate: { + type: 'faker', + target: 'color.lab', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a LAB (CIELAB) color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.lab()', + sampleReturnValue: [0.417022, 44.0649, -99.9772], + description: 'Shows color.lab when optional params are omitted.', + }, + { + functionCall: 'color.lab(format="decimal")', + sampleReturnValue: [0.417022, 44.0649, -99.9772], + description: 'Shows color.lab using format.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated RGB color.', + }, + ], + }, +}; + +export { COLOR_LAB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/lch-keyword-definition.js b/packages/core/js/keywords/domain/color/lch-keyword-definition.js new file mode 100644 index 00000000..5800c8a3 --- /dev/null +++ b/packages/core/js/keywords/domain/color/lch-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_FORMAT_TYPE = 'decimal|css|binary'; + +const COLOR_LCH_KEYWORD_DEFINITION = { + keyword: 'color.lch', + delegate: { + type: 'faker', + target: 'color.lch', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns an LCH color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.lch()', + sampleReturnValue: [0.417022, 165.7, 0], + description: 'Shows color.lch when optional params are omitted.', + }, + { + functionCall: 'color.lch(format="decimal")', + sampleReturnValue: [0.417022, 165.7, 0], + description: 'Shows color.lch using format.', + }, + ], + args: [ + { + name: 'format', + type: COLOR_FORMAT_TYPE, + required: false, + description: 'Format of generated RGB color.', + }, + ], + }, +}; + +export { COLOR_LCH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/rgb-keyword-definition.js b/packages/core/js/keywords/domain/color/rgb-keyword-definition.js new file mode 100644 index 00000000..a5e56b9d --- /dev/null +++ b/packages/core/js/keywords/domain/color/rgb-keyword-definition.js @@ -0,0 +1,80 @@ +import { validateArrayOrStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_RGB_FORMAT_TYPE = 'hex|decimal|css|binary'; + +const COLOR_CASING_TYPE = 'lower|upper|mixed'; + +const COLOR_RGB_KEYWORD_DEFINITION = { + keyword: 'color.rgb', + delegate: { + type: 'faker', + target: 'color.rgb', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns an RGB color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateArrayOrStringValue, + returnType: 'array|string', + usageExamples: [ + { + functionCall: 'color.rgb()', + sampleReturnValue: '#9f0632', + description: 'Shows color.rgb when optional params are omitted.', + }, + { + functionCall: 'color.rgb(casing="upper")', + sampleReturnValue: '#9F0632', + description: 'Shows color.rgb using casing.', + }, + { + functionCall: 'color.rgb(format="hex")', + sampleReturnValue: '#9f0632', + description: 'Shows color.rgb using format.', + }, + { + functionCall: 'color.rgb(includeAlpha=true)', + sampleReturnValue: '#9f063247', + description: 'Shows color.rgb using includeAlpha.', + }, + { + functionCall: 'color.rgb(prefix="#")', + sampleReturnValue: '#9f0632', + description: 'Shows color.rgb using prefix.', + }, + ], + args: [ + { + name: 'casing', + type: COLOR_CASING_TYPE, + required: false, + description: "Letter type case of the generated hex color. Only applied when 'hex' format is used.", + examples: ['upper'], + }, + { + name: 'format', + type: COLOR_RGB_FORMAT_TYPE, + required: false, + description: 'Format of generated RGB color.', + examples: ['hex'], + }, + { + name: 'includeAlpha', + type: 'boolean', + required: false, + description: 'Adds an alpha value to the color (RGBA).', + examples: [true], + }, + { + name: 'prefix', + type: 'string', + required: false, + description: "Prefix of the generated hex color. Only applied when 'hex' format is used.", + examples: ['#'], + }, + ], + }, +}; + +export { COLOR_RGB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/color/space-keyword-definition.js b/packages/core/js/keywords/domain/color/space-keyword-definition.js new file mode 100644 index 00000000..d196cf10 --- /dev/null +++ b/packages/core/js/keywords/domain/color/space-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COLOR_SPACE_KEYWORD_DEFINITION = { + keyword: 'color.space', + delegate: { + type: 'faker', + target: 'color.space', + }, + help: { + summary: 'Returns a random color space name from the worldwide accepted color spaces.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/color', + fakerDocsUrl: 'https://fakerjs.dev/api/color', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'color.space', + sampleReturnValue: 'HSV', + description: 'Shows the default color.space call.', + }, + ], + args: [], + }, +}; + +export { COLOR_SPACE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/commerce-keyword-definitions.js b/packages/core/js/keywords/domain/commerce/commerce-keyword-definitions.js new file mode 100644 index 00000000..8bb580a3 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/commerce-keyword-definitions.js @@ -0,0 +1,23 @@ +import { COMMERCE_DEPARTMENT_KEYWORD_DEFINITION } from './department-keyword-definition.js'; +import { COMMERCE_ISBN_KEYWORD_DEFINITION } from './isbn-keyword-definition.js'; +import { COMMERCE_PRICE_KEYWORD_DEFINITION } from './price-keyword-definition.js'; +import { COMMERCE_PRODUCT_KEYWORD_DEFINITION } from './product-keyword-definition.js'; +import { COMMERCE_PRODUCT_ADJECTIVE_KEYWORD_DEFINITION } from './product-adjective-keyword-definition.js'; +import { COMMERCE_PRODUCT_DESCRIPTION_KEYWORD_DEFINITION } from './product-description-keyword-definition.js'; +import { COMMERCE_PRODUCT_MATERIAL_KEYWORD_DEFINITION } from './product-material-keyword-definition.js'; +import { COMMERCE_PRODUCT_NAME_KEYWORD_DEFINITION } from './product-name-keyword-definition.js'; +import { COMMERCE_UPC_KEYWORD_DEFINITION } from './upc-keyword-definition.js'; + +const COMMERCE_KEYWORD_DEFINITIONS = [ + COMMERCE_DEPARTMENT_KEYWORD_DEFINITION, + COMMERCE_ISBN_KEYWORD_DEFINITION, + COMMERCE_PRICE_KEYWORD_DEFINITION, + COMMERCE_PRODUCT_KEYWORD_DEFINITION, + COMMERCE_PRODUCT_ADJECTIVE_KEYWORD_DEFINITION, + COMMERCE_PRODUCT_DESCRIPTION_KEYWORD_DEFINITION, + COMMERCE_PRODUCT_MATERIAL_KEYWORD_DEFINITION, + COMMERCE_PRODUCT_NAME_KEYWORD_DEFINITION, + COMMERCE_UPC_KEYWORD_DEFINITION, +]; + +export { COMMERCE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/commerce/department-keyword-definition.js b/packages/core/js/keywords/domain/commerce/department-keyword-definition.js new file mode 100644 index 00000000..31b52220 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/department-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_DEPARTMENT_KEYWORD_DEFINITION = { + keyword: 'commerce.department', + delegate: { + type: 'faker', + target: 'commerce.department', + }, + help: { + summary: 'Returns a department inside a shop.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.department', + sampleReturnValue: 'Grocery', + description: 'Shows the default commerce.department call.', + }, + ], + args: [], + }, +}; + +export { COMMERCE_DEPARTMENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/isbn-keyword-definition.js b/packages/core/js/keywords/domain/commerce/isbn-keyword-definition.js new file mode 100644 index 00000000..d560e2c9 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/isbn-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateIsbnValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_ISBN_KEYWORD_DEFINITION = { + keyword: 'commerce.isbn', + delegate: { + type: 'faker', + target: 'commerce.isbn', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random ISBN identifier.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateIsbnValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.isbn()', + sampleReturnValue: '978-0-7031-0133-4', + description: 'Shows commerce.isbn when optional params are omitted.', + }, + { + functionCall: 'commerce.isbn(separator="-")', + sampleReturnValue: '978-0-7031-0133-4', + description: 'Shows commerce.isbn using separator.', + }, + { + functionCall: 'commerce.isbn(variant=10)', + sampleReturnValue: '0-7031-0133-1', + description: 'Shows commerce.isbn using variant.', + }, + ], + args: [ + { + name: 'separator', + type: 'string', + required: false, + description: 'Separator inserted between generated items.', + }, + { + name: 'variant', + type: '10|13', + required: false, + description: 'ISBN length variant: use 10 for ISBN-10 or 13 for ISBN-13.', + }, + ], + }, +}; + +export { COMMERCE_ISBN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/price-keyword-definition.js b/packages/core/js/keywords/domain/commerce/price-keyword-definition.js new file mode 100644 index 00000000..ccc365fc --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/price-keyword-definition.js @@ -0,0 +1,81 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_PRICE_KEYWORD_DEFINITION = { + keyword: 'commerce.price', + delegate: { + type: 'faker', + target: 'commerce.price', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a price between min and max (inclusive).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.price(dec=2, max=10, min=1, symbol="$")', + sampleReturnValue: '$4.79', + description: 'Shows commerce.price in use.', + }, + { + functionCall: 'commerce.price()', + sampleReturnValue: '417.69', + description: 'Shows commerce.price when optional params are omitted.', + }, + { + functionCall: 'commerce.price(dec=2)', + sampleReturnValue: '417.69', + description: 'Shows commerce.price using dec.', + }, + { + functionCall: 'commerce.price(max=100)', + sampleReturnValue: '42.29', + description: 'Shows commerce.price using max.', + }, + { + functionCall: 'commerce.price(max=10, min=1)', + sampleReturnValue: '4.79', + description: 'Shows commerce.price using min.', + }, + { + functionCall: 'commerce.price(symbol="$")', + sampleReturnValue: '$417.69', + description: 'Shows commerce.price using symbol.', + }, + ], + args: [ + { + name: 'dec', + type: 'integer', + required: false, + description: 'The number of decimal places.', + examples: [2], + }, + { + name: 'max', + type: 'number', + required: false, + description: 'The maximum price.', + examples: [100], + }, + { + name: 'min', + type: 'number', + required: false, + description: 'The minimum price.', + examples: [1], + }, + { + name: 'symbol', + type: 'string', + required: false, + description: 'The currency value to use.', + examples: ['$'], + }, + ], + }, +}; + +export { COMMERCE_PRICE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/product-adjective-keyword-definition.js b/packages/core/js/keywords/domain/commerce/product-adjective-keyword-definition.js new file mode 100644 index 00000000..b697b4dd --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/product-adjective-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_PRODUCT_ADJECTIVE_KEYWORD_DEFINITION = { + keyword: 'commerce.productAdjective', + delegate: { + type: 'faker', + target: 'commerce.productAdjective', + }, + help: { + summary: 'Returns an adjective describing a product.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productAdjective', + sampleReturnValue: 'Handmade', + description: 'Shows the default commerce.productAdjective call.', + }, + ], + args: [], + }, +}; + +export { COMMERCE_PRODUCT_ADJECTIVE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/product-description-keyword-definition.js b/packages/core/js/keywords/domain/commerce/product-description-keyword-definition.js new file mode 100644 index 00000000..f5115ff1 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/product-description-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_PRODUCT_DESCRIPTION_KEYWORD_DEFINITION = { + keyword: 'commerce.productDescription', + delegate: { + type: 'faker', + target: 'commerce.productDescription', + }, + help: { + summary: 'Returns a product description.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productDescription', + sampleReturnValue: 'New Sausages model with 1 GB RAM, 303 GB storage, and bruised features', + description: 'Shows the default commerce.productDescription call.', + }, + ], + args: [], + }, +}; + +export { COMMERCE_PRODUCT_DESCRIPTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/product-keyword-definition.js b/packages/core/js/keywords/domain/commerce/product-keyword-definition.js new file mode 100644 index 00000000..9d98dc13 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/product-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_PRODUCT_KEYWORD_DEFINITION = { + keyword: 'commerce.product', + delegate: { + type: 'faker', + target: 'commerce.product', + }, + help: { + summary: 'Returns a short product name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.product', + sampleReturnValue: 'Gloves', + description: 'Shows the default commerce.product call.', + }, + ], + args: [], + }, +}; + +export { COMMERCE_PRODUCT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/product-material-keyword-definition.js b/packages/core/js/keywords/domain/commerce/product-material-keyword-definition.js new file mode 100644 index 00000000..9a288b8f --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/product-material-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_PRODUCT_MATERIAL_KEYWORD_DEFINITION = { + keyword: 'commerce.productMaterial', + delegate: { + type: 'faker', + target: 'commerce.productMaterial', + }, + help: { + summary: 'Returns a material of a product.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productMaterial', + sampleReturnValue: 'Gold', + description: 'Shows the default commerce.productMaterial call.', + }, + ], + args: [], + }, +}; + +export { COMMERCE_PRODUCT_MATERIAL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/product-name-keyword-definition.js b/packages/core/js/keywords/domain/commerce/product-name-keyword-definition.js new file mode 100644 index 00000000..0df287e1 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/product-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_PRODUCT_NAME_KEYWORD_DEFINITION = { + keyword: 'commerce.productName', + delegate: { + type: 'faker', + target: 'commerce.productName', + }, + help: { + summary: 'Generates a random descriptive product name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.productName', + sampleReturnValue: 'Handmade Plastic Bacon', + description: 'Shows the default commerce.productName call.', + }, + ], + args: [], + }, +}; + +export { COMMERCE_PRODUCT_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/commerce/upc-keyword-definition.js b/packages/core/js/keywords/domain/commerce/upc-keyword-definition.js new file mode 100644 index 00000000..7cb69632 --- /dev/null +++ b/packages/core/js/keywords/domain/commerce/upc-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateUpcValue } from '../../../command-help/command-help-validators.js'; + +const COMMERCE_UPC_KEYWORD_DEFINITION = { + keyword: 'commerce.upc', + delegate: { + type: 'faker', + target: 'commerce.upc', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a valid UPC-A (12 digits).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/commerce', + fakerDocsUrl: 'https://fakerjs.dev/api/commerce', + validator: validateUpcValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'commerce.upc()', + sampleReturnValue: '470310133543', + description: 'Shows commerce.upc when optional params are omitted.', + }, + { + functionCall: 'commerce.upc(prefix="01234")', + sampleReturnValue: '012344703103', + description: 'Shows commerce.upc using prefix.', + }, + ], + args: [ + { + name: 'prefix', + type: 'string', + required: false, + description: 'Optional numeric prefix for the UPC body (0-11 digits).', + examples: ['01234'], + }, + ], + }, +}; + +export { COMMERCE_UPC_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/buzz-adjective-keyword-definition.js b/packages/core/js/keywords/domain/company/buzz-adjective-keyword-definition.js new file mode 100644 index 00000000..ec73eddd --- /dev/null +++ b/packages/core/js/keywords/domain/company/buzz-adjective-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_BUZZ_ADJECTIVE_KEYWORD_DEFINITION = { + keyword: 'company.buzzAdjective', + delegate: { + type: 'faker', + target: 'company.buzzAdjective', + }, + help: { + summary: 'Returns a random buzz adjective that can be used to demonstrate data being viewed by a manager.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzAdjective', + sampleReturnValue: 'immersive', + description: 'Shows the default company.buzzAdjective call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_BUZZ_ADJECTIVE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/buzz-noun-keyword-definition.js b/packages/core/js/keywords/domain/company/buzz-noun-keyword-definition.js new file mode 100644 index 00000000..bbde8824 --- /dev/null +++ b/packages/core/js/keywords/domain/company/buzz-noun-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_BUZZ_NOUN_KEYWORD_DEFINITION = { + keyword: 'company.buzzNoun', + delegate: { + type: 'faker', + target: 'company.buzzNoun', + }, + help: { + summary: 'Returns a random buzz noun that can be used to demonstrate data being viewed by a manager.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzNoun', + sampleReturnValue: 'interfaces', + description: 'Shows the default company.buzzNoun call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_BUZZ_NOUN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/buzz-phrase-keyword-definition.js b/packages/core/js/keywords/domain/company/buzz-phrase-keyword-definition.js new file mode 100644 index 00000000..606ee490 --- /dev/null +++ b/packages/core/js/keywords/domain/company/buzz-phrase-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_BUZZ_PHRASE_KEYWORD_DEFINITION = { + keyword: 'company.buzzPhrase', + delegate: { + type: 'faker', + target: 'company.buzzPhrase', + }, + help: { + summary: 'Generates a random buzz phrase that can be used to demonstrate data being viewed by a manager.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzPhrase', + sampleReturnValue: 'grow robust AI', + description: 'Shows the default company.buzzPhrase call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_BUZZ_PHRASE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/buzz-verb-keyword-definition.js b/packages/core/js/keywords/domain/company/buzz-verb-keyword-definition.js new file mode 100644 index 00000000..0fcdc392 --- /dev/null +++ b/packages/core/js/keywords/domain/company/buzz-verb-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_BUZZ_VERB_KEYWORD_DEFINITION = { + keyword: 'company.buzzVerb', + delegate: { + type: 'faker', + target: 'company.buzzVerb', + }, + help: { + summary: 'Returns a random buzz verb that can be used to demonstrate data being viewed by a manager.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.buzzVerb', + sampleReturnValue: 'grow', + description: 'Shows the default company.buzzVerb call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_BUZZ_VERB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/catch-phrase-adjective-keyword-definition.js b/packages/core/js/keywords/domain/company/catch-phrase-adjective-keyword-definition.js new file mode 100644 index 00000000..c74aa9e0 --- /dev/null +++ b/packages/core/js/keywords/domain/company/catch-phrase-adjective-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_CATCH_PHRASE_ADJECTIVE_KEYWORD_DEFINITION = { + keyword: 'company.catchPhraseAdjective', + delegate: { + type: 'faker', + target: 'company.catchPhraseAdjective', + }, + help: { + summary: 'Returns a random catch phrase adjective that can be displayed to an end user.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhraseAdjective', + sampleReturnValue: 'Integrated', + description: 'Shows the default company.catchPhraseAdjective call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_CATCH_PHRASE_ADJECTIVE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/catch-phrase-descriptor-keyword-definition.js b/packages/core/js/keywords/domain/company/catch-phrase-descriptor-keyword-definition.js new file mode 100644 index 00000000..39c59d39 --- /dev/null +++ b/packages/core/js/keywords/domain/company/catch-phrase-descriptor-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_CATCH_PHRASE_DESCRIPTOR_KEYWORD_DEFINITION = { + keyword: 'company.catchPhraseDescriptor', + delegate: { + type: 'faker', + target: 'company.catchPhraseDescriptor', + }, + help: { + summary: 'Returns a random catch phrase descriptor that can be displayed to an end user.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhraseDescriptor', + sampleReturnValue: 'heuristic', + description: 'Shows the default company.catchPhraseDescriptor call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_CATCH_PHRASE_DESCRIPTOR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/catch-phrase-keyword-definition.js b/packages/core/js/keywords/domain/company/catch-phrase-keyword-definition.js new file mode 100644 index 00000000..76acebf3 --- /dev/null +++ b/packages/core/js/keywords/domain/company/catch-phrase-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_CATCH_PHRASE_KEYWORD_DEFINITION = { + keyword: 'company.catchPhrase', + delegate: { + type: 'faker', + target: 'company.catchPhrase', + }, + help: { + summary: 'Generates a random catch phrase that can be displayed to an end user.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhrase', + sampleReturnValue: 'Integrated radical ability', + description: 'Shows the default company.catchPhrase call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_CATCH_PHRASE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/catch-phrase-noun-keyword-definition.js b/packages/core/js/keywords/domain/company/catch-phrase-noun-keyword-definition.js new file mode 100644 index 00000000..84a50ca6 --- /dev/null +++ b/packages/core/js/keywords/domain/company/catch-phrase-noun-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_CATCH_PHRASE_NOUN_KEYWORD_DEFINITION = { + keyword: 'company.catchPhraseNoun', + delegate: { + type: 'faker', + target: 'company.catchPhraseNoun', + }, + help: { + summary: 'Returns a random catch phrase noun that can be displayed to an end user.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.catchPhraseNoun', + sampleReturnValue: 'generative AI', + description: 'Shows the default company.catchPhraseNoun call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_CATCH_PHRASE_NOUN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/company/company-keyword-definitions.js b/packages/core/js/keywords/domain/company/company-keyword-definitions.js new file mode 100644 index 00000000..558068d2 --- /dev/null +++ b/packages/core/js/keywords/domain/company/company-keyword-definitions.js @@ -0,0 +1,23 @@ +import { COMPANY_BUZZ_ADJECTIVE_KEYWORD_DEFINITION } from './buzz-adjective-keyword-definition.js'; +import { COMPANY_BUZZ_NOUN_KEYWORD_DEFINITION } from './buzz-noun-keyword-definition.js'; +import { COMPANY_BUZZ_PHRASE_KEYWORD_DEFINITION } from './buzz-phrase-keyword-definition.js'; +import { COMPANY_BUZZ_VERB_KEYWORD_DEFINITION } from './buzz-verb-keyword-definition.js'; +import { COMPANY_CATCH_PHRASE_KEYWORD_DEFINITION } from './catch-phrase-keyword-definition.js'; +import { COMPANY_CATCH_PHRASE_ADJECTIVE_KEYWORD_DEFINITION } from './catch-phrase-adjective-keyword-definition.js'; +import { COMPANY_CATCH_PHRASE_DESCRIPTOR_KEYWORD_DEFINITION } from './catch-phrase-descriptor-keyword-definition.js'; +import { COMPANY_CATCH_PHRASE_NOUN_KEYWORD_DEFINITION } from './catch-phrase-noun-keyword-definition.js'; +import { COMPANY_NAME_KEYWORD_DEFINITION } from './name-keyword-definition.js'; + +const COMPANY_KEYWORD_DEFINITIONS = [ + COMPANY_BUZZ_ADJECTIVE_KEYWORD_DEFINITION, + COMPANY_BUZZ_NOUN_KEYWORD_DEFINITION, + COMPANY_BUZZ_PHRASE_KEYWORD_DEFINITION, + COMPANY_BUZZ_VERB_KEYWORD_DEFINITION, + COMPANY_CATCH_PHRASE_KEYWORD_DEFINITION, + COMPANY_CATCH_PHRASE_ADJECTIVE_KEYWORD_DEFINITION, + COMPANY_CATCH_PHRASE_DESCRIPTOR_KEYWORD_DEFINITION, + COMPANY_CATCH_PHRASE_NOUN_KEYWORD_DEFINITION, + COMPANY_NAME_KEYWORD_DEFINITION, +]; + +export { COMPANY_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/company/name-keyword-definition.js b/packages/core/js/keywords/domain/company/name-keyword-definition.js new file mode 100644 index 00000000..faea5fd1 --- /dev/null +++ b/packages/core/js/keywords/domain/company/name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const COMPANY_NAME_KEYWORD_DEFINITION = { + keyword: 'company.name', + delegate: { + type: 'faker', + target: 'company.name', + }, + help: { + summary: 'Generates a random company name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/company', + fakerDocsUrl: 'https://fakerjs.dev/api/company', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'company.name', + sampleReturnValue: 'Gutmann Group', + description: 'Shows the default company.name call.', + }, + ], + args: [], + }, +}; + +export { COMPANY_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/database/collation-keyword-definition.js b/packages/core/js/keywords/domain/database/collation-keyword-definition.js new file mode 100644 index 00000000..8d3d806b --- /dev/null +++ b/packages/core/js/keywords/domain/database/collation-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const DATABASE_COLLATION_KEYWORD_DEFINITION = { + keyword: 'database.collation', + delegate: { + type: 'faker', + target: 'database.collation', + }, + help: { + summary: 'Returns a random database collation.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'database.collation', + sampleReturnValue: 'cp1250_bin', + description: 'Shows the default database.collation call.', + }, + ], + args: [], + }, +}; + +export { DATABASE_COLLATION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/database/column-keyword-definition.js b/packages/core/js/keywords/domain/database/column-keyword-definition.js new file mode 100644 index 00000000..45b78f33 --- /dev/null +++ b/packages/core/js/keywords/domain/database/column-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const DATABASE_COLUMN_KEYWORD_DEFINITION = { + keyword: 'database.column', + delegate: { + type: 'faker', + target: 'database.column', + }, + help: { + summary: 'Returns a random database column name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'database.column', + sampleReturnValue: 'group', + description: 'Shows the default database.column call.', + }, + ], + args: [], + }, +}; + +export { DATABASE_COLUMN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/database/database-keyword-definitions.js b/packages/core/js/keywords/domain/database/database-keyword-definitions.js new file mode 100644 index 00000000..7fd2c850 --- /dev/null +++ b/packages/core/js/keywords/domain/database/database-keyword-definitions.js @@ -0,0 +1,15 @@ +import { DATABASE_COLLATION_KEYWORD_DEFINITION } from './collation-keyword-definition.js'; +import { DATABASE_COLUMN_KEYWORD_DEFINITION } from './column-keyword-definition.js'; +import { DATABASE_ENGINE_KEYWORD_DEFINITION } from './engine-keyword-definition.js'; +import { DATABASE_MONGODB_OBJECT_ID_KEYWORD_DEFINITION } from './mongodb-object-id-keyword-definition.js'; +import { DATABASE_TYPE_KEYWORD_DEFINITION } from './type-keyword-definition.js'; + +const DATABASE_KEYWORD_DEFINITIONS = [ + DATABASE_COLLATION_KEYWORD_DEFINITION, + DATABASE_COLUMN_KEYWORD_DEFINITION, + DATABASE_ENGINE_KEYWORD_DEFINITION, + DATABASE_MONGODB_OBJECT_ID_KEYWORD_DEFINITION, + DATABASE_TYPE_KEYWORD_DEFINITION, +]; + +export { DATABASE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/database/engine-keyword-definition.js b/packages/core/js/keywords/domain/database/engine-keyword-definition.js new file mode 100644 index 00000000..af40c263 --- /dev/null +++ b/packages/core/js/keywords/domain/database/engine-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const DATABASE_ENGINE_KEYWORD_DEFINITION = { + keyword: 'database.engine', + delegate: { + type: 'faker', + target: 'database.engine', + }, + help: { + summary: 'Returns a random database engine.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'database.engine', + sampleReturnValue: 'CSV', + description: 'Shows the default database.engine call.', + }, + ], + args: [], + }, +}; + +export { DATABASE_ENGINE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/database/mongodb-object-id-keyword-definition.js b/packages/core/js/keywords/domain/database/mongodb-object-id-keyword-definition.js new file mode 100644 index 00000000..68da50fd --- /dev/null +++ b/packages/core/js/keywords/domain/database/mongodb-object-id-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateMongoObjectIdValue } from '../../../command-help/command-help-validators.js'; + +const DATABASE_MONGODB_OBJECT_ID_KEYWORD_DEFINITION = { + keyword: 'database.mongodbObjectId', + delegate: { + type: 'faker', + target: 'database.mongodbObjectId', + }, + help: { + summary: 'Returns a MongoDB ObjectId string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateMongoObjectIdValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'database.mongodbObjectId', + sampleReturnValue: '9f0632478b9f4d0e9c34bf6f', + description: 'Shows the default database.mongodbObjectId call.', + }, + ], + args: [], + }, +}; + +export { DATABASE_MONGODB_OBJECT_ID_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/database/type-keyword-definition.js b/packages/core/js/keywords/domain/database/type-keyword-definition.js new file mode 100644 index 00000000..e0749850 --- /dev/null +++ b/packages/core/js/keywords/domain/database/type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const DATABASE_TYPE_KEYWORD_DEFINITION = { + keyword: 'database.type', + delegate: { + type: 'faker', + target: 'database.type', + }, + help: { + summary: 'Returns a random database column type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/database', + fakerDocsUrl: 'https://fakerjs.dev/api/database', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'database.type', + sampleReturnValue: 'float', + description: 'Shows the default database.type call.', + }, + ], + args: [], + }, +}; + +export { DATABASE_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/datatype/boolean-keyword-definition.js b/packages/core/js/keywords/domain/datatype/boolean-keyword-definition.js new file mode 100644 index 00000000..9b56953c --- /dev/null +++ b/packages/core/js/keywords/domain/datatype/boolean-keyword-definition.js @@ -0,0 +1,39 @@ +import { validateBooleanValue } from '../../../command-help/command-help-validators.js'; + +const DATATYPE_BOOLEAN_KEYWORD_DEFINITION = { + keyword: 'datatype.boolean', + delegate: { + type: 'faker', + target: 'datatype.boolean', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns the boolean value true or false.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/datatype', + fakerDocsUrl: 'https://fakerjs.dev/api/datatype', + validator: validateBooleanValue, + returnType: 'boolean', + usageExamples: [ + { + functionCall: 'datatype.boolean()', + sampleReturnValue: true, + description: 'Shows datatype.boolean when optional params are omitted.', + }, + { + functionCall: 'datatype.boolean(probability=0.5)', + sampleReturnValue: true, + description: 'Shows datatype.boolean using probability.', + }, + ], + args: [ + { + name: 'probability', + type: 'number', + required: false, + description: 'Probability threshold for returning true (between 0 and 1).', + }, + ], + }, +}; + +export { DATATYPE_BOOLEAN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/datatype/datatype-keyword-definitions.js b/packages/core/js/keywords/domain/datatype/datatype-keyword-definitions.js new file mode 100644 index 00000000..42a0980b --- /dev/null +++ b/packages/core/js/keywords/domain/datatype/datatype-keyword-definitions.js @@ -0,0 +1,5 @@ +import { DATATYPE_BOOLEAN_KEYWORD_DEFINITION } from './boolean-keyword-definition.js'; + +const DATATYPE_KEYWORD_DEFINITIONS = [DATATYPE_BOOLEAN_KEYWORD_DEFINITION]; + +export { DATATYPE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/date/anytime-keyword-definition.js b/packages/core/js/keywords/domain/date/anytime-keyword-definition.js new file mode 100644 index 00000000..cdeda5d0 --- /dev/null +++ b/packages/core/js/keywords/domain/date/anytime-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_ANYTIME_KEYWORD_DEFINITION = { + keyword: 'date.anytime', + delegate: { + type: 'faker', + target: 'date.anytime', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random date that can be either in the past or in the future.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.anytime()', + sampleReturnValue: '2026-04-19T02:08:51.881Z', + description: 'Shows date.anytime when optional params are omitted.', + }, + { + functionCall: 'date.anytime(refDate=1577836800000)', + sampleReturnValue: '2019-11-01T10:13:31.881Z', + description: 'Shows date.anytime using refDate.', + }, + ], + args: [ + { + name: 'refDate', + type: 'integer', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + examples: [1577836800000], + }, + ], + }, +}; + +export { DATE_ANYTIME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/between-keyword-definition.js b/packages/core/js/keywords/domain/date/between-keyword-definition.js new file mode 100644 index 00000000..5b6c64b8 --- /dev/null +++ b/packages/core/js/keywords/domain/date/between-keyword-definition.js @@ -0,0 +1,47 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_BETWEEN_KEYWORD_DEFINITION = { + keyword: 'date.between', + delegate: { + type: 'faker', + target: 'date.between', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random date between the given boundaries.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.between(from=1577836800000, to=1609372800000)', + sampleReturnValue: '2020-06-01T05:06:45.940Z', + description: 'Shows date.between using explicit from and to timestamps.', + }, + { + functionCall: 'date.between(from=1609459200000, to=1640995200000)', + sampleReturnValue: '2021-06-02T05:06:45.940Z', + description: 'Shows date.between with a different bounded range.', + }, + ], + args: [ + { + name: 'from', + type: 'integer', + required: true, + description: 'Start boundary as a Unix timestamp in milliseconds since epoch.', + examples: [1577836800000], + }, + { + name: 'to', + type: 'integer', + required: true, + description: 'End boundary as a Unix timestamp in milliseconds since epoch.', + examples: [1609372800000], + }, + ], + }, +}; + +export { DATE_BETWEEN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/betweens-keyword-definition.js b/packages/core/js/keywords/domain/date/betweens-keyword-definition.js new file mode 100644 index 00000000..80377939 --- /dev/null +++ b/packages/core/js/keywords/domain/date/betweens-keyword-definition.js @@ -0,0 +1,70 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const DATE_BETWEENS_KEYWORD_DEFINITION = { + keyword: 'date.betweens', + delegate: { + type: 'faker', + target: 'date.betweens', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: + 'Generates random dates between the given boundaries. The dates will be returned in an array sorted in chronological order.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateArrayValue, + returnType: 'array', + usageExamples: [ + { + functionCall: 'date.betweens(from=1577836800000, to=1609372800000)', + sampleReturnValue: ['2020-01-01T01:00:06.924Z', '2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], + description: 'Shows date.betweens with only the required range boundaries.', + }, + { + functionCall: 'date.betweens(count=2, from=1577836800000, to=1609372800000)', + sampleReturnValue: ['2020-06-01T05:06:45.940Z', '2020-09-19T22:02:33.225Z'], + description: 'Shows date.betweens returning two sorted dates within a range.', + }, + { + functionCall: 'date.betweens(count=3, from=1609459200000, to=1640995200000)', + sampleReturnValue: ['2021-01-01T01:00:06.924Z', '2021-06-02T05:06:45.940Z', '2021-09-20T22:02:33.225Z'], + description: 'Shows date.betweens using a larger count within a bounded range.', + }, + { + functionCall: 'date.betweens(count=4, from=1640995200000, to=1672531200000)', + sampleReturnValue: [ + '2022-01-01T01:00:06.924Z', + '2022-04-21T08:26:00.010Z', + '2022-06-02T05:06:45.940Z', + '2022-09-20T22:02:33.225Z', + ], + description: 'Shows date.betweens with count, from, and to all supplied explicitly.', + }, + ], + args: [ + { + name: 'count', + type: 'integer', + required: false, + description: 'The number of dates to generate.', + examples: [2], + }, + { + name: 'from', + type: 'integer', + required: true, + description: 'Start boundary as a Unix timestamp in milliseconds since epoch.', + examples: [1577836800000], + }, + { + name: 'to', + type: 'integer', + required: true, + description: 'End boundary as a Unix timestamp in milliseconds since epoch.', + examples: [1609372800000], + }, + ], + }, +}; + +export { DATE_BETWEENS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/birthdate-keyword-definition.js b/packages/core/js/keywords/domain/date/birthdate-keyword-definition.js new file mode 100644 index 00000000..e0956e77 --- /dev/null +++ b/packages/core/js/keywords/domain/date/birthdate-keyword-definition.js @@ -0,0 +1,82 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_BIRTHDATE_KEYWORD_DEFINITION = { + keyword: 'date.birthdate', + delegate: { + type: 'faker', + target: 'date.birthdate', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: + 'Returns a random birthdate. By default, the birthdate is generated for an adult between 18 and 80 years old.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.birthdate(refDate=20000, max=69, min=16, mode="age")', + sampleReturnValue: '1922-07-10T12:11:49.191Z', + description: 'Shows date.birthdate in use.', + }, + { + functionCall: 'date.birthdate()', + sampleReturnValue: '1971-09-27T08:09:14.757Z', + description: 'Shows date.birthdate when optional params are omitted.', + }, + { + functionCall: 'date.birthdate(refDate=1577836800000)', + sampleReturnValue: '1965-04-10T16:13:54.757Z', + description: 'Shows date.birthdate using refDate.', + }, + { + functionCall: 'date.birthdate(max=65)', + sampleReturnValue: '1980-06-25T11:25:42.848Z', + description: 'Shows date.birthdate using max.', + }, + { + functionCall: 'date.birthdate(max=10, min=1)', + sampleReturnValue: '2019-08-20T15:04:00.805Z', + description: 'Shows date.birthdate using min.', + }, + { + functionCall: 'date.birthdate(mode="age")', + sampleReturnValue: '1971-09-27T08:09:14.757Z', + description: 'Shows date.birthdate using mode.', + }, + ], + args: [ + { + name: 'refDate', + type: 'integer', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + examples: [1577836800000], + }, + { + name: 'max', + type: 'integer', + required: false, + description: 'The maximum age/year to generate a birthdate for/in.', + examples: [65], + }, + { + name: 'min', + type: 'integer', + required: false, + description: 'The minimum age/year to generate a birthdate for/in.', + examples: [18], + }, + { + name: 'mode', + type: 'age|year', + required: false, + description: "Either 'age' or 'year' to generate a birthdate based on the age or year range.", + examples: ['age'], + }, + ], + }, +}; + +export { DATE_BIRTHDATE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/date-keyword-definitions.js b/packages/core/js/keywords/domain/date/date-keyword-definitions.js new file mode 100644 index 00000000..f25e5574 --- /dev/null +++ b/packages/core/js/keywords/domain/date/date-keyword-definitions.js @@ -0,0 +1,27 @@ +import { DATE_ANYTIME_KEYWORD_DEFINITION } from './anytime-keyword-definition.js'; +import { DATE_BETWEEN_KEYWORD_DEFINITION } from './between-keyword-definition.js'; +import { DATE_BETWEENS_KEYWORD_DEFINITION } from './betweens-keyword-definition.js'; +import { DATE_BIRTHDATE_KEYWORD_DEFINITION } from './birthdate-keyword-definition.js'; +import { DATE_FUTURE_KEYWORD_DEFINITION } from './future-keyword-definition.js'; +import { DATE_MONTH_KEYWORD_DEFINITION } from './month-keyword-definition.js'; +import { DATE_PAST_KEYWORD_DEFINITION } from './past-keyword-definition.js'; +import { DATE_RECENT_KEYWORD_DEFINITION } from './recent-keyword-definition.js'; +import { DATE_SOON_KEYWORD_DEFINITION } from './soon-keyword-definition.js'; +import { DATE_TIME_ZONE_KEYWORD_DEFINITION } from './time-zone-keyword-definition.js'; +import { DATE_WEEKDAY_KEYWORD_DEFINITION } from './weekday-keyword-definition.js'; + +const DATE_KEYWORD_DEFINITIONS = [ + DATE_ANYTIME_KEYWORD_DEFINITION, + DATE_BETWEEN_KEYWORD_DEFINITION, + DATE_BETWEENS_KEYWORD_DEFINITION, + DATE_BIRTHDATE_KEYWORD_DEFINITION, + DATE_FUTURE_KEYWORD_DEFINITION, + DATE_MONTH_KEYWORD_DEFINITION, + DATE_PAST_KEYWORD_DEFINITION, + DATE_RECENT_KEYWORD_DEFINITION, + DATE_SOON_KEYWORD_DEFINITION, + DATE_TIME_ZONE_KEYWORD_DEFINITION, + DATE_WEEKDAY_KEYWORD_DEFINITION, +]; + +export { DATE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/date/future-keyword-definition.js b/packages/core/js/keywords/domain/date/future-keyword-definition.js new file mode 100644 index 00000000..2555d5df --- /dev/null +++ b/packages/core/js/keywords/domain/date/future-keyword-definition.js @@ -0,0 +1,52 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_FUTURE_KEYWORD_DEFINITION = { + keyword: 'date.future', + delegate: { + type: 'faker', + target: 'date.future', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random date in the future.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.future()', + sampleReturnValue: '2026-11-17T21:02:06.523Z', + description: 'Shows date.future when optional params are omitted.', + }, + { + functionCall: 'date.future(refDate=1577836800000)', + sampleReturnValue: '2020-06-01T05:06:46.523Z', + description: 'Shows date.future using refDate.', + }, + { + functionCall: 'date.future(years=2)', + sampleReturnValue: '2027-04-19T02:08:52.463Z', + description: 'Shows date.future using years.', + }, + ], + args: [ + { + name: 'refDate', + type: 'integer', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + examples: [1577836800000], + }, + { + name: 'years', + type: 'integer', + required: false, + description: 'The range of years the date may be in the future.', + examples: [2], + }, + ], + }, +}; + +export { DATE_FUTURE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/month-keyword-definition.js b/packages/core/js/keywords/domain/date/month-keyword-definition.js new file mode 100644 index 00000000..2fc9ef71 --- /dev/null +++ b/packages/core/js/keywords/domain/date/month-keyword-definition.js @@ -0,0 +1,51 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const DATE_MONTH_KEYWORD_DEFINITION = { + keyword: 'date.month', + delegate: { + type: 'faker', + target: 'date.month', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random name of a month.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'date.month()', + sampleReturnValue: 'July', + description: 'Shows date.month when optional params are omitted.', + }, + { + functionCall: 'date.month(abbreviated=true)', + sampleReturnValue: 'Jul', + description: 'Shows date.month using abbreviated.', + }, + { + functionCall: 'date.month(context=true)', + sampleReturnValue: 'July', + description: 'Shows date.month using context.', + }, + ], + args: [ + { + name: 'abbreviated', + type: 'boolean', + required: false, + description: 'Whether to return an abbreviation.', + }, + { + name: 'context', + type: 'boolean', + required: false, + description: + 'Whether to return the name of a month in the context of a date. In the currently supported locale this has no visible effect. This option is mainly relevant for future multi-locale support (for example, locale-specific grammar/capitalization differences).', + }, + ], + }, +}; + +export { DATE_MONTH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/past-keyword-definition.js b/packages/core/js/keywords/domain/date/past-keyword-definition.js new file mode 100644 index 00000000..39bf62ac --- /dev/null +++ b/packages/core/js/keywords/domain/date/past-keyword-definition.js @@ -0,0 +1,52 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_PAST_KEYWORD_DEFINITION = { + keyword: 'date.past', + delegate: { + type: 'faker', + target: 'date.past', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random date in the past.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.past()', + sampleReturnValue: '2025-11-17T21:02:05.523Z', + description: 'Shows date.past when optional params are omitted.', + }, + { + functionCall: 'date.past(refDate=1577836800000)', + sampleReturnValue: '2019-06-02T05:06:45.523Z', + description: 'Shows date.past using refDate.', + }, + { + functionCall: 'date.past(years=2)', + sampleReturnValue: '2025-04-19T02:08:51.463Z', + description: 'Shows date.past using years.', + }, + ], + args: [ + { + name: 'refDate', + type: 'integer', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + examples: [1577836800000], + }, + { + name: 'years', + type: 'integer', + required: false, + description: 'The range of years the date may be in the past.', + examples: [2], + }, + ], + }, +}; + +export { DATE_PAST_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/recent-keyword-definition.js b/packages/core/js/keywords/domain/date/recent-keyword-definition.js new file mode 100644 index 00000000..7bcf9414 --- /dev/null +++ b/packages/core/js/keywords/domain/date/recent-keyword-definition.js @@ -0,0 +1,52 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_RECENT_KEYWORD_DEFINITION = { + keyword: 'date.recent', + delegate: { + type: 'faker', + target: 'date.recent', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random date in the recent past.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.recent()', + sampleReturnValue: '2026-06-18T01:55:50.284Z', + description: 'Shows date.recent when optional params are omitted.', + }, + { + functionCall: 'date.recent(days=7)', + sampleReturnValue: '2026-06-14T13:58:54.491Z', + description: 'Shows date.recent using days.', + }, + { + functionCall: 'date.recent(refDate=1577836800000)', + sampleReturnValue: '2019-12-31T10:00:30.284Z', + description: 'Shows date.recent using refDate.', + }, + ], + args: [ + { + name: 'days', + type: 'integer', + required: false, + description: 'The range of days the date may be in the past.', + examples: [7], + }, + { + name: 'refDate', + type: 'integer', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + examples: [1577836800000], + }, + ], + }, +}; + +export { DATE_RECENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/soon-keyword-definition.js b/packages/core/js/keywords/domain/date/soon-keyword-definition.js new file mode 100644 index 00000000..c37f9d44 --- /dev/null +++ b/packages/core/js/keywords/domain/date/soon-keyword-definition.js @@ -0,0 +1,52 @@ +import { validateDateValue } from '../../../command-help/command-help-validators.js'; + +const DATE_SOON_KEYWORD_DEFINITION = { + keyword: 'date.soon', + delegate: { + type: 'faker', + target: 'date.soon', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random date in the near future.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateDateValue, + returnType: 'date', + usageExamples: [ + { + functionCall: 'date.soon()', + sampleReturnValue: '2026-06-19T01:55:51.284Z', + description: 'Shows date.soon when optional params are omitted.', + }, + { + functionCall: 'date.soon(days=7)', + sampleReturnValue: '2026-06-21T13:58:55.491Z', + description: 'Shows date.soon using days.', + }, + { + functionCall: 'date.soon(refDate=1577836800000)', + sampleReturnValue: '2020-01-01T10:00:31.284Z', + description: 'Shows date.soon using refDate.', + }, + ], + args: [ + { + name: 'days', + type: 'integer', + required: false, + description: 'The range of days the date may be in the future.', + examples: [7], + }, + { + name: 'refDate', + type: 'integer', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + examples: [1577836800000], + }, + ], + }, +}; + +export { DATE_SOON_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/time-zone-keyword-definition.js b/packages/core/js/keywords/domain/date/time-zone-keyword-definition.js new file mode 100644 index 00000000..aedae2bb --- /dev/null +++ b/packages/core/js/keywords/domain/date/time-zone-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateTimeZoneValue } from '../../../command-help/command-help-validators.js'; + +const DATE_TIME_ZONE_KEYWORD_DEFINITION = { + keyword: 'date.timeZone', + delegate: { + type: 'faker', + target: 'date.timeZone', + }, + help: { + summary: 'Returns a random IANA time zone relevant to this locale.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateTimeZoneValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'date.timeZone', + sampleReturnValue: 'America/Santiago', + description: 'Shows the default date.timeZone call.', + }, + ], + args: [], + }, +}; + +export { DATE_TIME_ZONE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/date/weekday-keyword-definition.js b/packages/core/js/keywords/domain/date/weekday-keyword-definition.js new file mode 100644 index 00000000..221a706c --- /dev/null +++ b/packages/core/js/keywords/domain/date/weekday-keyword-definition.js @@ -0,0 +1,51 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const DATE_WEEKDAY_KEYWORD_DEFINITION = { + keyword: 'date.weekday', + delegate: { + type: 'faker', + target: 'date.weekday', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random day of the week.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/date', + fakerDocsUrl: 'https://fakerjs.dev/api/date', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'date.weekday()', + sampleReturnValue: 'Saturday', + description: 'Shows date.weekday when optional params are omitted.', + }, + { + functionCall: 'date.weekday(abbreviated=true)', + sampleReturnValue: 'Sat', + description: 'Shows date.weekday using abbreviated.', + }, + { + functionCall: 'date.weekday(context=true)', + sampleReturnValue: 'Saturday', + description: 'Shows date.weekday using context.', + }, + ], + args: [ + { + name: 'abbreviated', + type: 'boolean', + required: false, + description: 'Whether to return an abbreviation.', + }, + { + name: 'context', + type: 'boolean', + required: false, + description: + 'Whether to return the day of the week in the context of a date. In the currently supported locale this has no visible effect. This option is mainly relevant for future multi-locale support (for example, locale-specific grammar/capitalization differences).', + }, + ], + }, +}; + +export { DATE_WEEKDAY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/account-name-keyword-definition.js b/packages/core/js/keywords/domain/finance/account-name-keyword-definition.js new file mode 100644 index 00000000..b5e96d2c --- /dev/null +++ b/packages/core/js/keywords/domain/finance/account-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_ACCOUNT_NAME_KEYWORD_DEFINITION = { + keyword: 'finance.accountName', + delegate: { + type: 'faker', + target: 'finance.accountName', + }, + help: { + summary: 'Generates a random account name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.accountName', + sampleReturnValue: 'Home Loan Account', + description: 'Shows the default finance.accountName call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_ACCOUNT_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/account-number-keyword-definition.js b/packages/core/js/keywords/domain/finance/account-number-keyword-definition.js new file mode 100644 index 00000000..5becfc2d --- /dev/null +++ b/packages/core/js/keywords/domain/finance/account-number-keyword-definition.js @@ -0,0 +1,38 @@ +import { validateAccountNumberValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_ACCOUNT_NUMBER_KEYWORD_DEFINITION = { + keyword: 'finance.accountNumber', + delegate: { + type: 'faker', + target: 'finance.accountNumber', + }, + help: { + summary: 'Generates a random account number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateAccountNumberValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.accountNumber()', + sampleReturnValue: '47031013', + description: 'Shows finance.accountNumber when optional params are omitted.', + }, + { + functionCall: 'finance.accountNumber(length=5)', + sampleReturnValue: '47031', + description: 'Shows finance.accountNumber using length.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + ], + }, +}; + +export { FINANCE_ACCOUNT_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/amount-keyword-definition.js b/packages/core/js/keywords/domain/finance/amount-keyword-definition.js new file mode 100644 index 00000000..a5750977 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/amount-keyword-definition.js @@ -0,0 +1,88 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_AMOUNT_KEYWORD_DEFINITION = { + keyword: 'finance.amount', + delegate: { + type: 'faker', + target: 'finance.amount', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random amount between the given bounds (inclusive).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.amount()', + sampleReturnValue: '417.02', + description: 'Shows finance.amount when optional params are omitted.', + }, + { + functionCall: 'finance.amount(autoFormat=true)', + sampleReturnValue: '417.02', + description: 'Shows finance.amount using autoFormat.', + }, + { + functionCall: 'finance.amount(dec=2)', + sampleReturnValue: '417.02', + description: 'Shows finance.amount using dec.', + }, + { + functionCall: 'finance.amount(max=100)', + sampleReturnValue: '41.70', + description: 'Shows finance.amount using max.', + }, + { + functionCall: 'finance.amount(max=10, min=1)', + sampleReturnValue: '4.75', + description: 'Shows finance.amount using min.', + }, + { + functionCall: 'finance.amount(symbol="$")', + sampleReturnValue: '$417.02', + description: 'Shows finance.amount using symbol.', + }, + ], + args: [ + { + name: 'autoFormat', + type: 'boolean', + required: false, + description: 'If true this method will use Number.toLocaleString(). Otherwise it will use Number.toFixed().', + examples: [true], + }, + { + name: 'dec', + type: 'integer', + required: false, + description: 'The number of decimal places for the amount.', + examples: [2], + }, + { + name: 'max', + type: 'number', + required: false, + description: 'The upper bound for the amount.', + examples: [100], + }, + { + name: 'min', + type: 'number', + required: false, + description: 'The lower bound for the amount.', + examples: [1], + }, + { + name: 'symbol', + type: 'string', + required: false, + description: 'The symbol used to prefix the amount.', + examples: ['$'], + }, + ], + }, +}; + +export { FINANCE_AMOUNT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/bic-keyword-definition.js b/packages/core/js/keywords/domain/finance/bic-keyword-definition.js new file mode 100644 index 00000000..93e46eb5 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/bic-keyword-definition.js @@ -0,0 +1,39 @@ +import { validateBicValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_BIC_KEYWORD_DEFINITION = { + keyword: 'finance.bic', + delegate: { + type: 'faker', + target: 'finance.bic', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random SWIFT/BIC code based on the ISO-9362 format.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateBicValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.bic()', + sampleReturnValue: 'SAHDBI6CJFO', + description: 'Shows finance.bic when optional params are omitted.', + }, + { + functionCall: 'finance.bic(includeBranchCode=true)', + sampleReturnValue: 'KSAHBZ36EJF', + description: 'Shows finance.bic using includeBranchCode.', + }, + ], + args: [ + { + name: 'includeBranchCode', + type: 'boolean', + required: false, + description: 'Whether to include a three-digit branch code at the end of the generated code.', + }, + ], + }, +}; + +export { FINANCE_BIC_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/bitcoin-address-keyword-definition.js b/packages/core/js/keywords/domain/finance/bitcoin-address-keyword-definition.js new file mode 100644 index 00000000..fa85337e --- /dev/null +++ b/packages/core/js/keywords/domain/finance/bitcoin-address-keyword-definition.js @@ -0,0 +1,56 @@ +import { validateBitcoinAddressValue } from '../../../command-help/command-help-validators.js'; + +const BITCOIN_ADDRESS_TYPE = 'legacy|segwit|bech32|taproot'; + +const BITCOIN_NETWORK_TYPE = 'mainnet|testnet'; + +const FINANCE_BITCOIN_ADDRESS_KEYWORD_DEFINITION = { + keyword: 'finance.bitcoinAddress', + delegate: { + type: 'faker', + target: 'finance.bitcoinAddress', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random Bitcoin address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateBitcoinAddressValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.bitcoinAddress()', + sampleReturnValue: '31i96bmpxqFcS2Eqy9cNYjGST53aS6qX', + description: 'Shows finance.bitcoinAddress when optional params are omitted.', + }, + { + functionCall: 'finance.bitcoinAddress(type="bech32")', + sampleReturnValue: 'bc1fr0a536dekfp7w0pfk57tycqww326w4fykqcpu0', + description: 'Shows finance.bitcoinAddress using type.', + }, + { + functionCall: 'finance.bitcoinAddress(network="testnet")', + sampleReturnValue: '21i96bmpxqFcS2Eqy9cNYjGST53aS6qX', + description: 'Shows finance.bitcoinAddress using network.', + }, + ], + args: [ + { + name: 'type', + type: BITCOIN_ADDRESS_TYPE, + required: false, + description: "The bitcoin address type ('legacy', 'segwit', 'bech32' or 'taproot').", + examples: ['bech32'], + }, + { + name: 'network', + type: BITCOIN_NETWORK_TYPE, + required: false, + description: "The bitcoin network ('mainnet' or 'testnet').", + examples: ['testnet'], + }, + ], + }, +}; + +export { FINANCE_BITCOIN_ADDRESS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/credit-card-cvv-keyword-definition.js b/packages/core/js/keywords/domain/finance/credit-card-cvv-keyword-definition.js new file mode 100644 index 00000000..37780d6d --- /dev/null +++ b/packages/core/js/keywords/domain/finance/credit-card-cvv-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateCreditCardCvvValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CREDIT_CARD_CVV_KEYWORD_DEFINITION = { + keyword: 'finance.creditCardCVV', + delegate: { + type: 'faker', + target: 'finance.creditCardCVV', + }, + help: { + summary: 'Generates a random credit card CVV.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCreditCardCvvValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.creditCardCVV', + sampleReturnValue: '470', + description: 'Shows the default finance.creditCardCVV call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CREDIT_CARD_CVV_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/credit-card-issuer-keyword-definition.js b/packages/core/js/keywords/domain/finance/credit-card-issuer-keyword-definition.js new file mode 100644 index 00000000..24e1bce7 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/credit-card-issuer-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CREDIT_CARD_ISSUER_KEYWORD_DEFINITION = { + keyword: 'finance.creditCardIssuer', + delegate: { + type: 'faker', + target: 'finance.creditCardIssuer', + }, + help: { + summary: 'Returns a random credit card issuer.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.creditCardIssuer', + sampleReturnValue: 'discover', + description: 'Shows the default finance.creditCardIssuer call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CREDIT_CARD_ISSUER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/credit-card-number-keyword-definition.js b/packages/core/js/keywords/domain/finance/credit-card-number-keyword-definition.js new file mode 100644 index 00000000..5971ebd3 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/credit-card-number-keyword-definition.js @@ -0,0 +1,38 @@ +import { validateCreditCardNumberValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CREDIT_CARD_NUMBER_KEYWORD_DEFINITION = { + keyword: 'finance.creditCardNumber', + delegate: { + type: 'faker', + target: 'finance.creditCardNumber', + }, + help: { + summary: 'Generates a random credit card number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCreditCardNumberValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.creditCardNumber()', + sampleReturnValue: '6503-1013-3546-2805', + description: 'Shows finance.creditCardNumber when optional params are omitted.', + }, + { + functionCall: 'finance.creditCardNumber(issuer="Visa")', + sampleReturnValue: '4703101335466', + description: 'Shows finance.creditCardNumber using issuer.', + }, + ], + args: [ + { + name: 'issuer', + type: 'string', + required: false, + description: 'Issuer or provider value used to constrain generated output.', + }, + ], + }, +}; + +export { FINANCE_CREDIT_CARD_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/currency-code-keyword-definition.js b/packages/core/js/keywords/domain/finance/currency-code-keyword-definition.js new file mode 100644 index 00000000..a4344cba --- /dev/null +++ b/packages/core/js/keywords/domain/finance/currency-code-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateCurrencyCodeValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CURRENCY_CODE_KEYWORD_DEFINITION = { + keyword: 'finance.currencyCode', + delegate: { + type: 'faker', + target: 'finance.currencyCode', + }, + help: { + summary: 'Returns a random currency code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCurrencyCodeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencyCode', + sampleReturnValue: 'JOD', + description: 'Shows the default finance.currencyCode call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CURRENCY_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/currency-keyword-definition.js b/packages/core/js/keywords/domain/finance/currency-keyword-definition.js new file mode 100644 index 00000000..dbf89d02 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/currency-keyword-definition.js @@ -0,0 +1,31 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CURRENCY_KEYWORD_DEFINITION = { + keyword: 'finance.currency', + delegate: { + type: 'faker', + target: 'finance.currency', + }, + help: { + summary: 'Returns a random currency object, containing `code`, `name`, `symbol`, and `numericCode` properties.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'finance.currency', + sampleReturnValue: { + name: 'Jordanian Dinar', + code: 'JOD', + symbol: '', + numericCode: '400', + }, + description: 'Shows the default finance.currency call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CURRENCY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/currency-name-keyword-definition.js b/packages/core/js/keywords/domain/finance/currency-name-keyword-definition.js new file mode 100644 index 00000000..f21a60a8 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/currency-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CURRENCY_NAME_KEYWORD_DEFINITION = { + keyword: 'finance.currencyName', + delegate: { + type: 'faker', + target: 'finance.currencyName', + }, + help: { + summary: 'Returns a random currency name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencyName', + sampleReturnValue: 'Jordanian Dinar', + description: 'Shows the default finance.currencyName call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CURRENCY_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/currency-numeric-code-keyword-definition.js b/packages/core/js/keywords/domain/finance/currency-numeric-code-keyword-definition.js new file mode 100644 index 00000000..67928862 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/currency-numeric-code-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateCurrencyNumericCodeValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CURRENCY_NUMERIC_CODE_KEYWORD_DEFINITION = { + keyword: 'finance.currencyNumericCode', + delegate: { + type: 'faker', + target: 'finance.currencyNumericCode', + }, + help: { + summary: 'Returns a random currency numeric code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateCurrencyNumericCodeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencyNumericCode', + sampleReturnValue: '400', + description: 'Shows the default finance.currencyNumericCode call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CURRENCY_NUMERIC_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/currency-symbol-keyword-definition.js b/packages/core/js/keywords/domain/finance/currency-symbol-keyword-definition.js new file mode 100644 index 00000000..409e073d --- /dev/null +++ b/packages/core/js/keywords/domain/finance/currency-symbol-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_CURRENCY_SYMBOL_KEYWORD_DEFINITION = { + keyword: 'finance.currencySymbol', + delegate: { + type: 'faker', + target: 'finance.currencySymbol', + }, + help: { + summary: 'Returns a random currency symbol.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.currencySymbol', + sampleReturnValue: 'руб', + description: 'Shows the default finance.currencySymbol call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_CURRENCY_SYMBOL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/ethereum-address-keyword-definition.js b/packages/core/js/keywords/domain/finance/ethereum-address-keyword-definition.js new file mode 100644 index 00000000..4120762e --- /dev/null +++ b/packages/core/js/keywords/domain/finance/ethereum-address-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateEthereumAddressValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_ETHEREUM_ADDRESS_KEYWORD_DEFINITION = { + keyword: 'finance.ethereumAddress', + delegate: { + type: 'faker', + target: 'finance.ethereumAddress', + }, + help: { + summary: 'Creates a random, non-checksum Ethereum address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateEthereumAddressValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.ethereumAddress', + sampleReturnValue: '0x9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a', + description: 'Shows the default finance.ethereumAddress call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_ETHEREUM_ADDRESS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/finance-keyword-definitions.js b/packages/core/js/keywords/domain/finance/finance-keyword-definitions.js new file mode 100644 index 00000000..9e9686fa --- /dev/null +++ b/packages/core/js/keywords/domain/finance/finance-keyword-definitions.js @@ -0,0 +1,45 @@ +import { FINANCE_ACCOUNT_NAME_KEYWORD_DEFINITION } from './account-name-keyword-definition.js'; +import { FINANCE_ACCOUNT_NUMBER_KEYWORD_DEFINITION } from './account-number-keyword-definition.js'; +import { FINANCE_AMOUNT_KEYWORD_DEFINITION } from './amount-keyword-definition.js'; +import { FINANCE_BIC_KEYWORD_DEFINITION } from './bic-keyword-definition.js'; +import { FINANCE_BITCOIN_ADDRESS_KEYWORD_DEFINITION } from './bitcoin-address-keyword-definition.js'; +import { FINANCE_CREDIT_CARD_CVV_KEYWORD_DEFINITION } from './credit-card-cvv-keyword-definition.js'; +import { FINANCE_CREDIT_CARD_ISSUER_KEYWORD_DEFINITION } from './credit-card-issuer-keyword-definition.js'; +import { FINANCE_CREDIT_CARD_NUMBER_KEYWORD_DEFINITION } from './credit-card-number-keyword-definition.js'; +import { FINANCE_CURRENCY_KEYWORD_DEFINITION } from './currency-keyword-definition.js'; +import { FINANCE_CURRENCY_CODE_KEYWORD_DEFINITION } from './currency-code-keyword-definition.js'; +import { FINANCE_CURRENCY_NAME_KEYWORD_DEFINITION } from './currency-name-keyword-definition.js'; +import { FINANCE_CURRENCY_NUMERIC_CODE_KEYWORD_DEFINITION } from './currency-numeric-code-keyword-definition.js'; +import { FINANCE_CURRENCY_SYMBOL_KEYWORD_DEFINITION } from './currency-symbol-keyword-definition.js'; +import { FINANCE_ETHEREUM_ADDRESS_KEYWORD_DEFINITION } from './ethereum-address-keyword-definition.js'; +import { FINANCE_IBAN_KEYWORD_DEFINITION } from './iban-keyword-definition.js'; +import { FINANCE_LITECOIN_ADDRESS_KEYWORD_DEFINITION } from './litecoin-address-keyword-definition.js'; +import { FINANCE_PIN_KEYWORD_DEFINITION } from './pin-keyword-definition.js'; +import { FINANCE_ROUTING_NUMBER_KEYWORD_DEFINITION } from './routing-number-keyword-definition.js'; +import { FINANCE_TRANSACTION_DESCRIPTION_KEYWORD_DEFINITION } from './transaction-description-keyword-definition.js'; +import { FINANCE_TRANSACTION_TYPE_KEYWORD_DEFINITION } from './transaction-type-keyword-definition.js'; + +const FINANCE_KEYWORD_DEFINITIONS = [ + FINANCE_ACCOUNT_NAME_KEYWORD_DEFINITION, + FINANCE_ACCOUNT_NUMBER_KEYWORD_DEFINITION, + FINANCE_AMOUNT_KEYWORD_DEFINITION, + FINANCE_BIC_KEYWORD_DEFINITION, + FINANCE_BITCOIN_ADDRESS_KEYWORD_DEFINITION, + FINANCE_CREDIT_CARD_CVV_KEYWORD_DEFINITION, + FINANCE_CREDIT_CARD_ISSUER_KEYWORD_DEFINITION, + FINANCE_CREDIT_CARD_NUMBER_KEYWORD_DEFINITION, + FINANCE_CURRENCY_KEYWORD_DEFINITION, + FINANCE_CURRENCY_CODE_KEYWORD_DEFINITION, + FINANCE_CURRENCY_NAME_KEYWORD_DEFINITION, + FINANCE_CURRENCY_NUMERIC_CODE_KEYWORD_DEFINITION, + FINANCE_CURRENCY_SYMBOL_KEYWORD_DEFINITION, + FINANCE_ETHEREUM_ADDRESS_KEYWORD_DEFINITION, + FINANCE_IBAN_KEYWORD_DEFINITION, + FINANCE_LITECOIN_ADDRESS_KEYWORD_DEFINITION, + FINANCE_PIN_KEYWORD_DEFINITION, + FINANCE_ROUTING_NUMBER_KEYWORD_DEFINITION, + FINANCE_TRANSACTION_DESCRIPTION_KEYWORD_DEFINITION, + FINANCE_TRANSACTION_TYPE_KEYWORD_DEFINITION, +]; + +export { FINANCE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/finance/iban-keyword-definition.js b/packages/core/js/keywords/domain/finance/iban-keyword-definition.js new file mode 100644 index 00000000..b39a69c9 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/iban-keyword-definition.js @@ -0,0 +1,53 @@ +import { validateIbanValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_IBAN_KEYWORD_DEFINITION = { + keyword: 'finance.iban', + delegate: { + type: 'faker', + target: 'finance.iban', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random IBAN.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateIbanValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.iban()', + sampleReturnValue: 'IE39SAHD00454601410936', + description: 'Shows finance.iban when optional params are omitted.', + }, + { + functionCall: 'finance.iban(countryCode="GB")', + sampleReturnValue: 'GB98KSAH00235420410936', + description: 'Shows finance.iban using countryCode.', + }, + { + functionCall: 'finance.iban(formatted=true)', + sampleReturnValue: 'IE39 SAHD 0045 4601 4109 36', + description: 'Shows finance.iban using formatted.', + }, + ], + args: [ + { + name: 'countryCode', + type: 'string', + required: false, + description: + 'The country code from which you want to generate an IBAN, if none is provided a random country will be used.', + examples: ['GB'], + }, + { + name: 'formatted', + type: 'boolean', + required: false, + description: 'Return a formatted version of the generated IBAN.', + examples: [true], + }, + ], + }, +}; + +export { FINANCE_IBAN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/litecoin-address-keyword-definition.js b/packages/core/js/keywords/domain/finance/litecoin-address-keyword-definition.js new file mode 100644 index 00000000..89146976 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/litecoin-address-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateLitecoinAddressValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_LITECOIN_ADDRESS_KEYWORD_DEFINITION = { + keyword: 'finance.litecoinAddress', + delegate: { + type: 'faker', + target: 'finance.litecoinAddress', + }, + help: { + summary: 'Generates a random Litecoin address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateLitecoinAddressValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.litecoinAddress', + sampleReturnValue: '31i96bmpxqFcS2Eqy9cNYjGST53aS', + description: 'Shows the default finance.litecoinAddress call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_LITECOIN_ADDRESS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/pin-keyword-definition.js b/packages/core/js/keywords/domain/finance/pin-keyword-definition.js new file mode 100644 index 00000000..3f12b9b1 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/pin-keyword-definition.js @@ -0,0 +1,38 @@ +import { validatePinValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_PIN_KEYWORD_DEFINITION = { + keyword: 'finance.pin', + delegate: { + type: 'faker', + target: 'finance.pin', + }, + help: { + summary: 'Generates a random PIN number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validatePinValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.pin()', + sampleReturnValue: '4703', + description: 'Shows finance.pin when optional params are omitted.', + }, + { + functionCall: 'finance.pin(length=5)', + sampleReturnValue: '47031', + description: 'Shows finance.pin using length.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + ], + }, +}; + +export { FINANCE_PIN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/routing-number-keyword-definition.js b/packages/core/js/keywords/domain/finance/routing-number-keyword-definition.js new file mode 100644 index 00000000..f96e8d2a --- /dev/null +++ b/packages/core/js/keywords/domain/finance/routing-number-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateRoutingNumberValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_ROUTING_NUMBER_KEYWORD_DEFINITION = { + keyword: 'finance.routingNumber', + delegate: { + type: 'faker', + target: 'finance.routingNumber', + }, + help: { + summary: 'Generates a random routing number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateRoutingNumberValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.routingNumber', + sampleReturnValue: '470310139', + description: 'Shows the default finance.routingNumber call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_ROUTING_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/transaction-description-keyword-definition.js b/packages/core/js/keywords/domain/finance/transaction-description-keyword-definition.js new file mode 100644 index 00000000..c2ab4d5c --- /dev/null +++ b/packages/core/js/keywords/domain/finance/transaction-description-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_TRANSACTION_DESCRIPTION_KEYWORD_DEFINITION = { + keyword: 'finance.transactionDescription', + delegate: { + type: 'faker', + target: 'finance.transactionDescription', + }, + help: { + summary: 'Generates a random transaction description.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.transactionDescription', + sampleReturnValue: + 'You made a payment of AED 302.33 at Hegmann - Johnston using card ending in ****6280 from account ***6451.', + description: 'Shows the default finance.transactionDescription call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_TRANSACTION_DESCRIPTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/finance/transaction-type-keyword-definition.js b/packages/core/js/keywords/domain/finance/transaction-type-keyword-definition.js new file mode 100644 index 00000000..acfd0813 --- /dev/null +++ b/packages/core/js/keywords/domain/finance/transaction-type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FINANCE_TRANSACTION_TYPE_KEYWORD_DEFINITION = { + keyword: 'finance.transactionType', + delegate: { + type: 'faker', + target: 'finance.transactionType', + }, + help: { + summary: 'Returns a random transaction type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/finance', + fakerDocsUrl: 'https://fakerjs.dev/api/finance', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'finance.transactionType', + sampleReturnValue: 'invoice', + description: 'Shows the default finance.transactionType call.', + }, + ], + args: [], + }, +}; + +export { FINANCE_TRANSACTION_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/adjective-keyword-definition.js b/packages/core/js/keywords/domain/food/adjective-keyword-definition.js new file mode 100644 index 00000000..d8862946 --- /dev/null +++ b/packages/core/js/keywords/domain/food/adjective-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_ADJECTIVE_KEYWORD_DEFINITION = { + keyword: 'food.adjective', + delegate: { + type: 'faker', + target: 'food.adjective', + }, + help: { + summary: 'Generates a random dish adjective.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.adjective', + sampleReturnValue: 'juicy', + description: 'Shows the default food.adjective call.', + }, + ], + args: [], + }, +}; + +export { FOOD_ADJECTIVE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/description-keyword-definition.js b/packages/core/js/keywords/domain/food/description-keyword-definition.js new file mode 100644 index 00000000..30d4751d --- /dev/null +++ b/packages/core/js/keywords/domain/food/description-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_DESCRIPTION_KEYWORD_DEFINITION = { + keyword: 'food.description', + delegate: { + type: 'faker', + target: 'food.description', + }, + help: { + summary: 'Generates a random dish description.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.description', + sampleReturnValue: 'An exquisite artichoke dish, paired with brown rice and a hint of cardamom.', + description: 'Shows the default food.description call.', + }, + ], + args: [], + }, +}; + +export { FOOD_DESCRIPTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/dish-keyword-definition.js b/packages/core/js/keywords/domain/food/dish-keyword-definition.js new file mode 100644 index 00000000..4d44ffdd --- /dev/null +++ b/packages/core/js/keywords/domain/food/dish-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_DISH_KEYWORD_DEFINITION = { + keyword: 'food.dish', + delegate: { + type: 'faker', + target: 'food.dish', + }, + help: { + summary: 'Generates a random dish name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.dish', + sampleReturnValue: 'Cinnamon-crusted Chicken', + description: 'Shows the default food.dish call.', + }, + ], + args: [], + }, +}; + +export { FOOD_DISH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/ethnic-category-keyword-definition.js b/packages/core/js/keywords/domain/food/ethnic-category-keyword-definition.js new file mode 100644 index 00000000..400cf22e --- /dev/null +++ b/packages/core/js/keywords/domain/food/ethnic-category-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_ETHNIC_CATEGORY_KEYWORD_DEFINITION = { + keyword: 'food.ethnicCategory', + delegate: { + type: 'faker', + target: 'food.ethnicCategory', + }, + help: { + summary: "Generates a random food's ethnic category.", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.ethnicCategory', + sampleReturnValue: 'Indonesian', + description: 'Shows the default food.ethnicCategory call.', + }, + ], + args: [], + }, +}; + +export { FOOD_ETHNIC_CATEGORY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/food-keyword-definitions.js b/packages/core/js/keywords/domain/food/food-keyword-definitions.js new file mode 100644 index 00000000..d22ab811 --- /dev/null +++ b/packages/core/js/keywords/domain/food/food-keyword-definitions.js @@ -0,0 +1,23 @@ +import { FOOD_ADJECTIVE_KEYWORD_DEFINITION } from './adjective-keyword-definition.js'; +import { FOOD_DESCRIPTION_KEYWORD_DEFINITION } from './description-keyword-definition.js'; +import { FOOD_DISH_KEYWORD_DEFINITION } from './dish-keyword-definition.js'; +import { FOOD_ETHNIC_CATEGORY_KEYWORD_DEFINITION } from './ethnic-category-keyword-definition.js'; +import { FOOD_FRUIT_KEYWORD_DEFINITION } from './fruit-keyword-definition.js'; +import { FOOD_INGREDIENT_KEYWORD_DEFINITION } from './ingredient-keyword-definition.js'; +import { FOOD_MEAT_KEYWORD_DEFINITION } from './meat-keyword-definition.js'; +import { FOOD_SPICE_KEYWORD_DEFINITION } from './spice-keyword-definition.js'; +import { FOOD_VEGETABLE_KEYWORD_DEFINITION } from './vegetable-keyword-definition.js'; + +const FOOD_KEYWORD_DEFINITIONS = [ + FOOD_ADJECTIVE_KEYWORD_DEFINITION, + FOOD_DESCRIPTION_KEYWORD_DEFINITION, + FOOD_DISH_KEYWORD_DEFINITION, + FOOD_ETHNIC_CATEGORY_KEYWORD_DEFINITION, + FOOD_FRUIT_KEYWORD_DEFINITION, + FOOD_INGREDIENT_KEYWORD_DEFINITION, + FOOD_MEAT_KEYWORD_DEFINITION, + FOOD_SPICE_KEYWORD_DEFINITION, + FOOD_VEGETABLE_KEYWORD_DEFINITION, +]; + +export { FOOD_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/food/fruit-keyword-definition.js b/packages/core/js/keywords/domain/food/fruit-keyword-definition.js new file mode 100644 index 00000000..ca8f9207 --- /dev/null +++ b/packages/core/js/keywords/domain/food/fruit-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_FRUIT_KEYWORD_DEFINITION = { + keyword: 'food.fruit', + delegate: { + type: 'faker', + target: 'food.fruit', + }, + help: { + summary: 'Generates a random fruit name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.fruit', + sampleReturnValue: 'grapefruit', + description: 'Shows the default food.fruit call.', + }, + ], + args: [], + }, +}; + +export { FOOD_FRUIT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/ingredient-keyword-definition.js b/packages/core/js/keywords/domain/food/ingredient-keyword-definition.js new file mode 100644 index 00000000..9f328968 --- /dev/null +++ b/packages/core/js/keywords/domain/food/ingredient-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_INGREDIENT_KEYWORD_DEFINITION = { + keyword: 'food.ingredient', + delegate: { + type: 'faker', + target: 'food.ingredient', + }, + help: { + summary: 'Generates a random ingredient name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.ingredient', + sampleReturnValue: 'green pepper', + description: 'Shows the default food.ingredient call.', + }, + ], + args: [], + }, +}; + +export { FOOD_INGREDIENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/meat-keyword-definition.js b/packages/core/js/keywords/domain/food/meat-keyword-definition.js new file mode 100644 index 00000000..b2a5561a --- /dev/null +++ b/packages/core/js/keywords/domain/food/meat-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_MEAT_KEYWORD_DEFINITION = { + keyword: 'food.meat', + delegate: { + type: 'faker', + target: 'food.meat', + }, + help: { + summary: 'Generates a random meat', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.meat', + sampleReturnValue: 'kangaroo', + description: 'Shows the default food.meat call.', + }, + ], + args: [], + }, +}; + +export { FOOD_MEAT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/spice-keyword-definition.js b/packages/core/js/keywords/domain/food/spice-keyword-definition.js new file mode 100644 index 00000000..fa643220 --- /dev/null +++ b/packages/core/js/keywords/domain/food/spice-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_SPICE_KEYWORD_DEFINITION = { + keyword: 'food.spice', + delegate: { + type: 'faker', + target: 'food.spice', + }, + help: { + summary: 'Generates a random spice name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.spice', + sampleReturnValue: 'fines herbes', + description: 'Shows the default food.spice call.', + }, + ], + args: [], + }, +}; + +export { FOOD_SPICE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/food/vegetable-keyword-definition.js b/packages/core/js/keywords/domain/food/vegetable-keyword-definition.js new file mode 100644 index 00000000..659b5770 --- /dev/null +++ b/packages/core/js/keywords/domain/food/vegetable-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const FOOD_VEGETABLE_KEYWORD_DEFINITION = { + keyword: 'food.vegetable', + delegate: { + type: 'faker', + target: 'food.vegetable', + }, + help: { + summary: 'Generates a random vegetable name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/food', + fakerDocsUrl: 'https://fakerjs.dev/api/food', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'food.vegetable', + sampleReturnValue: 'eggplant', + description: 'Shows the default food.vegetable call.', + }, + ], + args: [], + }, +}; + +export { FOOD_VEGETABLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/git/branch-keyword-definition.js b/packages/core/js/keywords/domain/git/branch-keyword-definition.js new file mode 100644 index 00000000..22bcc6c7 --- /dev/null +++ b/packages/core/js/keywords/domain/git/branch-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const GIT_BRANCH_KEYWORD_DEFINITION = { + keyword: 'git.branch', + delegate: { + type: 'faker', + target: 'git.branch', + }, + help: { + summary: 'Generates a random branch name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'git.branch', + sampleReturnValue: 'firewall-parse', + description: 'Shows the default git.branch call.', + }, + ], + args: [], + }, +}; + +export { GIT_BRANCH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/git/commit-date-keyword-definition.js b/packages/core/js/keywords/domain/git/commit-date-keyword-definition.js new file mode 100644 index 00000000..bad1ad90 --- /dev/null +++ b/packages/core/js/keywords/domain/git/commit-date-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const GIT_COMMIT_DATE_KEYWORD_DEFINITION = { + keyword: 'git.commitDate', + delegate: { + type: 'faker', + target: 'git.commitDate', + }, + help: { + summary: 'Generates a date string for a git commit using the same format as `git log`.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitDate', + sampleReturnValue: 'Thu Jun 18 01:55:50 2026 +0600', + description: 'Shows the default git.commitDate call.', + }, + ], + args: [], + }, +}; + +export { GIT_COMMIT_DATE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/git/commit-entry-keyword-definition.js b/packages/core/js/keywords/domain/git/commit-entry-keyword-definition.js new file mode 100644 index 00000000..83969bb0 --- /dev/null +++ b/packages/core/js/keywords/domain/git/commit-entry-keyword-definition.js @@ -0,0 +1,31 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const GIT_COMMIT_ENTRY_KEYWORD_DEFINITION = { + keyword: 'git.commitEntry', + delegate: { + type: 'faker', + target: 'git.commitEntry', + }, + help: { + summary: 'Generates a random commit entry as printed by `git log`.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitEntry', + sampleReturnValue: + 'commit f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0af\r\n' + + 'Author: Ricardo Upton \r\n' + + 'Date: Wed Jun 17 19:26:37 2026 +0300\r\n' + + '\r\n' + + '    parse auxiliary feed\r\n', + description: 'Shows the default git.commitEntry call.', + }, + ], + args: [], + }, +}; + +export { GIT_COMMIT_ENTRY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/git/commit-message-keyword-definition.js b/packages/core/js/keywords/domain/git/commit-message-keyword-definition.js new file mode 100644 index 00000000..b80d5357 --- /dev/null +++ b/packages/core/js/keywords/domain/git/commit-message-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const GIT_COMMIT_MESSAGE_KEYWORD_DEFINITION = { + keyword: 'git.commitMessage', + delegate: { + type: 'faker', + target: 'git.commitMessage', + }, + help: { + summary: 'Generates a random commit message.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitMessage', + sampleReturnValue: 'hack optical alarm', + description: 'Shows the default git.commitMessage call.', + }, + ], + args: [], + }, +}; + +export { GIT_COMMIT_MESSAGE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/git/commit-sha-keyword-definition.js b/packages/core/js/keywords/domain/git/commit-sha-keyword-definition.js new file mode 100644 index 00000000..672939e4 --- /dev/null +++ b/packages/core/js/keywords/domain/git/commit-sha-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const GIT_COMMIT_SHA_KEYWORD_DEFINITION = { + keyword: 'git.commitSha', + delegate: { + type: 'faker', + target: 'git.commitSha', + }, + help: { + summary: 'Generates a random commit sha.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/git', + fakerDocsUrl: 'https://fakerjs.dev/api/git', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'git.commitSha', + sampleReturnValue: '9f0632478b9f4d0e9c34bf6fdd103d29fbf6fc0a', + description: 'Shows the default git.commitSha call.', + }, + ], + args: [], + }, +}; + +export { GIT_COMMIT_SHA_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/git/git-keyword-definitions.js b/packages/core/js/keywords/domain/git/git-keyword-definitions.js new file mode 100644 index 00000000..6314f41c --- /dev/null +++ b/packages/core/js/keywords/domain/git/git-keyword-definitions.js @@ -0,0 +1,15 @@ +import { GIT_BRANCH_KEYWORD_DEFINITION } from './branch-keyword-definition.js'; +import { GIT_COMMIT_DATE_KEYWORD_DEFINITION } from './commit-date-keyword-definition.js'; +import { GIT_COMMIT_ENTRY_KEYWORD_DEFINITION } from './commit-entry-keyword-definition.js'; +import { GIT_COMMIT_MESSAGE_KEYWORD_DEFINITION } from './commit-message-keyword-definition.js'; +import { GIT_COMMIT_SHA_KEYWORD_DEFINITION } from './commit-sha-keyword-definition.js'; + +const GIT_KEYWORD_DEFINITIONS = [ + GIT_BRANCH_KEYWORD_DEFINITION, + GIT_COMMIT_DATE_KEYWORD_DEFINITION, + GIT_COMMIT_ENTRY_KEYWORD_DEFINITION, + GIT_COMMIT_MESSAGE_KEYWORD_DEFINITION, + GIT_COMMIT_SHA_KEYWORD_DEFINITION, +]; + +export { GIT_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/hacker/abbreviation-keyword-definition.js b/packages/core/js/keywords/domain/hacker/abbreviation-keyword-definition.js new file mode 100644 index 00000000..35798224 --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/abbreviation-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HACKER_ABBREVIATION_KEYWORD_DEFINITION = { + keyword: 'hacker.abbreviation', + delegate: { + type: 'faker', + target: 'hacker.abbreviation', + }, + help: { + summary: 'Returns a random hacker/IT abbreviation.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.abbreviation', + sampleReturnValue: 'IP', + description: 'Shows the default hacker.abbreviation call.', + }, + ], + args: [], + }, +}; + +export { HACKER_ABBREVIATION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/hacker/adjective-keyword-definition.js b/packages/core/js/keywords/domain/hacker/adjective-keyword-definition.js new file mode 100644 index 00000000..41d842b1 --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/adjective-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HACKER_ADJECTIVE_KEYWORD_DEFINITION = { + keyword: 'hacker.adjective', + delegate: { + type: 'faker', + target: 'hacker.adjective', + }, + help: { + summary: 'Returns a random hacker/IT adjective.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.adjective', + sampleReturnValue: 'mobile', + description: 'Shows the default hacker.adjective call.', + }, + ], + args: [], + }, +}; + +export { HACKER_ADJECTIVE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/hacker/hacker-keyword-definitions.js b/packages/core/js/keywords/domain/hacker/hacker-keyword-definitions.js new file mode 100644 index 00000000..2abea448 --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/hacker-keyword-definitions.js @@ -0,0 +1,17 @@ +import { HACKER_ABBREVIATION_KEYWORD_DEFINITION } from './abbreviation-keyword-definition.js'; +import { HACKER_ADJECTIVE_KEYWORD_DEFINITION } from './adjective-keyword-definition.js'; +import { HACKER_INGVERB_KEYWORD_DEFINITION } from './ingverb-keyword-definition.js'; +import { HACKER_NOUN_KEYWORD_DEFINITION } from './noun-keyword-definition.js'; +import { HACKER_PHRASE_KEYWORD_DEFINITION } from './phrase-keyword-definition.js'; +import { HACKER_VERB_KEYWORD_DEFINITION } from './verb-keyword-definition.js'; + +const HACKER_KEYWORD_DEFINITIONS = [ + HACKER_ABBREVIATION_KEYWORD_DEFINITION, + HACKER_ADJECTIVE_KEYWORD_DEFINITION, + HACKER_INGVERB_KEYWORD_DEFINITION, + HACKER_NOUN_KEYWORD_DEFINITION, + HACKER_PHRASE_KEYWORD_DEFINITION, + HACKER_VERB_KEYWORD_DEFINITION, +]; + +export { HACKER_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/hacker/ingverb-keyword-definition.js b/packages/core/js/keywords/domain/hacker/ingverb-keyword-definition.js new file mode 100644 index 00000000..722728c2 --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/ingverb-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HACKER_INGVERB_KEYWORD_DEFINITION = { + keyword: 'hacker.ingverb', + delegate: { + type: 'faker', + target: 'hacker.ingverb', + }, + help: { + summary: 'Returns a random hacker/IT verb for continuous actions (en: ing suffix; e.g. hacking).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.ingverb', + sampleReturnValue: 'generating', + description: 'Shows the default hacker.ingverb call.', + }, + ], + args: [], + }, +}; + +export { HACKER_INGVERB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/hacker/noun-keyword-definition.js b/packages/core/js/keywords/domain/hacker/noun-keyword-definition.js new file mode 100644 index 00000000..e3129eaf --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/noun-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HACKER_NOUN_KEYWORD_DEFINITION = { + keyword: 'hacker.noun', + delegate: { + type: 'faker', + target: 'hacker.noun', + }, + help: { + summary: 'Returns a random hacker/IT noun.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.noun', + sampleReturnValue: 'firewall', + description: 'Shows the default hacker.noun call.', + }, + ], + args: [], + }, +}; + +export { HACKER_NOUN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/hacker/phrase-keyword-definition.js b/packages/core/js/keywords/domain/hacker/phrase-keyword-definition.js new file mode 100644 index 00000000..0b8462e2 --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/phrase-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HACKER_PHRASE_KEYWORD_DEFINITION = { + keyword: 'hacker.phrase', + delegate: { + type: 'faker', + target: 'hacker.phrase', + }, + help: { + summary: 'Generates a random hacker/IT phrase.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.phrase', + sampleReturnValue: 'Try to back up the COM bus, maybe it will hack the mobile bus!', + description: 'Shows the default hacker.phrase call.', + }, + ], + args: [], + }, +}; + +export { HACKER_PHRASE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/hacker/verb-keyword-definition.js b/packages/core/js/keywords/domain/hacker/verb-keyword-definition.js new file mode 100644 index 00000000..ef71b798 --- /dev/null +++ b/packages/core/js/keywords/domain/hacker/verb-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HACKER_VERB_KEYWORD_DEFINITION = { + keyword: 'hacker.verb', + delegate: { + type: 'faker', + target: 'hacker.verb', + }, + help: { + summary: 'Returns a random hacker/IT verb.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/hacker', + fakerDocsUrl: 'https://fakerjs.dev/api/hacker', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'hacker.verb', + sampleReturnValue: 'hack', + description: 'Shows the default hacker.verb call.', + }, + ], + args: [], + }, +}; + +export { HACKER_VERB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/image/avatar-git-hub-keyword-definition.js b/packages/core/js/keywords/domain/image/avatar-git-hub-keyword-definition.js new file mode 100644 index 00000000..6c101c62 --- /dev/null +++ b/packages/core/js/keywords/domain/image/avatar-git-hub-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const IMAGE_AVATAR_GIT_HUB_KEYWORD_DEFINITION = { + keyword: 'image.avatarGitHub', + delegate: { + type: 'faker', + target: 'image.avatarGitHub', + }, + help: { + summary: 'Generates a random avatar from GitHub.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'image.avatarGitHub', + sampleReturnValue: 'https://avatars.githubusercontent.com/u/41702200', + description: 'Shows the default image.avatarGitHub call.', + }, + ], + args: [], + }, +}; + +export { IMAGE_AVATAR_GIT_HUB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/image/avatar-keyword-definition.js b/packages/core/js/keywords/domain/image/avatar-keyword-definition.js new file mode 100644 index 00000000..c61fc6ea --- /dev/null +++ b/packages/core/js/keywords/domain/image/avatar-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const IMAGE_AVATAR_KEYWORD_DEFINITION = { + keyword: 'image.avatar', + delegate: { + type: 'faker', + target: 'image.avatar', + }, + help: { + summary: 'Generates a random avatar image url.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'image.avatar', + sampleReturnValue: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/male/512/0.jpg', + description: 'Shows the default image.avatar call.', + }, + ], + args: [], + }, +}; + +export { IMAGE_AVATAR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/image/data-uri-keyword-definition.js b/packages/core/js/keywords/domain/image/data-uri-keyword-definition.js new file mode 100644 index 00000000..fd3da1f7 --- /dev/null +++ b/packages/core/js/keywords/domain/image/data-uri-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const IMAGE_DATA_URI_KEYWORD_DEFINITION = { + keyword: 'image.dataUri', + delegate: { + type: 'faker', + target: 'image.dataUri', + }, + help: { + summary: 'Generates a random data uri containing an URL-encoded SVG image or a Base64-encoded SVG image.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'image.dataUri', + sampleReturnValue: + 'data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20baseProfile%3D%22full%22%20width%3D%221668%22%20height%3D%222881%22%3E%3Crect%20width%3D%22100%25%22%20height%3D%22100%25%22%20fill%3D%22%23063247%22%2F%3E%3Ctext%20x%3D%22834%22%20y%3D%221440.5%22%20font-size%3D%2220%22%20alignment-baseline%3D%22middle%22%20text-anchor%3D%22middle%22%20fill%3D%22white%22%3E1668x2881%3C%2Ftext%3E%3C%2Fsvg%3E', + description: 'Shows the default image.dataUri call.', + }, + ], + args: [], + }, +}; + +export { IMAGE_DATA_URI_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/image/image-keyword-definitions.js b/packages/core/js/keywords/domain/image/image-keyword-definitions.js new file mode 100644 index 00000000..ad2da750 --- /dev/null +++ b/packages/core/js/keywords/domain/image/image-keyword-definitions.js @@ -0,0 +1,17 @@ +import { IMAGE_AVATAR_KEYWORD_DEFINITION } from './avatar-keyword-definition.js'; +import { IMAGE_AVATAR_GIT_HUB_KEYWORD_DEFINITION } from './avatar-git-hub-keyword-definition.js'; +import { IMAGE_DATA_URI_KEYWORD_DEFINITION } from './data-uri-keyword-definition.js'; +import { IMAGE_PERSON_PORTRAIT_KEYWORD_DEFINITION } from './person-portrait-keyword-definition.js'; +import { IMAGE_URL_KEYWORD_DEFINITION } from './url-keyword-definition.js'; +import { IMAGE_URL_PICSUM_PHOTOS_KEYWORD_DEFINITION } from './url-picsum-photos-keyword-definition.js'; + +const IMAGE_KEYWORD_DEFINITIONS = [ + IMAGE_AVATAR_KEYWORD_DEFINITION, + IMAGE_AVATAR_GIT_HUB_KEYWORD_DEFINITION, + IMAGE_DATA_URI_KEYWORD_DEFINITION, + IMAGE_PERSON_PORTRAIT_KEYWORD_DEFINITION, + IMAGE_URL_KEYWORD_DEFINITION, + IMAGE_URL_PICSUM_PHOTOS_KEYWORD_DEFINITION, +]; + +export { IMAGE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/image/person-portrait-keyword-definition.js b/packages/core/js/keywords/domain/image/person-portrait-keyword-definition.js new file mode 100644 index 00000000..1a43867b --- /dev/null +++ b/packages/core/js/keywords/domain/image/person-portrait-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const IMAGE_PERSON_PORTRAIT_KEYWORD_DEFINITION = { + keyword: 'image.personPortrait', + delegate: { + type: 'faker', + target: 'image.personPortrait', + }, + help: { + summary: 'Generates a random square portrait (avatar) of a person.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'image.personPortrait', + sampleReturnValue: 'https://cdn.jsdelivr.net/gh/faker-js/assets-person-portrait/female/512/72.jpg', + description: 'Shows the default image.personPortrait call.', + }, + ], + args: [], + }, +}; + +export { IMAGE_PERSON_PORTRAIT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/image/url-keyword-definition.js b/packages/core/js/keywords/domain/image/url-keyword-definition.js new file mode 100644 index 00000000..70810d2f --- /dev/null +++ b/packages/core/js/keywords/domain/image/url-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const IMAGE_URL_KEYWORD_DEFINITION = { + keyword: 'image.url', + delegate: { + type: 'faker', + target: 'image.url', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random image url.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'image.url()', + sampleReturnValue: 'https://picsum.photos/seed/i95bl/1668/2881', + description: 'Shows image.url when optional params are omitted.', + }, + { + functionCall: 'image.url(height=1)', + sampleReturnValue: 'https://picsum.photos/seed/0i95bloxp/1668/1', + description: 'Shows image.url using height.', + }, + { + functionCall: 'image.url(width=1)', + sampleReturnValue: 'https://picsum.photos/seed/0i95bloxp/1/1668', + description: 'Shows image.url using width.', + }, + ], + args: [ + { + name: 'height', + type: 'number', + required: false, + description: 'The height of the image.', + }, + { + name: 'width', + type: 'number', + required: false, + description: 'The width of the image.', + }, + ], + }, +}; + +export { IMAGE_URL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/image/url-picsum-photos-keyword-definition.js b/packages/core/js/keywords/domain/image/url-picsum-photos-keyword-definition.js new file mode 100644 index 00000000..9144c887 --- /dev/null +++ b/packages/core/js/keywords/domain/image/url-picsum-photos-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const IMAGE_URL_PICSUM_PHOTOS_KEYWORD_DEFINITION = { + keyword: 'image.urlPicsumPhotos', + delegate: { + type: 'faker', + target: 'image.urlPicsumPhotos', + }, + help: { + summary: 'Generates a random image url provided via https://picsum.photos.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/image', + fakerDocsUrl: 'https://fakerjs.dev/api/image', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'image.urlPicsumPhotos', + sampleReturnValue: 'https://picsum.photos/seed/5blox/1668/2881?grayscale&blur=3', + description: 'Shows the default image.urlPicsumPhotos call.', + }, + ], + args: [], + }, +}; + +export { IMAGE_URL_PICSUM_PHOTOS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/display-name-keyword-definition.js b/packages/core/js/keywords/domain/internet/display-name-keyword-definition.js new file mode 100644 index 00000000..08c460ba --- /dev/null +++ b/packages/core/js/keywords/domain/internet/display-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_DISPLAY_NAME_KEYWORD_DEFINITION = { + keyword: 'internet.displayName', + delegate: { + type: 'faker', + target: 'internet.displayName', + }, + help: { + summary: "Generates a display name using the given person's name as base.", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.displayName', + sampleReturnValue: 'Aaliyah.Bosco', + description: 'Shows the default internet.displayName call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_DISPLAY_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/domain-name-keyword-definition.js b/packages/core/js/keywords/domain/internet/domain-name-keyword-definition.js new file mode 100644 index 00000000..d49102da --- /dev/null +++ b/packages/core/js/keywords/domain/internet/domain-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_DOMAIN_NAME_KEYWORD_DEFINITION = { + keyword: 'internet.domainName', + delegate: { + type: 'faker', + target: 'internet.domainName', + }, + help: { + summary: 'Generates a random domain name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.domainName', + sampleReturnValue: 'inferior-punctuation.biz', + description: 'Shows the default internet.domainName call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_DOMAIN_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/domain-suffix-keyword-definition.js b/packages/core/js/keywords/domain/internet/domain-suffix-keyword-definition.js new file mode 100644 index 00000000..c661734c --- /dev/null +++ b/packages/core/js/keywords/domain/internet/domain-suffix-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_DOMAIN_SUFFIX_KEYWORD_DEFINITION = { + keyword: 'internet.domainSuffix', + delegate: { + type: 'faker', + target: 'internet.domainSuffix', + }, + help: { + summary: 'Returns a random domain suffix.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.domainSuffix', + sampleReturnValue: 'info', + description: 'Shows the default internet.domainSuffix call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_DOMAIN_SUFFIX_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/domain-word-keyword-definition.js b/packages/core/js/keywords/domain/internet/domain-word-keyword-definition.js new file mode 100644 index 00000000..c4a2e22e --- /dev/null +++ b/packages/core/js/keywords/domain/internet/domain-word-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_DOMAIN_WORD_KEYWORD_DEFINITION = { + keyword: 'internet.domainWord', + delegate: { + type: 'faker', + target: 'internet.domainWord', + }, + help: { + summary: 'Generates a random domain word.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.domainWord', + sampleReturnValue: 'inferior-punctuation', + description: 'Shows the default internet.domainWord call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_DOMAIN_WORD_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/email-keyword-definition.js b/packages/core/js/keywords/domain/internet/email-keyword-definition.js new file mode 100644 index 00000000..8b6fa8cc --- /dev/null +++ b/packages/core/js/keywords/domain/internet/email-keyword-definition.js @@ -0,0 +1,72 @@ +import { validateEmailValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_EMAIL_KEYWORD_DEFINITION = { + keyword: 'internet.email', + delegate: { + type: 'faker', + target: 'internet.email', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates data using faker internet email.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateEmailValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.email()', + sampleReturnValue: 'Edwin.Dibbert@hotmail.com', + description: 'Shows internet.email when optional params are omitted.', + }, + { + functionCall: 'internet.email(allowSpecialCharacters=true)', + sampleReturnValue: 'Edwin.Dibbert@hotmail.com', + description: 'Shows internet.email using allowSpecialCharacters.', + }, + { + functionCall: 'internet.email(firstName="Ada")', + sampleReturnValue: 'Ada.Gutmann9@hotmail.com', + description: 'Shows internet.email using firstName.', + }, + { + functionCall: 'internet.email(lastName="Lovelace")', + sampleReturnValue: 'Edwin.Lovelace9@hotmail.com', + description: 'Shows internet.email using lastName.', + }, + { + functionCall: 'internet.email(provider="example.com")', + sampleReturnValue: 'Aaliyah.Bosco@example.com', + description: 'Shows internet.email using provider.', + }, + ], + args: [ + { + name: 'allowSpecialCharacters', + type: 'boolean', + required: false, + description: "Whether special characters such as .!#$%&'*+-/=?^_`{|}~ should be included in the email address.", + }, + { + name: 'firstName', + type: 'string', + required: false, + description: 'The optional first name to use.', + }, + { + name: 'lastName', + type: 'string', + required: false, + description: 'The optional last name to use.', + }, + { + name: 'provider', + type: 'string', + required: false, + description: 'The mail provider domain to use. If not specified, a random free mail provider will be chosen.', + }, + ], + }, +}; + +export { INTERNET_EMAIL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/emoji-keyword-definition.js b/packages/core/js/keywords/domain/internet/emoji-keyword-definition.js new file mode 100644 index 00000000..c95dd75f --- /dev/null +++ b/packages/core/js/keywords/domain/internet/emoji-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_EMOJI_KEYWORD_DEFINITION = { + keyword: 'internet.emoji', + delegate: { + type: 'faker', + target: 'internet.emoji', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random emoji.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.emoji()', + sampleReturnValue: '🥣', + description: 'Shows internet.emoji when optional params are omitted.', + }, + { + functionCall: 'internet.emoji(types=["food"])', + sampleReturnValue: '🍲', + description: 'Shows internet.emoji using types.', + }, + ], + args: [ + { + name: 'types', + type: 'array', + required: false, + description: 'A list of the emoji types that should be used.', + examples: [['food']], + }, + ], + }, +}; + +export { INTERNET_EMOJI_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/example-email-keyword-definition.js b/packages/core/js/keywords/domain/internet/example-email-keyword-definition.js new file mode 100644 index 00000000..6fc8c677 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/example-email-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateExampleEmailValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_EXAMPLE_EMAIL_KEYWORD_DEFINITION = { + keyword: 'internet.exampleEmail', + delegate: { + type: 'faker', + target: 'internet.exampleEmail', + }, + help: { + summary: 'Generates data using faker internet example email.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateExampleEmailValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.exampleEmail', + sampleReturnValue: 'Edwin.Dibbert@example.net', + description: 'Shows the default internet.exampleEmail call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_EXAMPLE_EMAIL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/http-method-keyword-definition.js b/packages/core/js/keywords/domain/internet/http-method-keyword-definition.js new file mode 100644 index 00000000..c152e9ce --- /dev/null +++ b/packages/core/js/keywords/domain/internet/http-method-keyword-definition.js @@ -0,0 +1,69 @@ +import { createPredicateValidator } from '../../../command-help/command-help-validators.js'; +import { INTERNET_HTTP_METHOD_RETURN_TYPE, getInternetHttpMethodPool } from './internet-http-method.js'; + +const validateHttpMethodValue = createPredicateValidator((value, context = {}) => { + const args = Array.isArray(context?.args) + ? context.args + : Array.isArray(context?.parsedArgs) + ? context.parsedArgs + : []; + const availableMethods = getInternetHttpMethodPool({ + commonOnly: args[0] === true, + excludes: typeof args[1] === 'undefined' ? '' : args[1], + }); + + return availableMethods.includes(String(value ?? '').trim()); +}); + +const INTERNET_HTTP_METHOD_KEYWORD_DEFINITION = { + keyword: 'internet.httpMethod', + delegate: { + type: 'custom', + target: 'internet.httpMethod', + }, + help: { + summary: + 'Returns a random HTTP request method from an AnywayData-defined pool of GET, HEAD, POST, PUT, DELETE, PATCH, OPTIONS, TRACE, and CONNECT, with optional filtering for common methods and exclusions.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: '', + validator: validateHttpMethodValue, + returnType: INTERNET_HTTP_METHOD_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.httpMethod()', + sampleReturnValue: 'PUT', + description: 'Shows internet.httpMethod choosing from the full HTTP method set by default.', + }, + { + functionCall: 'internet.httpMethod(commonOnly=true)', + sampleReturnValue: 'POST', + description: 'Shows internet.httpMethod restricted to the common request methods.', + }, + { + functionCall: 'internet.httpMethod(excludes="patch, TRACE")', + sampleReturnValue: 'POST', + description: + 'Shows internet.httpMethod trimming spaces, normalizing case, and excluding methods from the full set.', + }, + ], + args: [ + { + name: 'commonOnly', + type: 'boolean', + required: false, + description: 'When true, limits generation to GET, HEAD, POST, PUT, and DELETE. Defaults to false.', + examples: [true], + }, + { + name: 'excludes', + type: 'string', + required: false, + description: + 'Comma-separated HTTP methods to remove from the candidate set. Values are case-insensitive, surrounding spaces are trimmed, and generation throws if exclusions remove every available method.', + examples: ['patch, TRACE'], + }, + ], + }, +}; + +export { INTERNET_HTTP_METHOD_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/http-status-code-keyword-definition.js b/packages/core/js/keywords/domain/internet/http-status-code-keyword-definition.js new file mode 100644 index 00000000..de5af63d --- /dev/null +++ b/packages/core/js/keywords/domain/internet/http-status-code-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateNumberValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_HTTP_STATUS_CODE_KEYWORD_DEFINITION = { + keyword: 'internet.httpStatusCode', + delegate: { + type: 'faker', + target: 'internet.httpStatusCode', + }, + help: { + summary: 'Generates a random HTTP status code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateNumberValue, + returnType: 'number', + usageExamples: [ + { + functionCall: 'internet.httpStatusCode', + sampleReturnValue: 306, + description: 'Shows the default internet.httpStatusCode call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_HTTP_STATUS_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/internet-http-method.js b/packages/core/js/keywords/domain/internet/internet-http-method.js new file mode 100644 index 00000000..51d91124 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/internet-http-method.js @@ -0,0 +1,55 @@ +const ALL_HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']; +const COMMON_HTTP_METHODS = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE']; +const INTERNET_HTTP_METHOD_RETURN_TYPE = ALL_HTTP_METHODS.join('|'); + +function normalizeHttpMethodToken(value) { + return String(value ?? '') + .trim() + .toUpperCase(); +} + +function parseExcludedHttpMethodsCsv(excludesValue = '') { + return String(excludesValue ?? '') + .split(',') + .map((value) => normalizeHttpMethodToken(value)) + .filter((value) => value.length > 0); +} + +function getInternetHttpMethodPool({ commonOnly = false, excludes = '' } = {}) { + const baseMethods = commonOnly === true ? COMMON_HTTP_METHODS : ALL_HTTP_METHODS; + const excludedMethods = new Set(parseExcludedHttpMethodsCsv(excludes)); + + return baseMethods.filter((method) => !excludedMethods.has(method)); +} + +function selectRandomHttpMethod(methods, executionContext = {}) { + if (executionContext?.faker?.helpers?.arrayElement) { + return executionContext.faker.helpers.arrayElement(methods); + } + + const index = Math.floor(Math.random() * methods.length); + return methods[index]; +} + +function executeCustomInternetHttpMethod(executionContext = {}) { + const args = Array.isArray(executionContext.args) ? executionContext.args : []; + const commonOnly = args[0] === true; + const excludes = typeof args[1] === 'undefined' ? '' : args[1]; + const availableMethods = getInternetHttpMethodPool({ commonOnly, excludes }); + + if (availableMethods.length === 0) { + throw new Error('Invalid argument for excludes: no HTTP methods remain after exclusions.'); + } + + return selectRandomHttpMethod(availableMethods, executionContext); +} + +export { + ALL_HTTP_METHODS, + COMMON_HTTP_METHODS, + INTERNET_HTTP_METHOD_RETURN_TYPE, + executeCustomInternetHttpMethod, + getInternetHttpMethodPool, + normalizeHttpMethodToken, + parseExcludedHttpMethodsCsv, +}; diff --git a/packages/core/js/keywords/domain/internet/internet-keyword-definitions.js b/packages/core/js/keywords/domain/internet/internet-keyword-definitions.js new file mode 100644 index 00000000..2232b90a --- /dev/null +++ b/packages/core/js/keywords/domain/internet/internet-keyword-definitions.js @@ -0,0 +1,47 @@ +import { INTERNET_DISPLAY_NAME_KEYWORD_DEFINITION } from './display-name-keyword-definition.js'; +import { INTERNET_DOMAIN_NAME_KEYWORD_DEFINITION } from './domain-name-keyword-definition.js'; +import { INTERNET_DOMAIN_SUFFIX_KEYWORD_DEFINITION } from './domain-suffix-keyword-definition.js'; +import { INTERNET_DOMAIN_WORD_KEYWORD_DEFINITION } from './domain-word-keyword-definition.js'; +import { INTERNET_EMAIL_KEYWORD_DEFINITION } from './email-keyword-definition.js'; +import { INTERNET_EMOJI_KEYWORD_DEFINITION } from './emoji-keyword-definition.js'; +import { INTERNET_EXAMPLE_EMAIL_KEYWORD_DEFINITION } from './example-email-keyword-definition.js'; +import { INTERNET_HTTP_STATUS_CODE_KEYWORD_DEFINITION } from './http-status-code-keyword-definition.js'; +import { INTERNET_IP_KEYWORD_DEFINITION } from './ip-keyword-definition.js'; +import { INTERNET_IPV4_KEYWORD_DEFINITION } from './ipv4-keyword-definition.js'; +import { INTERNET_IPV6_KEYWORD_DEFINITION } from './ipv6-keyword-definition.js'; +import { INTERNET_JWT_KEYWORD_DEFINITION } from './jwt-keyword-definition.js'; +import { INTERNET_JWT_ALGORITHM_KEYWORD_DEFINITION } from './jwt-algorithm-keyword-definition.js'; +import { INTERNET_MAC_KEYWORD_DEFINITION } from './mac-keyword-definition.js'; +import { INTERNET_PASSWORD_KEYWORD_DEFINITION } from './password-keyword-definition.js'; +import { INTERNET_PORT_KEYWORD_DEFINITION } from './port-keyword-definition.js'; +import { INTERNET_PROTOCOL_KEYWORD_DEFINITION } from './protocol-keyword-definition.js'; +import { INTERNET_URL_KEYWORD_DEFINITION } from './url-keyword-definition.js'; +import { INTERNET_USER_AGENT_KEYWORD_DEFINITION } from './user-agent-keyword-definition.js'; +import { INTERNET_USERNAME_KEYWORD_DEFINITION } from './username-keyword-definition.js'; +import { INTERNET_HTTP_METHOD_KEYWORD_DEFINITION } from './http-method-keyword-definition.js'; + +const INTERNET_KEYWORD_DEFINITIONS = [ + INTERNET_DISPLAY_NAME_KEYWORD_DEFINITION, + INTERNET_DOMAIN_NAME_KEYWORD_DEFINITION, + INTERNET_DOMAIN_SUFFIX_KEYWORD_DEFINITION, + INTERNET_DOMAIN_WORD_KEYWORD_DEFINITION, + INTERNET_EMAIL_KEYWORD_DEFINITION, + INTERNET_EMOJI_KEYWORD_DEFINITION, + INTERNET_EXAMPLE_EMAIL_KEYWORD_DEFINITION, + INTERNET_HTTP_STATUS_CODE_KEYWORD_DEFINITION, + INTERNET_IP_KEYWORD_DEFINITION, + INTERNET_IPV4_KEYWORD_DEFINITION, + INTERNET_IPV6_KEYWORD_DEFINITION, + INTERNET_JWT_KEYWORD_DEFINITION, + INTERNET_JWT_ALGORITHM_KEYWORD_DEFINITION, + INTERNET_MAC_KEYWORD_DEFINITION, + INTERNET_PASSWORD_KEYWORD_DEFINITION, + INTERNET_PORT_KEYWORD_DEFINITION, + INTERNET_PROTOCOL_KEYWORD_DEFINITION, + INTERNET_URL_KEYWORD_DEFINITION, + INTERNET_USER_AGENT_KEYWORD_DEFINITION, + INTERNET_USERNAME_KEYWORD_DEFINITION, + INTERNET_HTTP_METHOD_KEYWORD_DEFINITION, +]; + +export { INTERNET_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/internet/ip-keyword-definition.js b/packages/core/js/keywords/domain/internet/ip-keyword-definition.js new file mode 100644 index 00000000..0de2e9ca --- /dev/null +++ b/packages/core/js/keywords/domain/internet/ip-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateIpValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_IP_KEYWORD_DEFINITION = { + keyword: 'internet.ip', + delegate: { + type: 'faker', + target: 'internet.ip', + }, + help: { + summary: 'Generates a random IPv4 or IPv6 address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateIpValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.ip', + sampleReturnValue: '184.103.47.157', + description: 'Shows the default internet.ip call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_IP_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/ipv4-keyword-definition.js b/packages/core/js/keywords/domain/internet/ipv4-keyword-definition.js new file mode 100644 index 00000000..658aecf4 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/ipv4-keyword-definition.js @@ -0,0 +1,55 @@ +import { validateIpv4Value } from '../../../command-help/command-help-validators.js'; + +const IPV4_NETWORK_TYPE = + 'any|loopback|private-a|private-b|private-c|test-net-1|test-net-2|test-net-3|link-local|multicast'; + +const INTERNET_IPV4_KEYWORD_DEFINITION = { + keyword: 'internet.ipv4', + delegate: { + type: 'faker', + target: 'internet.ipv4', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random IPv4 address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateIpv4Value, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.ipv4()', + sampleReturnValue: '106.193.244.63', + description: 'Shows internet.ipv4 when optional params are omitted.', + }, + { + functionCall: 'internet.ipv4(cidrBlock="192.168.0.0/24")', + sampleReturnValue: '192.168.0.106', + description: 'Shows internet.ipv4 using cidrBlock.', + }, + { + functionCall: 'internet.ipv4(network="private-a")', + sampleReturnValue: '10.106.193.244', + description: 'Shows internet.ipv4 using network.', + }, + ], + args: [ + { + name: 'cidrBlock', + type: 'string', + required: false, + description: 'The optional CIDR block to use. Must be in the format x.x.x.x/y.', + examples: ['192.168.0.0/24'], + }, + { + name: 'network', + type: IPV4_NETWORK_TYPE, + required: false, + description: 'The optional network to use. This is intended as an alias for well-known cidrBlocks.', + examples: ['private-a'], + }, + ], + }, +}; + +export { INTERNET_IPV4_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/ipv6-keyword-definition.js b/packages/core/js/keywords/domain/internet/ipv6-keyword-definition.js new file mode 100644 index 00000000..a2298599 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/ipv6-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateIpv6Value } from '../../../command-help/command-help-validators.js'; + +const INTERNET_IPV6_KEYWORD_DEFINITION = { + keyword: 'internet.ipv6', + delegate: { + type: 'faker', + target: 'internet.ipv6', + }, + help: { + summary: 'Generates a random IPv6 address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateIpv6Value, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.ipv6', + sampleReturnValue: '9f06:3247:8b9f:4d0e:9c34:bf6f:dd10:3d29', + description: 'Shows the default internet.ipv6 call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_IPV6_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/jwt-algorithm-keyword-definition.js b/packages/core/js/keywords/domain/internet/jwt-algorithm-keyword-definition.js new file mode 100644 index 00000000..84f55d3e --- /dev/null +++ b/packages/core/js/keywords/domain/internet/jwt-algorithm-keyword-definition.js @@ -0,0 +1,30 @@ +import { createStringEnumValidator } from '../../../command-help/command-help-validators.js'; + +const JWT_ALGORITHM_RETURN_TYPE = 'ES256|ES384|ES512|HS256|HS384|HS512|PS256|PS384|PS512|RS256|RS384|RS512|none'; + +const validateJwtAlgorithmValue = createStringEnumValidator(JWT_ALGORITHM_RETURN_TYPE.split('|')); + +const INTERNET_JWT_ALGORITHM_KEYWORD_DEFINITION = { + keyword: 'internet.jwtAlgorithm', + delegate: { + type: 'faker', + target: 'internet.jwtAlgorithm', + }, + help: { + summary: 'Generates a random JWT (JSON Web Token) Algorithm.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateJwtAlgorithmValue, + returnType: JWT_ALGORITHM_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.jwtAlgorithm', + sampleReturnValue: 'HS512', + description: 'Shows the default internet.jwtAlgorithm call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_JWT_ALGORITHM_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/jwt-keyword-definition.js b/packages/core/js/keywords/domain/internet/jwt-keyword-definition.js new file mode 100644 index 00000000..07698b10 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/jwt-keyword-definition.js @@ -0,0 +1,65 @@ +import { validateJwtValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_JWT_KEYWORD_DEFINITION = { + keyword: 'internet.jwt', + delegate: { + type: 'faker', + target: 'internet.jwt', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random JWT (JSON Web Token).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateJwtValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.jwt()', + sampleReturnValue: + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTc0Nzc2MSwibmJmIjoxNzY5MzMwODQwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u', + description: 'Shows internet.jwt when optional params are omitted.', + }, + { + functionCall: 'internet.jwt(header={"value":"sample"})', + sampleReturnValue: + 'eyJ2YWx1ZSI6InNhbXBsZSJ9.eyJpYXQiOjE3ODE3NDc3NTAsImV4cCI6MTc4MTgwOTk4NywibmJmIjoxNzUwMjY5MzM0LCJpc3MiOiJEaWJiZXJ0IC0gTGluZCIsInN1YiI6IjZhM2UwYTY4LTIzY2YtNDViZS1iZTEwLTJlMTZmOGI1YWQwYyIsImF1ZCI6ImI0YzE3ZTQ0LTIwYTMtNDQ3MC04OTI5LWIxNmI2MDhhOGY5ZSIsImp0aSI6IjJjNjJlNWNiLWU5YzUtNDRlNi1iZmE5LTFmNzk2M2U5MDk1OCJ9.mUC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914', + description: 'Shows internet.jwt using header.', + }, + { + functionCall: 'internet.jwt(payload={"value":"sample"})', + sampleReturnValue: + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ2YWx1ZSI6InNhbXBsZSJ9.0i95bloxpGcS1Fpy8cNYjGST52aS6qXxGjGP1KZKhM6rUih81Gdgu3z9AH6pHp3x', + description: 'Shows internet.jwt using payload.', + }, + { + functionCall: 'internet.jwt(refDate=1718755200000)', + sampleReturnValue: + 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE3MTg3MDQ4MzAsImV4cCI6MTcxODcwNDg0MSwibmJmIjoxNzA2Mjg3OTIwLCJpc3MiOiJIZWdtYW5uIC0gSm9obnN0b24iLCJzdWIiOiJhM2UwYTY4Mi0zY2Y1LTRiZWUtYTEwMi1lMTZmOGI1YWQwY2YiLCJhdWQiOiI0YzE3ZTQ0Mi0wYTM0LTQ3MDktODI5Yi0xNmI2MDhhOGY5ZTIiLCJqdGkiOiJjNjJlNWNiZS05YzU0LTRlNmYtOWE5MS1mNzk2M2U5MDk1OGUifQ.UC0VGZa8VH4KKVI7111fRxyQ7hAYy1NeOoRKy83726dIy04XzcfKcAYQeuCP914u', + description: 'Shows internet.jwt using refDate.', + }, + ], + args: [ + { + name: 'header', + type: 'object', + required: false, + description: 'The header to use for the token. If present, it will replace any default values.', + }, + { + name: 'payload', + type: 'object', + required: false, + description: 'The payload to use for the token. If present, it will replace any default values.', + }, + { + name: 'refDate', + type: 'number', + required: false, + description: 'Reference date as a Unix timestamp in milliseconds since epoch used as the generation anchor.', + }, + ], + }, +}; + +export { INTERNET_JWT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/mac-keyword-definition.js b/packages/core/js/keywords/domain/internet/mac-keyword-definition.js new file mode 100644 index 00000000..a0821ae1 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/mac-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateMacAddressValue } from '../../../command-help/command-help-validators.js'; + +const MAC_SEPARATOR_TYPE = '":"|"-"|""'; + +const INTERNET_MAC_KEYWORD_DEFINITION = { + keyword: 'internet.mac', + delegate: { + type: 'faker', + target: 'internet.mac', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random mac address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateMacAddressValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.mac()', + sampleReturnValue: '6b:04:21:25:68:6a', + description: 'Shows internet.mac when optional params are omitted.', + }, + { + functionCall: 'internet.mac(separator="-")', + sampleReturnValue: '6b-04-21-25-68-6a', + description: 'Shows internet.mac using separator.', + }, + ], + args: [ + { + name: 'separator', + type: MAC_SEPARATOR_TYPE, + required: false, + description: "The optional separator to use. Can be either ':', '-' or ''.", + }, + ], + }, +}; + +export { INTERNET_MAC_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/password-keyword-definition.js b/packages/core/js/keywords/domain/internet/password-keyword-definition.js new file mode 100644 index 00000000..ccbb3a23 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/password-keyword-definition.js @@ -0,0 +1,92 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_PASSWORD_KEYWORD_DEFINITION = { + keyword: 'internet.password', + delegate: { + type: 'faker', + target: 'internet.password', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: + 'Generates a random password-like string. Do not use this method for generating actual passwords for users.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.password()', + sampleReturnValue: 'He2AFTHb4tHV3mb', + description: 'Shows internet.password with all optional params omitted.', + }, + { + functionCall: 'internet.password(length=12)', + sampleReturnValue: 'He2AFTHb4tHV', + description: 'Shows internet.password using only a custom length.', + }, + { + functionCall: 'internet.password(memorable=true)', + sampleReturnValue: 'hefutisawetikub', + description: 'Shows internet.password using only the memorable flag.', + }, + { + functionCall: 'internet.password(length=12, memorable=true)', + sampleReturnValue: 'hefutisaweti', + description: 'Shows internet.password generating a memorable password-like string.', + }, + { + functionCall: 'internet.password(pattern="[A-Z]")', + sampleReturnValue: 'HAFTHHVISKOWXHH', + description: 'Shows internet.password constrained only by a regex-style pattern.', + }, + { + functionCall: 'internet.password(length=12, memorable=false, pattern="[A-Z]")', + sampleReturnValue: 'HAFTHHVISKOW', + description: 'Shows internet.password constrained by a regex-style pattern.', + }, + { + functionCall: 'internet.password(prefix="#")', + sampleReturnValue: '#He2AFTHb4tHV3m', + description: 'Shows internet.password using only the prefix option.', + }, + { + functionCall: 'internet.password(length=12, memorable=false, pattern="[A-Z]", prefix="#")', + sampleReturnValue: '#HAFTHHVISKO', + description: 'Shows internet.password using length, pattern, and prefix together.', + }, + ], + args: [ + { + name: 'length', + type: 'integer', + required: false, + description: 'The length of the password to generate.', + examples: [12], + }, + { + name: 'memorable', + type: 'boolean', + required: false, + description: 'Whether the generated password should be memorable.', + examples: [true], + }, + { + name: 'pattern', + type: 'regexp', + required: false, + description: 'The pattern that all chars should match. This option will be ignored, if memorable is true.', + examples: ['[A-Z]'], + }, + { + name: 'prefix', + type: 'string', + required: false, + description: 'The prefix to use.', + examples: ['#'], + }, + ], + }, +}; + +export { INTERNET_PASSWORD_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/port-keyword-definition.js b/packages/core/js/keywords/domain/internet/port-keyword-definition.js new file mode 100644 index 00000000..30c3f7af --- /dev/null +++ b/packages/core/js/keywords/domain/internet/port-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateNumberValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_PORT_KEYWORD_DEFINITION = { + keyword: 'internet.port', + delegate: { + type: 'faker', + target: 'internet.port', + }, + help: { + summary: 'Generates a random port number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateNumberValue, + returnType: 'number', + usageExamples: [ + { + functionCall: 'internet.port', + sampleReturnValue: 27329, + description: 'Shows the default internet.port call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_PORT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/protocol-keyword-definition.js b/packages/core/js/keywords/domain/internet/protocol-keyword-definition.js new file mode 100644 index 00000000..6f933270 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/protocol-keyword-definition.js @@ -0,0 +1,30 @@ +import { createStringEnumValidator } from '../../../command-help/command-help-validators.js'; + +const HTTP_PROTOCOL_RETURN_TYPE = 'http|https'; + +const validateProtocolValue = createStringEnumValidator(HTTP_PROTOCOL_RETURN_TYPE.split('|')); + +const INTERNET_PROTOCOL_KEYWORD_DEFINITION = { + keyword: 'internet.protocol', + delegate: { + type: 'faker', + target: 'internet.protocol', + }, + help: { + summary: 'Returns a random web protocol. Either `http` or `https`.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateProtocolValue, + returnType: HTTP_PROTOCOL_RETURN_TYPE, + usageExamples: [ + { + functionCall: 'internet.protocol', + sampleReturnValue: 'http', + description: 'Shows the default internet.protocol call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_PROTOCOL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/url-keyword-definition.js b/packages/core/js/keywords/domain/internet/url-keyword-definition.js new file mode 100644 index 00000000..804a2ce4 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/url-keyword-definition.js @@ -0,0 +1,52 @@ +import { validateUrlValue } from '../../../command-help/command-help-validators.js'; + +const HTTP_PROTOCOL_RETURN_TYPE = 'http|https'; + +const INTERNET_URL_KEYWORD_DEFINITION = { + keyword: 'internet.url', + delegate: { + type: 'faker', + target: 'internet.url', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random http(s) url.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateUrlValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.url()', + sampleReturnValue: 'https://self-reliant-cd.com/', + description: 'Shows internet.url when optional params are omitted.', + }, + { + functionCall: 'internet.url(appendSlash=true)', + sampleReturnValue: 'https://inferior-punctuation.biz/', + description: 'Shows internet.url using appendSlash.', + }, + { + functionCall: 'internet.url(protocol="https")', + sampleReturnValue: 'https://self-reliant-cd.com/', + description: 'Shows internet.url using protocol.', + }, + ], + args: [ + { + name: 'appendSlash', + type: 'boolean', + required: false, + description: 'Whether to append a slash to the end of the url (path).', + }, + { + name: 'protocol', + type: HTTP_PROTOCOL_RETURN_TYPE, + required: false, + description: 'The protocol to use.', + }, + ], + }, +}; + +export { INTERNET_URL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/user-agent-keyword-definition.js b/packages/core/js/keywords/domain/internet/user-agent-keyword-definition.js new file mode 100644 index 00000000..7fe20e6d --- /dev/null +++ b/packages/core/js/keywords/domain/internet/user-agent-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_USER_AGENT_KEYWORD_DEFINITION = { + keyword: 'internet.userAgent', + delegate: { + type: 'faker', + target: 'internet.userAgent', + }, + help: { + summary: 'Generates a random user agent string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.userAgent', + sampleReturnValue: + 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/586.0.30 (KHTML, like Gecko) Version/16.1 Safari/546.9.18', + description: 'Shows the default internet.userAgent call.', + }, + ], + args: [], + }, +}; + +export { INTERNET_USER_AGENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/internet/username-keyword-definition.js b/packages/core/js/keywords/domain/internet/username-keyword-definition.js new file mode 100644 index 00000000..ebf70d92 --- /dev/null +++ b/packages/core/js/keywords/domain/internet/username-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const INTERNET_USERNAME_KEYWORD_DEFINITION = { + keyword: 'internet.username', + delegate: { + type: 'faker', + target: 'internet.username', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: "Generates a username using the given person's name as base.", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/internet', + fakerDocsUrl: 'https://fakerjs.dev/api/internet', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'internet.username()', + sampleReturnValue: 'Aaliyah.Bosco', + description: 'Shows internet.username when optional params are omitted.', + }, + { + functionCall: 'internet.username(firstName="Ada")', + sampleReturnValue: 'Ada.Abbott14', + description: 'Shows internet.username using firstName.', + }, + { + functionCall: 'internet.username(lastName="Lovelace")', + sampleReturnValue: 'Aaliyah.Lovelace14', + description: 'Shows internet.username using lastName.', + }, + ], + args: [ + { + name: 'firstName', + type: 'string', + required: false, + description: 'The optional first name to use.', + }, + { + name: 'lastName', + type: 'string', + required: false, + description: 'The optional last name to use.', + }, + ], + }, +}; + +export { INTERNET_USERNAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/literal/literal-keyword-definitions.js b/packages/core/js/keywords/domain/literal/literal-keyword-definitions.js new file mode 100644 index 00000000..a4dc3c1d --- /dev/null +++ b/packages/core/js/keywords/domain/literal/literal-keyword-definitions.js @@ -0,0 +1,5 @@ +import { LITERAL_VALUE_KEYWORD_DEFINITION } from './value-keyword-definition.js'; + +const LITERAL_KEYWORD_DEFINITIONS = [LITERAL_VALUE_KEYWORD_DEFINITION]; + +export { LITERAL_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/literal/value-keyword-definition.js b/packages/core/js/keywords/domain/literal/value-keyword-definition.js new file mode 100644 index 00000000..a590d5a1 --- /dev/null +++ b/packages/core/js/keywords/domain/literal/value-keyword-definition.js @@ -0,0 +1,48 @@ +import { validateLiteralValue } from '../../../command-help/command-help-validators.js'; + +const LITERAL_VALUE_KEYWORD_DEFINITION = { + keyword: 'literal.value', + delegate: { + type: 'custom', + target: 'literal.value', + }, + help: { + summary: 'Return the literal value provided by the caller.', + docsUrl: 'https://anywaydata.com/docs/category/generating-data', + fakerDocsUrl: '', + validator: validateLiteralValue, + returnType: 'string|number|boolean', + usageExamples: [ + { + functionCall: 'literal.value(value="Pending")', + sampleReturnValue: 'Pending', + description: 'Shows literal.value in use.', + }, + { + functionCall: 'literal.value(value="")', + sampleReturnValue: '', + description: 'Shows literal.value in use.', + }, + { + functionCall: 'literal.value()', + sampleReturnValue: '', + description: 'Shows literal.value when optional params are omitted.', + }, + { + functionCall: 'literal.value(value=1)', + sampleReturnValue: 1, + description: 'Shows literal.value using value.', + }, + ], + args: [ + { + name: 'value', + type: 'string|number|boolean', + required: false, + description: 'Literal value to return. When omitted, defaults to an empty string.', + }, + ], + }, +}; + +export { LITERAL_VALUE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/building-number-keyword-definition.js b/packages/core/js/keywords/domain/location/building-number-keyword-definition.js new file mode 100644 index 00000000..82ca1c0e --- /dev/null +++ b/packages/core/js/keywords/domain/location/building-number-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_BUILDING_NUMBER_KEYWORD_DEFINITION = { + keyword: 'location.buildingNumber', + delegate: { + type: 'faker', + target: 'location.buildingNumber', + }, + help: { + summary: 'Generates a random building number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.buildingNumber', + sampleReturnValue: '7031', + description: 'Shows the default location.buildingNumber call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_BUILDING_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/cardinal-direction-keyword-definition.js b/packages/core/js/keywords/domain/location/cardinal-direction-keyword-definition.js new file mode 100644 index 00000000..f7f44b2f --- /dev/null +++ b/packages/core/js/keywords/domain/location/cardinal-direction-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_CARDINAL_DIRECTION_KEYWORD_DEFINITION = { + keyword: 'location.cardinalDirection', + delegate: { + type: 'faker', + target: 'location.cardinalDirection', + }, + help: { + summary: 'Returns a random cardinal direction (north, east, south, west).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.cardinalDirection', + sampleReturnValue: 'East', + description: 'Shows the default location.cardinalDirection call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_CARDINAL_DIRECTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/city-keyword-definition.js b/packages/core/js/keywords/domain/location/city-keyword-definition.js new file mode 100644 index 00000000..f3760625 --- /dev/null +++ b/packages/core/js/keywords/domain/location/city-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_CITY_KEYWORD_DEFINITION = { + keyword: 'location.city', + delegate: { + type: 'faker', + target: 'location.city', + }, + help: { + summary: 'Generates a random localized city name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.city', + sampleReturnValue: 'Edwinville', + description: 'Shows the default location.city call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_CITY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/continent-keyword-definition.js b/packages/core/js/keywords/domain/location/continent-keyword-definition.js new file mode 100644 index 00000000..d9f3eff8 --- /dev/null +++ b/packages/core/js/keywords/domain/location/continent-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_CONTINENT_KEYWORD_DEFINITION = { + keyword: 'location.continent', + delegate: { + type: 'faker', + target: 'location.continent', + }, + help: { + summary: 'Returns a random continent name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.continent', + sampleReturnValue: 'Asia', + description: 'Shows the default location.continent call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_CONTINENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/country-code-keyword-definition.js b/packages/core/js/keywords/domain/location/country-code-keyword-definition.js new file mode 100644 index 00000000..fc3b2b14 --- /dev/null +++ b/packages/core/js/keywords/domain/location/country-code-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateCountryCodeValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_COUNTRY_CODE_KEYWORD_DEFINITION = { + keyword: 'location.countryCode', + delegate: { + type: 'faker', + target: 'location.countryCode', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random ISO_3166-1 country code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateCountryCodeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.countryCode()', + sampleReturnValue: 'IM', + description: 'Shows location.countryCode when optional params are omitted.', + }, + { + functionCall: 'location.countryCode(variant="alpha-3")', + sampleReturnValue: 'IMN', + description: 'Shows location.countryCode using variant.', + }, + ], + args: [ + { + name: 'variant', + type: 'alpha-2|alpha-3|numeric', + required: false, + description: + "The code to return. Can be either 'alpha-2' (two-letter code), 'alpha-3' (three-letter code) or 'numeric' (numeric code).", + examples: ['alpha-3'], + }, + ], + }, +}; + +export { LOCATION_COUNTRY_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/country-keyword-definition.js b/packages/core/js/keywords/domain/location/country-keyword-definition.js new file mode 100644 index 00000000..949d53d9 --- /dev/null +++ b/packages/core/js/keywords/domain/location/country-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_COUNTRY_KEYWORD_DEFINITION = { + keyword: 'location.country', + delegate: { + type: 'faker', + target: 'location.country', + }, + help: { + summary: 'Returns a random country name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.country', + sampleReturnValue: 'India', + description: 'Shows the default location.country call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_COUNTRY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/county-keyword-definition.js b/packages/core/js/keywords/domain/location/county-keyword-definition.js new file mode 100644 index 00000000..c928e75c --- /dev/null +++ b/packages/core/js/keywords/domain/location/county-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_COUNTY_KEYWORD_DEFINITION = { + keyword: 'location.county', + delegate: { + type: 'faker', + target: 'location.county', + }, + help: { + summary: + "Returns a random localized county, or other equivalent second-level administrative entity for the locale's country such as a district or department.", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.county', + sampleReturnValue: 'Cleveland', + description: 'Shows the default location.county call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_COUNTY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/direction-keyword-definition.js b/packages/core/js/keywords/domain/location/direction-keyword-definition.js new file mode 100644 index 00000000..64f17a7b --- /dev/null +++ b/packages/core/js/keywords/domain/location/direction-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_DIRECTION_KEYWORD_DEFINITION = { + keyword: 'location.direction', + delegate: { + type: 'faker', + target: 'location.direction', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random direction (cardinal and ordinal; northwest, east, etc).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.direction()', + sampleReturnValue: 'West', + description: 'Shows location.direction when optional params are omitted.', + }, + { + functionCall: 'location.direction(abbreviated=true)', + sampleReturnValue: 'W', + description: 'Shows location.direction using abbreviated.', + }, + ], + args: [ + { + name: 'abbreviated', + type: 'boolean', + required: false, + description: + 'If true this will return abbreviated directions (NW, E, etc). Otherwise this will return the long name.', + }, + ], + }, +}; + +export { LOCATION_DIRECTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/language-keyword-definition.js b/packages/core/js/keywords/domain/location/language-keyword-definition.js new file mode 100644 index 00000000..7ecb4554 --- /dev/null +++ b/packages/core/js/keywords/domain/location/language-keyword-definition.js @@ -0,0 +1,30 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_LANGUAGE_KEYWORD_DEFINITION = { + keyword: 'location.language', + delegate: { + type: 'faker', + target: 'location.language', + }, + help: { + summary: 'Returns a random spoken language.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'location.language', + sampleReturnValue: { + name: 'Punjabi', + alpha2: 'pa', + alpha3: 'pan', + }, + description: 'Shows the default location.language call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_LANGUAGE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/latitude-keyword-definition.js b/packages/core/js/keywords/domain/location/latitude-keyword-definition.js new file mode 100644 index 00000000..5321d633 --- /dev/null +++ b/packages/core/js/keywords/domain/location/latitude-keyword-definition.js @@ -0,0 +1,61 @@ +import { validateNumberValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_LATITUDE_KEYWORD_DEFINITION = { + keyword: 'location.latitude', + delegate: { + type: 'faker', + target: 'location.latitude', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random latitude.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateNumberValue, + returnType: 'number', + usageExamples: [ + { + functionCall: 'location.latitude()', + sampleReturnValue: -14.936, + description: 'Shows location.latitude when optional params are omitted.', + }, + { + functionCall: 'location.latitude(max=10, min=1)', + sampleReturnValue: 4.7532, + description: 'Shows location.latitude using min.', + }, + { + functionCall: 'location.latitude(max=5)', + sampleReturnValue: -50.3829, + description: 'Shows location.latitude using max.', + }, + { + functionCall: 'location.latitude(precision=1)', + sampleReturnValue: -14.9, + description: 'Shows location.latitude using precision.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'The lower bound for the latitude to generate.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'The upper bound for the latitude to generate.', + }, + { + name: 'precision', + type: 'number', + required: false, + description: 'The number of decimal points of precision for the latitude.', + }, + ], + }, +}; + +export { LOCATION_LATITUDE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/location-keyword-definitions.js b/packages/core/js/keywords/domain/location/location-keyword-definitions.js new file mode 100644 index 00000000..06590acf --- /dev/null +++ b/packages/core/js/keywords/domain/location/location-keyword-definitions.js @@ -0,0 +1,43 @@ +import { LOCATION_BUILDING_NUMBER_KEYWORD_DEFINITION } from './building-number-keyword-definition.js'; +import { LOCATION_CARDINAL_DIRECTION_KEYWORD_DEFINITION } from './cardinal-direction-keyword-definition.js'; +import { LOCATION_CITY_KEYWORD_DEFINITION } from './city-keyword-definition.js'; +import { LOCATION_CONTINENT_KEYWORD_DEFINITION } from './continent-keyword-definition.js'; +import { LOCATION_COUNTRY_KEYWORD_DEFINITION } from './country-keyword-definition.js'; +import { LOCATION_COUNTRY_CODE_KEYWORD_DEFINITION } from './country-code-keyword-definition.js'; +import { LOCATION_COUNTY_KEYWORD_DEFINITION } from './county-keyword-definition.js'; +import { LOCATION_DIRECTION_KEYWORD_DEFINITION } from './direction-keyword-definition.js'; +import { LOCATION_LANGUAGE_KEYWORD_DEFINITION } from './language-keyword-definition.js'; +import { LOCATION_LATITUDE_KEYWORD_DEFINITION } from './latitude-keyword-definition.js'; +import { LOCATION_LONGITUDE_KEYWORD_DEFINITION } from './longitude-keyword-definition.js'; +import { LOCATION_NEARBY_GPSCOORDINATE_KEYWORD_DEFINITION } from './nearby-gpscoordinate-keyword-definition.js'; +import { LOCATION_ORDINAL_DIRECTION_KEYWORD_DEFINITION } from './ordinal-direction-keyword-definition.js'; +import { LOCATION_SECONDARY_ADDRESS_KEYWORD_DEFINITION } from './secondary-address-keyword-definition.js'; +import { LOCATION_STATE_KEYWORD_DEFINITION } from './state-keyword-definition.js'; +import { LOCATION_STREET_KEYWORD_DEFINITION } from './street-keyword-definition.js'; +import { LOCATION_STREET_ADDRESS_KEYWORD_DEFINITION } from './street-address-keyword-definition.js'; +import { LOCATION_TIME_ZONE_KEYWORD_DEFINITION } from './time-zone-keyword-definition.js'; +import { LOCATION_ZIP_CODE_KEYWORD_DEFINITION } from './zip-code-keyword-definition.js'; + +const LOCATION_KEYWORD_DEFINITIONS = [ + LOCATION_BUILDING_NUMBER_KEYWORD_DEFINITION, + LOCATION_CARDINAL_DIRECTION_KEYWORD_DEFINITION, + LOCATION_CITY_KEYWORD_DEFINITION, + LOCATION_CONTINENT_KEYWORD_DEFINITION, + LOCATION_COUNTRY_KEYWORD_DEFINITION, + LOCATION_COUNTRY_CODE_KEYWORD_DEFINITION, + LOCATION_COUNTY_KEYWORD_DEFINITION, + LOCATION_DIRECTION_KEYWORD_DEFINITION, + LOCATION_LANGUAGE_KEYWORD_DEFINITION, + LOCATION_LATITUDE_KEYWORD_DEFINITION, + LOCATION_LONGITUDE_KEYWORD_DEFINITION, + LOCATION_NEARBY_GPSCOORDINATE_KEYWORD_DEFINITION, + LOCATION_ORDINAL_DIRECTION_KEYWORD_DEFINITION, + LOCATION_SECONDARY_ADDRESS_KEYWORD_DEFINITION, + LOCATION_STATE_KEYWORD_DEFINITION, + LOCATION_STREET_KEYWORD_DEFINITION, + LOCATION_STREET_ADDRESS_KEYWORD_DEFINITION, + LOCATION_TIME_ZONE_KEYWORD_DEFINITION, + LOCATION_ZIP_CODE_KEYWORD_DEFINITION, +]; + +export { LOCATION_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/location/longitude-keyword-definition.js b/packages/core/js/keywords/domain/location/longitude-keyword-definition.js new file mode 100644 index 00000000..e97a3b72 --- /dev/null +++ b/packages/core/js/keywords/domain/location/longitude-keyword-definition.js @@ -0,0 +1,61 @@ +import { validateNumberValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_LONGITUDE_KEYWORD_DEFINITION = { + keyword: 'location.longitude', + delegate: { + type: 'faker', + target: 'location.longitude', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random longitude.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateNumberValue, + returnType: 'number', + usageExamples: [ + { + functionCall: 'location.longitude()', + sampleReturnValue: -29.8721, + description: 'Shows location.longitude when optional params are omitted.', + }, + { + functionCall: 'location.longitude(max=10, min=1)', + sampleReturnValue: 4.7532, + description: 'Shows location.longitude using min.', + }, + { + functionCall: 'location.longitude(max=5)', + sampleReturnValue: -102.8509, + description: 'Shows location.longitude using max.', + }, + { + functionCall: 'location.longitude(precision=1)', + sampleReturnValue: -29.9, + description: 'Shows location.longitude using precision.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'The lower bound for the longitude to generate.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'The upper bound for the longitude to generate.', + }, + { + name: 'precision', + type: 'number', + required: false, + description: 'The number of decimal points of precision for the longitude.', + }, + ], + }, +}; + +export { LOCATION_LONGITUDE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/nearby-gpscoordinate-keyword-definition.js b/packages/core/js/keywords/domain/location/nearby-gpscoordinate-keyword-definition.js new file mode 100644 index 00000000..e4dd3734 --- /dev/null +++ b/packages/core/js/keywords/domain/location/nearby-gpscoordinate-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_NEARBY_GPSCOORDINATE_KEYWORD_DEFINITION = { + keyword: 'location.nearbyGPSCoordinate', + delegate: { + type: 'faker', + target: 'location.nearbyGPSCoordinate', + }, + help: { + summary: 'Generates a random GPS coordinate within the specified radius from the given coordinate.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateArrayValue, + returnType: 'array', + usageExamples: [ + { + functionCall: 'location.nearbyGPSCoordinate', + sampleReturnValue: [-14.936, 79.3168], + description: 'Shows the default location.nearbyGPSCoordinate call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_NEARBY_GPSCOORDINATE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/ordinal-direction-keyword-definition.js b/packages/core/js/keywords/domain/location/ordinal-direction-keyword-definition.js new file mode 100644 index 00000000..fb64c4b7 --- /dev/null +++ b/packages/core/js/keywords/domain/location/ordinal-direction-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_ORDINAL_DIRECTION_KEYWORD_DEFINITION = { + keyword: 'location.ordinalDirection', + delegate: { + type: 'faker', + target: 'location.ordinalDirection', + }, + help: { + summary: 'Returns a random ordinal direction (northwest, southeast, etc).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.ordinalDirection', + sampleReturnValue: 'Northwest', + description: 'Shows the default location.ordinalDirection call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_ORDINAL_DIRECTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/secondary-address-keyword-definition.js b/packages/core/js/keywords/domain/location/secondary-address-keyword-definition.js new file mode 100644 index 00000000..1fb6f8cc --- /dev/null +++ b/packages/core/js/keywords/domain/location/secondary-address-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_SECONDARY_ADDRESS_KEYWORD_DEFINITION = { + keyword: 'location.secondaryAddress', + delegate: { + type: 'faker', + target: 'location.secondaryAddress', + }, + help: { + summary: 'Generates a random localized secondary address. This refers to a specific location at a given address', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.secondaryAddress', + sampleReturnValue: 'Apt. 703', + description: 'Shows the default location.secondaryAddress call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_SECONDARY_ADDRESS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/state-keyword-definition.js b/packages/core/js/keywords/domain/location/state-keyword-definition.js new file mode 100644 index 00000000..1a2abe35 --- /dev/null +++ b/packages/core/js/keywords/domain/location/state-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_STATE_KEYWORD_DEFINITION = { + keyword: 'location.state', + delegate: { + type: 'faker', + target: 'location.state', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: + "Returns a random localized state, or other equivalent first-level administrative entity for the locale's country such as a province or region.", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.state()', + sampleReturnValue: 'Massachusetts', + description: 'Shows location.state when optional params are omitted.', + }, + { + functionCall: 'location.state(abbreviated=true)', + sampleReturnValue: 'MA', + description: 'Shows location.state using abbreviated.', + }, + ], + args: [ + { + name: 'abbreviated', + type: 'boolean', + required: false, + description: + 'If true this will return abbreviated first-level administrative entity names. Otherwise this will return the long name.', + }, + ], + }, +}; + +export { LOCATION_STATE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/street-address-keyword-definition.js b/packages/core/js/keywords/domain/location/street-address-keyword-definition.js new file mode 100644 index 00000000..7421863e --- /dev/null +++ b/packages/core/js/keywords/domain/location/street-address-keyword-definition.js @@ -0,0 +1,39 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_STREET_ADDRESS_KEYWORD_DEFINITION = { + keyword: 'location.streetAddress', + delegate: { + type: 'faker', + target: 'location.streetAddress', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random localized street address.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.streetAddress()', + sampleReturnValue: '7031 Iris Mill', + description: 'Shows location.streetAddress when optional params are omitted.', + }, + { + functionCall: 'location.streetAddress(useFullAddress=true)', + sampleReturnValue: '7031 Iris Mill Apt. 728', + description: 'Shows location.streetAddress using useFullAddress.', + }, + ], + args: [ + { + name: 'useFullAddress', + type: 'boolean', + required: false, + description: 'Whether to expand to a full address including secondary address information.', + }, + ], + }, +}; + +export { LOCATION_STREET_ADDRESS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/street-keyword-definition.js b/packages/core/js/keywords/domain/location/street-keyword-definition.js new file mode 100644 index 00000000..b5fb8817 --- /dev/null +++ b/packages/core/js/keywords/domain/location/street-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_STREET_KEYWORD_DEFINITION = { + keyword: 'location.street', + delegate: { + type: 'faker', + target: 'location.street', + }, + help: { + summary: 'Generates a random localized street name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.street', + sampleReturnValue: 'Gutmann Creek', + description: 'Shows the default location.street call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_STREET_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/time-zone-keyword-definition.js b/packages/core/js/keywords/domain/location/time-zone-keyword-definition.js new file mode 100644 index 00000000..4c4488e4 --- /dev/null +++ b/packages/core/js/keywords/domain/location/time-zone-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateTimeZoneValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_TIME_ZONE_KEYWORD_DEFINITION = { + keyword: 'location.timeZone', + delegate: { + type: 'faker', + target: 'location.timeZone', + }, + help: { + summary: 'Returns a random IANA time zone name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateTimeZoneValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.timeZone', + sampleReturnValue: 'America/Santiago', + description: 'Shows the default location.timeZone call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_TIME_ZONE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/location/zip-code-keyword-definition.js b/packages/core/js/keywords/domain/location/zip-code-keyword-definition.js new file mode 100644 index 00000000..fb5b1ae1 --- /dev/null +++ b/packages/core/js/keywords/domain/location/zip-code-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOCATION_ZIP_CODE_KEYWORD_DEFINITION = { + keyword: 'location.zipCode', + delegate: { + type: 'faker', + target: 'location.zipCode', + }, + help: { + summary: 'Generates data using faker location zip code.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/location', + fakerDocsUrl: 'https://fakerjs.dev/api/location', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'location.zipCode', + sampleReturnValue: '70310', + description: 'Shows the default location.zipCode call.', + }, + ], + args: [], + }, +}; + +export { LOCATION_ZIP_CODE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/lines-keyword-definition.js b/packages/core/js/keywords/domain/lorem/lines-keyword-definition.js new file mode 100644 index 00000000..09d91fe9 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/lines-keyword-definition.js @@ -0,0 +1,97 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_LINES_KEYWORD_DEFINITION = { + keyword: 'lorem.lines', + delegate: { + type: 'faker', + target: 'lorem.lines', + }, + help: { + summary: "Generates the given number lines of lorem separated by `'\\n'`.", + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.lines()', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines when optional params are omitted.', + }, + { + functionCall: 'lorem.lines(max=10, min=1)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.lines using min.', + }, + { + functionCall: 'lorem.lines(max=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using max.', + }, + { + functionCall: 'lorem.lines(lineCount=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using lineCount.', + }, + { + functionCall: 'lorem.lines(lineCountMax=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using lineCountMax.', + }, + { + functionCall: 'lorem.lines(lineCountMin=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.\n' + + 'Stillicidium bardus utrimque acsi spargo cur.\n' + + 'Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows lorem.lines using lineCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'lineCount', + type: 'number', + required: false, + description: 'Exact number of lines to generate.', + }, + { + name: 'lineCountMax', + type: 'number', + required: false, + description: 'The maximum number of lines to generate.', + }, + { + name: 'lineCountMin', + type: 'number', + required: false, + description: 'The minimum number of lines to generate.', + }, + ], + }, +}; + +export { LOREM_LINES_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/lorem-keyword-definitions.js b/packages/core/js/keywords/domain/lorem/lorem-keyword-definitions.js new file mode 100644 index 00000000..51f8f0b6 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/lorem-keyword-definitions.js @@ -0,0 +1,23 @@ +import { LOREM_LINES_KEYWORD_DEFINITION } from './lines-keyword-definition.js'; +import { LOREM_PARAGRAPH_KEYWORD_DEFINITION } from './paragraph-keyword-definition.js'; +import { LOREM_PARAGRAPHS_KEYWORD_DEFINITION } from './paragraphs-keyword-definition.js'; +import { LOREM_SENTENCE_KEYWORD_DEFINITION } from './sentence-keyword-definition.js'; +import { LOREM_SENTENCES_KEYWORD_DEFINITION } from './sentences-keyword-definition.js'; +import { LOREM_SLUG_KEYWORD_DEFINITION } from './slug-keyword-definition.js'; +import { LOREM_TEXT_KEYWORD_DEFINITION } from './text-keyword-definition.js'; +import { LOREM_WORD_KEYWORD_DEFINITION } from './word-keyword-definition.js'; +import { LOREM_WORDS_KEYWORD_DEFINITION } from './words-keyword-definition.js'; + +const LOREM_KEYWORD_DEFINITIONS = [ + LOREM_LINES_KEYWORD_DEFINITION, + LOREM_PARAGRAPH_KEYWORD_DEFINITION, + LOREM_PARAGRAPHS_KEYWORD_DEFINITION, + LOREM_SENTENCE_KEYWORD_DEFINITION, + LOREM_SENTENCES_KEYWORD_DEFINITION, + LOREM_SLUG_KEYWORD_DEFINITION, + LOREM_TEXT_KEYWORD_DEFINITION, + LOREM_WORD_KEYWORD_DEFINITION, + LOREM_WORDS_KEYWORD_DEFINITION, +]; + +export { LOREM_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/lorem/paragraph-keyword-definition.js b/packages/core/js/keywords/domain/lorem/paragraph-keyword-definition.js new file mode 100644 index 00000000..40697f93 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/paragraph-keyword-definition.js @@ -0,0 +1,87 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_PARAGRAPH_KEYWORD_DEFINITION = { + keyword: 'lorem.paragraph', + delegate: { + type: 'faker', + target: 'lorem.paragraph', + }, + help: { + summary: 'Generates a paragraph with the given number of sentences.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.paragraph()', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph when optional params are omitted.', + }, + { + functionCall: 'lorem.paragraph(max=10, min=1)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.paragraph using min.', + }, + { + functionCall: 'lorem.paragraph(max=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using max.', + }, + { + functionCall: 'lorem.paragraph(sentenceCount=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using sentenceCount.', + }, + { + functionCall: 'lorem.paragraph(sentenceCountMax=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using sentenceCountMax.', + }, + { + functionCall: 'lorem.paragraph(sentenceCountMin=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraph using sentenceCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'sentenceCount', + type: 'number', + required: false, + description: 'Number of sentences to generate.', + }, + { + name: 'sentenceCountMax', + type: 'number', + required: false, + description: 'The maximum number of sentences to generate.', + }, + { + name: 'sentenceCountMin', + type: 'number', + required: false, + description: 'The minimum number of sentences to generate.', + }, + ], + }, +}; + +export { LOREM_PARAGRAPH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/paragraphs-keyword-definition.js b/packages/core/js/keywords/domain/lorem/paragraphs-keyword-definition.js new file mode 100644 index 00000000..e54e225d --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/paragraphs-keyword-definition.js @@ -0,0 +1,110 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_PARAGRAPHS_KEYWORD_DEFINITION = { + keyword: 'lorem.paragraphs', + delegate: { + type: 'faker', + target: 'lorem.paragraphs', + }, + help: { + summary: 'Generates the given number of paragraphs.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.paragraphs()', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs when optional params are omitted.', + }, + { + functionCall: 'lorem.paragraphs(max=10, min=1)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.', + description: 'Shows lorem.paragraphs using min.', + }, + { + functionCall: 'lorem.paragraphs(max=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.5Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.5Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using max.', + }, + { + functionCall: 'lorem.paragraphs(paragraphCount=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using paragraphCount.', + }, + { + functionCall: 'lorem.paragraphs(separator="-")', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using separator.', + }, + { + functionCall: 'lorem.paragraphs(paragraphCountMax=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using paragraphCountMax.', + }, + { + functionCall: 'lorem.paragraphs(paragraphCountMin=5)', + sampleReturnValue: + 'Suppellex a cognatus arca aliquam audentia. Crux fugit curatio stillicidium bardus. Acsi spargo cur laboriosam aqua avaritia thesaurus volo combibo stultus.\n' + + 'Varius ago adflicto assentator utrimque altus curiositas vita expedita stultus. Stipes trucido accusamus tandem voveo. Cicuta testimonium amet dedico ver claudeo civis aperio.\n' + + 'Spoliatio beneficium cena. Adnuo natus arca odit subseco ambulo. Suasoria cupio admiratio facilis sonitus dolorum.', + description: 'Shows lorem.paragraphs using paragraphCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'paragraphCount', + type: 'number', + required: false, + description: 'Number of paragraphs to generate.', + }, + { + name: 'separator', + type: 'string', + required: false, + description: 'Separator inserted between generated items.', + }, + { + name: 'paragraphCountMax', + type: 'number', + required: false, + description: 'The maximum number of paragraphs to generate.', + }, + { + name: 'paragraphCountMin', + type: 'number', + required: false, + description: 'The minimum number of paragraphs to generate.', + }, + ], + }, +}; + +export { LOREM_PARAGRAPHS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/sentence-keyword-definition.js b/packages/core/js/keywords/domain/lorem/sentence-keyword-definition.js new file mode 100644 index 00000000..906872d0 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/sentence-keyword-definition.js @@ -0,0 +1,82 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_SENTENCE_KEYWORD_DEFINITION = { + keyword: 'lorem.sentence', + delegate: { + type: 'faker', + target: 'lorem.sentence', + }, + help: { + summary: 'Generates a space separated list of words beginning with a capital letter and ending with a period.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.sentence()', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence when optional params are omitted.', + }, + { + functionCall: 'lorem.sentence(max=10, min=1)', + sampleReturnValue: 'Cur.', + description: 'Shows lorem.sentence using min.', + }, + { + functionCall: 'lorem.sentence(max=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using max.', + }, + { + functionCall: 'lorem.sentence(wordCount=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using wordCount.', + }, + { + functionCall: 'lorem.sentence(wordCountMax=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using wordCountMax.', + }, + { + functionCall: 'lorem.sentence(wordCountMin=5)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentence using wordCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'wordCount', + type: 'number', + required: false, + description: 'Number of words to generate.', + }, + { + name: 'wordCountMax', + type: 'number', + required: false, + description: 'The maximum number of words to generate.', + }, + { + name: 'wordCountMin', + type: 'number', + required: false, + description: 'The minimum number of words to generate.', + }, + ], + }, +}; + +export { LOREM_SENTENCE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/sentences-keyword-definition.js b/packages/core/js/keywords/domain/lorem/sentences-keyword-definition.js new file mode 100644 index 00000000..6467e0e0 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/sentences-keyword-definition.js @@ -0,0 +1,99 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_SENTENCES_KEYWORD_DEFINITION = { + keyword: 'lorem.sentences', + delegate: { + type: 'faker', + target: 'lorem.sentences', + }, + help: { + summary: 'Generates the given number of sentences.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.sentences()', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences when optional params are omitted.', + }, + { + functionCall: 'lorem.sentences(max=10, min=1)', + sampleReturnValue: 'Suppellex a cognatus arca aliquam audentia.', + description: 'Shows lorem.sentences using min.', + }, + { + functionCall: 'lorem.sentences(max=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit.5Stillicidium bardus utrimque acsi spargo cur.5Aqua avaritia thesaurus volo combibo stultus utor.5Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using max.', + }, + { + functionCall: 'lorem.sentences(sentenceCount=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using sentenceCount.', + }, + { + functionCall: 'lorem.sentences(separator="-")', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using separator.', + }, + { + functionCall: 'lorem.sentences(sentenceCountMax=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using sentenceCountMax.', + }, + { + functionCall: 'lorem.sentences(sentenceCountMin=5)', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor. Ago adflicto assentator utrimque altus curiositas vita expedita stultus comedo.', + description: 'Shows lorem.sentences using sentenceCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'sentenceCount', + type: 'number', + required: false, + description: 'Number of sentences to generate.', + }, + { + name: 'separator', + type: 'string', + required: false, + description: 'Separator inserted between generated items.', + }, + { + name: 'sentenceCountMax', + type: 'number', + required: false, + description: 'The maximum number of sentences to generate.', + }, + { + name: 'sentenceCountMin', + type: 'number', + required: false, + description: 'The minimum number of sentences to generate.', + }, + ], + }, +}; + +export { LOREM_SENTENCES_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/slug-keyword-definition.js b/packages/core/js/keywords/domain/lorem/slug-keyword-definition.js new file mode 100644 index 00000000..5fc275ed --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/slug-keyword-definition.js @@ -0,0 +1,82 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_SLUG_KEYWORD_DEFINITION = { + keyword: 'lorem.slug', + delegate: { + type: 'faker', + target: 'lorem.slug', + }, + help: { + summary: 'Generates a slugified text consisting of the given number of hyphen separated words.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.slug()', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug when optional params are omitted.', + }, + { + functionCall: 'lorem.slug(max=10, min=1)', + sampleReturnValue: 'cur', + description: 'Shows lorem.slug using min.', + }, + { + functionCall: 'lorem.slug(max=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using max.', + }, + { + functionCall: 'lorem.slug(wordCount=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using wordCount.', + }, + { + functionCall: 'lorem.slug(wordCountMax=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using wordCountMax.', + }, + { + functionCall: 'lorem.slug(wordCountMin=5)', + sampleReturnValue: 'cur-suppellex-a', + description: 'Shows lorem.slug using wordCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'wordCount', + type: 'number', + required: false, + description: 'Number of words to generate.', + }, + { + name: 'wordCountMax', + type: 'number', + required: false, + description: 'The maximum number of words to generate.', + }, + { + name: 'wordCountMin', + type: 'number', + required: false, + description: 'The minimum number of words to generate.', + }, + ], + }, +}; + +export { LOREM_SLUG_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/text-keyword-definition.js b/packages/core/js/keywords/domain/lorem/text-keyword-definition.js new file mode 100644 index 00000000..4e9fe29b --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/text-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_TEXT_KEYWORD_DEFINITION = { + keyword: 'lorem.text', + delegate: { + type: 'faker', + target: 'lorem.text', + }, + help: { + summary: 'Generates a random text based on a random lorem method.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.text', + sampleReturnValue: + 'A cognatus arca aliquam audentia coniuratio crux fugit. Stillicidium bardus utrimque acsi spargo cur. Aqua avaritia thesaurus volo combibo stultus utor.', + description: 'Shows the default lorem.text call.', + }, + ], + args: [], + }, +}; + +export { LOREM_TEXT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/word-keyword-definition.js b/packages/core/js/keywords/domain/lorem/word-keyword-definition.js new file mode 100644 index 00000000..e243cb92 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/word-keyword-definition.js @@ -0,0 +1,75 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_WORD_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const LOREM_WORD_KEYWORD_DEFINITION = { + keyword: 'lorem.word', + delegate: { + type: 'faker', + target: 'lorem.word', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a word of a specified length.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.word()', + sampleReturnValue: 'cur', + description: 'Shows lorem.word when optional params are omitted.', + }, + { + functionCall: 'lorem.word(max=10, min=1)', + sampleReturnValue: 'cur', + description: 'Shows lorem.word using min.', + }, + { + functionCall: 'lorem.word(max=5)', + sampleReturnValue: 'cur', + description: 'Shows lorem.word using max.', + }, + { + functionCall: 'lorem.word(length=5)', + sampleReturnValue: 'curvo', + description: 'Shows lorem.word using length.', + }, + { + functionCall: 'lorem.word(strategy="any-length")', + sampleReturnValue: 'cur', + description: 'Shows lorem.word using strategy.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum word length when generating a ranged length.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum word length when generating a ranged length.', + }, + { + name: 'length', + type: 'number', + required: false, + description: 'Exact word length to generate.', + }, + { + name: 'strategy', + type: LOREM_WORD_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { LOREM_WORD_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/lorem/words-keyword-definition.js b/packages/core/js/keywords/domain/lorem/words-keyword-definition.js new file mode 100644 index 00000000..2f6f97c6 --- /dev/null +++ b/packages/core/js/keywords/domain/lorem/words-keyword-definition.js @@ -0,0 +1,82 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const LOREM_WORDS_KEYWORD_DEFINITION = { + keyword: 'lorem.words', + delegate: { + type: 'faker', + target: 'lorem.words', + }, + help: { + summary: 'Generates a space separated list of words.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/lorem', + fakerDocsUrl: 'https://fakerjs.dev/api/lorem', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'lorem.words()', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words when optional params are omitted.', + }, + { + functionCall: 'lorem.words(max=10, min=1)', + sampleReturnValue: 'cur', + description: 'Shows lorem.words using min.', + }, + { + functionCall: 'lorem.words(max=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using max.', + }, + { + functionCall: 'lorem.words(wordCount=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using wordCount.', + }, + { + functionCall: 'lorem.words(wordCountMax=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using wordCountMax.', + }, + { + functionCall: 'lorem.words(wordCountMin=5)', + sampleReturnValue: 'cur suppellex a', + description: 'Shows lorem.words using wordCountMin.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'wordCount', + type: 'number', + required: false, + description: 'Number of words to generate.', + }, + { + name: 'wordCountMax', + type: 'number', + required: false, + description: 'The maximum number of words to generate.', + }, + { + name: 'wordCountMin', + type: 'number', + required: false, + description: 'The minimum number of words to generate.', + }, + ], + }, +}; + +export { LOREM_WORDS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/music/album-keyword-definition.js b/packages/core/js/keywords/domain/music/album-keyword-definition.js new file mode 100644 index 00000000..ffcf4c22 --- /dev/null +++ b/packages/core/js/keywords/domain/music/album-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const MUSIC_ALBUM_KEYWORD_DEFINITION = { + keyword: 'music.album', + delegate: { + type: 'faker', + target: 'music.album', + }, + help: { + summary: 'Returns a random album name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'music.album', + sampleReturnValue: 'I Never Loved A Man The Way I Love You', + description: 'Shows the default music.album call.', + }, + ], + args: [], + }, +}; + +export { MUSIC_ALBUM_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/music/artist-keyword-definition.js b/packages/core/js/keywords/domain/music/artist-keyword-definition.js new file mode 100644 index 00000000..9458cbfb --- /dev/null +++ b/packages/core/js/keywords/domain/music/artist-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const MUSIC_ARTIST_KEYWORD_DEFINITION = { + keyword: 'music.artist', + delegate: { + type: 'faker', + target: 'music.artist', + }, + help: { + summary: 'Returns a random artist name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'music.artist', + sampleReturnValue: 'Jon Bellion', + description: 'Shows the default music.artist call.', + }, + ], + args: [], + }, +}; + +export { MUSIC_ARTIST_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/music/genre-keyword-definition.js b/packages/core/js/keywords/domain/music/genre-keyword-definition.js new file mode 100644 index 00000000..9ff052fe --- /dev/null +++ b/packages/core/js/keywords/domain/music/genre-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const MUSIC_GENRE_KEYWORD_DEFINITION = { + keyword: 'music.genre', + delegate: { + type: 'faker', + target: 'music.genre', + }, + help: { + summary: 'Returns a random music genre.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'music.genre', + sampleReturnValue: 'Hard Bop', + description: 'Shows the default music.genre call.', + }, + ], + args: [], + }, +}; + +export { MUSIC_GENRE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/music/music-keyword-definitions.js b/packages/core/js/keywords/domain/music/music-keyword-definitions.js new file mode 100644 index 00000000..ee140de0 --- /dev/null +++ b/packages/core/js/keywords/domain/music/music-keyword-definitions.js @@ -0,0 +1,13 @@ +import { MUSIC_ALBUM_KEYWORD_DEFINITION } from './album-keyword-definition.js'; +import { MUSIC_ARTIST_KEYWORD_DEFINITION } from './artist-keyword-definition.js'; +import { MUSIC_GENRE_KEYWORD_DEFINITION } from './genre-keyword-definition.js'; +import { MUSIC_SONG_NAME_KEYWORD_DEFINITION } from './song-name-keyword-definition.js'; + +const MUSIC_KEYWORD_DEFINITIONS = [ + MUSIC_ALBUM_KEYWORD_DEFINITION, + MUSIC_ARTIST_KEYWORD_DEFINITION, + MUSIC_GENRE_KEYWORD_DEFINITION, + MUSIC_SONG_NAME_KEYWORD_DEFINITION, +]; + +export { MUSIC_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/music/song-name-keyword-definition.js b/packages/core/js/keywords/domain/music/song-name-keyword-definition.js new file mode 100644 index 00000000..dfc51369 --- /dev/null +++ b/packages/core/js/keywords/domain/music/song-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const MUSIC_SONG_NAME_KEYWORD_DEFINITION = { + keyword: 'music.songName', + delegate: { + type: 'faker', + target: 'music.songName', + }, + help: { + summary: 'Returns a random song name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/music', + fakerDocsUrl: 'https://fakerjs.dev/api/music', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'music.songName', + sampleReturnValue: 'Imagine', + description: 'Shows the default music.songName call.', + }, + ], + args: [], + }, +}; + +export { MUSIC_SONG_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/big-int-keyword-definition.js b/packages/core/js/keywords/domain/number/big-int-keyword-definition.js new file mode 100644 index 00000000..9aa23184 --- /dev/null +++ b/packages/core/js/keywords/domain/number/big-int-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateIntegerValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_BIG_INT_KEYWORD_DEFINITION = { + keyword: 'number.bigInt', + delegate: { + type: 'faker', + target: 'number.bigInt', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a BigInt number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateIntegerValue, + returnType: 'integer', + usageExamples: [ + { + functionCall: 'number.bigInt()', + sampleReturnValue: 703101335462806n, + description: 'Shows number.bigInt with all optional params omitted.', + }, + { + functionCall: 'number.bigInt(value=true)', + sampleReturnValue: 703101335462806n, + description: 'Shows number.bigInt using a boolean base value.', + }, + ], + args: [ + { + name: 'value', + type: 'bigint|number|string|boolean', + required: false, + description: + 'Base value used for generation. Supports bigint, number, string, or boolean inputs. For range constraints use min, max, and multipleOf.', + examples: [true], + }, + ], + }, +}; + +export { NUMBER_BIG_INT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/binary-keyword-definition.js b/packages/core/js/keywords/domain/number/binary-keyword-definition.js new file mode 100644 index 00000000..a0a66c0f --- /dev/null +++ b/packages/core/js/keywords/domain/number/binary-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_BINARY_KEYWORD_DEFINITION = { + keyword: 'number.binary', + delegate: { + type: 'faker', + target: 'number.binary', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a binary string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'number.binary()', + sampleReturnValue: '0', + description: 'Shows number.binary when optional params are omitted.', + }, + { + functionCall: 'number.binary(max=5)', + sampleReturnValue: '10', + description: 'Shows number.binary using max.', + }, + { + functionCall: 'number.binary(max=10, min=1)', + sampleReturnValue: '101', + description: 'Shows number.binary using min.', + }, + ], + args: [ + { + name: 'max', + type: 'number', + required: false, + description: 'Upper bound for generated number.', + }, + { + name: 'min', + type: 'number', + required: false, + description: 'Lower bound for generated number.', + }, + ], + }, +}; + +export { NUMBER_BINARY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/float-keyword-definition.js b/packages/core/js/keywords/domain/number/float-keyword-definition.js new file mode 100644 index 00000000..4416b14b --- /dev/null +++ b/packages/core/js/keywords/domain/number/float-keyword-definition.js @@ -0,0 +1,88 @@ +import { validateNumberValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_FLOAT_KEYWORD_DEFINITION = { + keyword: 'number.float', + delegate: { + type: 'faker', + target: 'number.float', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: + 'Returns a single random floating-point number, by default between `0.0` and `1.0`. To change the range, pass a `min` and `max` value. To limit the number of decimal places, pass a `multipleOf` or `fractionDigits` parameter.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateNumberValue, + returnType: 'number', + usageExamples: [ + { + functionCall: 'number.float()', + sampleReturnValue: 0.417022004702574, + description: 'Shows number.float with all optional params omitted.', + }, + { + functionCall: 'number.float(fractionDigits=2)', + sampleReturnValue: 0.42, + description: 'Shows number.float rounding using only fractionDigits.', + }, + { + functionCall: 'number.float(multipleOf=0.5)', + sampleReturnValue: 0.5, + description: 'Shows number.float constrained using only multipleOf.', + }, + { + functionCall: 'number.float(min=1, max=10)', + sampleReturnValue: 4.753198042323167, + description: 'Shows number.float with an explicit numeric range.', + }, + { + functionCall: 'number.float(min=1, max=10, fractionDigits=2)', + sampleReturnValue: 4.75, + description: 'Shows number.float rounding with fractionDigits.', + }, + { + functionCall: 'number.float(min=1, max=10, multipleOf=0.5)', + sampleReturnValue: 4.5, + description: 'Shows number.float constrained to a multiple.', + }, + { + functionCall: 'number.float(max=10)', + sampleReturnValue: 4.17022004702574, + description: 'Shows number.float using only an upper bound.', + }, + ], + args: [ + { + name: 'fractionDigits', + type: 'integer', + required: false, + description: + 'The maximum number of digits to appear after the decimal point, for example 2 will round to 2 decimal points. Only one of multipleOf or fractionDigits should be passed.', + examples: [2], + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Upper bound for generated number, exclusive, unless multipleOf or fractionDigits are passed.', + }, + { + name: 'min', + type: 'number', + required: false, + description: 'Lower bound for generated number, inclusive.', + examples: [1], + }, + { + name: 'multipleOf', + type: 'number', + required: false, + description: + 'The generated number will be a multiple of this parameter. Only one of multipleOf or fractionDigits should be passed.', + examples: [0.5], + }, + ], + }, +}; + +export { NUMBER_FLOAT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/hex-keyword-definition.js b/packages/core/js/keywords/domain/number/hex-keyword-definition.js new file mode 100644 index 00000000..26dab86c --- /dev/null +++ b/packages/core/js/keywords/domain/number/hex-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_HEX_KEYWORD_DEFINITION = { + keyword: 'number.hex', + delegate: { + type: 'faker', + target: 'number.hex', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a lowercase hexadecimal number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'number.hex()', + sampleReturnValue: '6', + description: 'Shows number.hex when optional params are omitted.', + }, + { + functionCall: 'number.hex(max=10, min=1)', + sampleReturnValue: '5', + description: 'Shows number.hex using min.', + }, + { + functionCall: 'number.hex(max=5)', + sampleReturnValue: '2', + description: 'Shows number.hex using max.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + ], + }, +}; + +export { NUMBER_HEX_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/int-keyword-definition.js b/packages/core/js/keywords/domain/number/int-keyword-definition.js new file mode 100644 index 00000000..71c05073 --- /dev/null +++ b/packages/core/js/keywords/domain/number/int-keyword-definition.js @@ -0,0 +1,61 @@ +import { validateIntegerValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_INT_KEYWORD_DEFINITION = { + keyword: 'number.int', + delegate: { + type: 'faker', + target: 'number.int', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a single random integer between zero and the given max value or the given range.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateIntegerValue, + returnType: 'integer', + usageExamples: [ + { + functionCall: 'number.int()', + sampleReturnValue: 3756200289967619, + description: 'Shows number.int when optional params are omitted.', + }, + { + functionCall: 'number.int(max=10, min=1)', + sampleReturnValue: 5, + description: 'Shows number.int using min.', + }, + { + functionCall: 'number.int(max=5)', + sampleReturnValue: 2, + description: 'Shows number.int using max.', + }, + { + functionCall: 'number.int(multipleOf=1)', + sampleReturnValue: 3756200289967619, + description: 'Shows number.int using multipleOf.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Optional minimum integer.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Optional maximum integer.', + }, + { + name: 'multipleOf', + type: 'number', + required: false, + description: 'Generated number will be a multiple of the given integer.', + }, + ], + }, +}; + +export { NUMBER_INT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/number-keyword-definitions.js b/packages/core/js/keywords/domain/number/number-keyword-definitions.js new file mode 100644 index 00000000..1f5f7724 --- /dev/null +++ b/packages/core/js/keywords/domain/number/number-keyword-definitions.js @@ -0,0 +1,19 @@ +import { NUMBER_BIG_INT_KEYWORD_DEFINITION } from './big-int-keyword-definition.js'; +import { NUMBER_BINARY_KEYWORD_DEFINITION } from './binary-keyword-definition.js'; +import { NUMBER_FLOAT_KEYWORD_DEFINITION } from './float-keyword-definition.js'; +import { NUMBER_HEX_KEYWORD_DEFINITION } from './hex-keyword-definition.js'; +import { NUMBER_INT_KEYWORD_DEFINITION } from './int-keyword-definition.js'; +import { NUMBER_OCTAL_KEYWORD_DEFINITION } from './octal-keyword-definition.js'; +import { NUMBER_ROMAN_NUMERAL_KEYWORD_DEFINITION } from './roman-numeral-keyword-definition.js'; + +const NUMBER_KEYWORD_DEFINITIONS = [ + NUMBER_BIG_INT_KEYWORD_DEFINITION, + NUMBER_BINARY_KEYWORD_DEFINITION, + NUMBER_FLOAT_KEYWORD_DEFINITION, + NUMBER_HEX_KEYWORD_DEFINITION, + NUMBER_INT_KEYWORD_DEFINITION, + NUMBER_OCTAL_KEYWORD_DEFINITION, + NUMBER_ROMAN_NUMERAL_KEYWORD_DEFINITION, +]; + +export { NUMBER_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/number/octal-keyword-definition.js b/packages/core/js/keywords/domain/number/octal-keyword-definition.js new file mode 100644 index 00000000..53eee445 --- /dev/null +++ b/packages/core/js/keywords/domain/number/octal-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_OCTAL_KEYWORD_DEFINITION = { + keyword: 'number.octal', + delegate: { + type: 'faker', + target: 'number.octal', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns an octal string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'number.octal()', + sampleReturnValue: '3', + description: 'Shows number.octal when optional params are omitted.', + }, + { + functionCall: 'number.octal(max=5)', + sampleReturnValue: '2', + description: 'Shows number.octal using max.', + }, + { + functionCall: 'number.octal(max=10, min=1)', + sampleReturnValue: '5', + description: 'Shows number.octal using min.', + }, + ], + args: [ + { + name: 'max', + type: 'number', + required: false, + description: 'Upper bound for generated number.', + }, + { + name: 'min', + type: 'number', + required: false, + description: 'Lower bound for generated number.', + }, + ], + }, +}; + +export { NUMBER_OCTAL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/number/roman-numeral-keyword-definition.js b/packages/core/js/keywords/domain/number/roman-numeral-keyword-definition.js new file mode 100644 index 00000000..92af3e05 --- /dev/null +++ b/packages/core/js/keywords/domain/number/roman-numeral-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const NUMBER_ROMAN_NUMERAL_KEYWORD_DEFINITION = { + keyword: 'number.romanNumeral', + delegate: { + type: 'faker', + target: 'number.romanNumeral', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a roman numeral in String format.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/number', + fakerDocsUrl: 'https://fakerjs.dev/api/number', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'number.romanNumeral()', + sampleReturnValue: 'MDCLXVIII', + description: 'Shows number.romanNumeral when optional params are omitted.', + }, + { + functionCall: 'number.romanNumeral(max=10, min=1)', + sampleReturnValue: 'V', + description: 'Shows number.romanNumeral using min.', + }, + { + functionCall: 'number.romanNumeral(max=5)', + sampleReturnValue: 'III', + description: 'Shows number.romanNumeral using max.', + }, + ], + args: [ + { + name: 'min', + type: 'number', + required: false, + description: 'Minimum bound used when generating a value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + ], + }, +}; + +export { NUMBER_ROMAN_NUMERAL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/bio-keyword-definition.js b/packages/core/js/keywords/domain/person/bio-keyword-definition.js new file mode 100644 index 00000000..19627479 --- /dev/null +++ b/packages/core/js/keywords/domain/person/bio-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_BIO_KEYWORD_DEFINITION = { + keyword: 'person.bio', + delegate: { + type: 'faker', + target: 'person.bio', + }, + help: { + summary: 'Returns a random short biography', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.bio', + sampleReturnValue: 'person, activist, entrepreneur ✌🏿', + description: 'Shows the default person.bio call.', + }, + ], + args: [], + }, +}; + +export { PERSON_BIO_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/first-name-keyword-definition.js b/packages/core/js/keywords/domain/person/first-name-keyword-definition.js new file mode 100644 index 00000000..606ca1af --- /dev/null +++ b/packages/core/js/keywords/domain/person/first-name-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_SEX_TYPE = 'female|male'; + +const PERSON_FIRST_NAME_KEYWORD_DEFINITION = { + keyword: 'person.firstName', + delegate: { + type: 'faker', + target: 'person.firstName', + }, + help: { + summary: 'Returns a random first name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.firstName()', + sampleReturnValue: 'Aaliyah', + description: 'Shows person.firstName when optional params are omitted.', + }, + { + functionCall: 'person.firstName(sex="female")', + sampleReturnValue: 'Monique', + description: 'Shows person.firstName using sex.', + }, + ], + args: [ + { + name: 'sex', + type: PERSON_SEX_TYPE, + required: false, + description: 'Optional sex for first-name selection. Valid values: female or male.', + }, + ], + }, +}; + +export { PERSON_FIRST_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/full-name-keyword-definition.js b/packages/core/js/keywords/domain/person/full-name-keyword-definition.js new file mode 100644 index 00000000..93bfe1e2 --- /dev/null +++ b/packages/core/js/keywords/domain/person/full-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_FULL_NAME_KEYWORD_DEFINITION = { + keyword: 'person.fullName', + delegate: { + type: 'faker', + target: 'person.fullName', + }, + help: { + summary: 'Generates a random full name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.fullName', + sampleReturnValue: 'Aaliyah Corkery', + description: 'Shows the default person.fullName call.', + }, + ], + args: [], + }, +}; + +export { PERSON_FULL_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/gender-keyword-definition.js b/packages/core/js/keywords/domain/person/gender-keyword-definition.js new file mode 100644 index 00000000..46f7b9f7 --- /dev/null +++ b/packages/core/js/keywords/domain/person/gender-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_GENDER_KEYWORD_DEFINITION = { + keyword: 'person.gender', + delegate: { + type: 'faker', + target: 'person.gender', + }, + help: { + summary: 'Returns a random gender.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.gender', + sampleReturnValue: 'Genderflux', + description: 'Shows the default person.gender call.', + }, + ], + args: [], + }, +}; + +export { PERSON_GENDER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/job-area-keyword-definition.js b/packages/core/js/keywords/domain/person/job-area-keyword-definition.js new file mode 100644 index 00000000..5539714d --- /dev/null +++ b/packages/core/js/keywords/domain/person/job-area-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_JOB_AREA_KEYWORD_DEFINITION = { + keyword: 'person.jobArea', + delegate: { + type: 'faker', + target: 'person.jobArea', + }, + help: { + summary: 'Generates a random job area.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobArea', + sampleReturnValue: 'Group', + description: 'Shows the default person.jobArea call.', + }, + ], + args: [], + }, +}; + +export { PERSON_JOB_AREA_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/job-descriptor-keyword-definition.js b/packages/core/js/keywords/domain/person/job-descriptor-keyword-definition.js new file mode 100644 index 00000000..cfc918f7 --- /dev/null +++ b/packages/core/js/keywords/domain/person/job-descriptor-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_JOB_DESCRIPTOR_KEYWORD_DEFINITION = { + keyword: 'person.jobDescriptor', + delegate: { + type: 'faker', + target: 'person.jobDescriptor', + }, + help: { + summary: 'Generates a random job descriptor.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobDescriptor', + sampleReturnValue: 'Regional', + description: 'Shows the default person.jobDescriptor call.', + }, + ], + args: [], + }, +}; + +export { PERSON_JOB_DESCRIPTOR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/job-title-keyword-definition.js b/packages/core/js/keywords/domain/person/job-title-keyword-definition.js new file mode 100644 index 00000000..87c6064e --- /dev/null +++ b/packages/core/js/keywords/domain/person/job-title-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_JOB_TITLE_KEYWORD_DEFINITION = { + keyword: 'person.jobTitle', + delegate: { + type: 'faker', + target: 'person.jobTitle', + }, + help: { + summary: 'Generates a random job title.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobTitle', + sampleReturnValue: 'Regional Assurance Supervisor', + description: 'Shows the default person.jobTitle call.', + }, + ], + args: [], + }, +}; + +export { PERSON_JOB_TITLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/job-type-keyword-definition.js b/packages/core/js/keywords/domain/person/job-type-keyword-definition.js new file mode 100644 index 00000000..f449869f --- /dev/null +++ b/packages/core/js/keywords/domain/person/job-type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_JOB_TYPE_KEYWORD_DEFINITION = { + keyword: 'person.jobType', + delegate: { + type: 'faker', + target: 'person.jobType', + }, + help: { + summary: 'Generates a random job type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.jobType', + sampleReturnValue: 'Administrator', + description: 'Shows the default person.jobType call.', + }, + ], + args: [], + }, +}; + +export { PERSON_JOB_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/last-name-keyword-definition.js b/packages/core/js/keywords/domain/person/last-name-keyword-definition.js new file mode 100644 index 00000000..ba5b4bb3 --- /dev/null +++ b/packages/core/js/keywords/domain/person/last-name-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_SEX_TYPE = 'female|male'; + +const PERSON_LAST_NAME_KEYWORD_DEFINITION = { + keyword: 'person.lastName', + delegate: { + type: 'faker', + target: 'person.lastName', + }, + help: { + summary: 'Returns a random last name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.lastName()', + sampleReturnValue: 'Abbott', + description: 'Shows person.lastName when optional params are omitted.', + }, + { + functionCall: 'person.lastName(sex="female")', + sampleReturnValue: 'Reichel', + description: 'Shows person.lastName using sex.', + }, + ], + args: [ + { + name: 'sex', + type: PERSON_SEX_TYPE, + required: false, + description: 'Optional sex for last-name selection. Valid values: female or male.', + }, + ], + }, +}; + +export { PERSON_LAST_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/middle-name-keyword-definition.js b/packages/core/js/keywords/domain/person/middle-name-keyword-definition.js new file mode 100644 index 00000000..05fa2fee --- /dev/null +++ b/packages/core/js/keywords/domain/person/middle-name-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_SEX_TYPE = 'female|male'; + +const PERSON_MIDDLE_NAME_KEYWORD_DEFINITION = { + keyword: 'person.middleName', + delegate: { + type: 'faker', + target: 'person.middleName', + }, + help: { + summary: 'Returns a random middle name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.middleName()', + sampleReturnValue: 'Abigail', + description: 'Shows person.middleName when optional params are omitted.', + }, + { + functionCall: 'person.middleName(sex="female")', + sampleReturnValue: 'Morgan', + description: 'Shows person.middleName using sex.', + }, + ], + args: [ + { + name: 'sex', + type: PERSON_SEX_TYPE, + required: false, + description: 'Optional sex for middle-name selection. Valid values: female or male.', + }, + ], + }, +}; + +export { PERSON_MIDDLE_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/person-keyword-definitions.js b/packages/core/js/keywords/domain/person/person-keyword-definitions.js new file mode 100644 index 00000000..0439ef32 --- /dev/null +++ b/packages/core/js/keywords/domain/person/person-keyword-definitions.js @@ -0,0 +1,35 @@ +import { PERSON_BIO_KEYWORD_DEFINITION } from './bio-keyword-definition.js'; +import { PERSON_FIRST_NAME_KEYWORD_DEFINITION } from './first-name-keyword-definition.js'; +import { PERSON_FULL_NAME_KEYWORD_DEFINITION } from './full-name-keyword-definition.js'; +import { PERSON_GENDER_KEYWORD_DEFINITION } from './gender-keyword-definition.js'; +import { PERSON_JOB_AREA_KEYWORD_DEFINITION } from './job-area-keyword-definition.js'; +import { PERSON_JOB_DESCRIPTOR_KEYWORD_DEFINITION } from './job-descriptor-keyword-definition.js'; +import { PERSON_JOB_TITLE_KEYWORD_DEFINITION } from './job-title-keyword-definition.js'; +import { PERSON_JOB_TYPE_KEYWORD_DEFINITION } from './job-type-keyword-definition.js'; +import { PERSON_LAST_NAME_KEYWORD_DEFINITION } from './last-name-keyword-definition.js'; +import { PERSON_MIDDLE_NAME_KEYWORD_DEFINITION } from './middle-name-keyword-definition.js'; +import { PERSON_PREFIX_KEYWORD_DEFINITION } from './prefix-keyword-definition.js'; +import { PERSON_SEX_KEYWORD_DEFINITION } from './sex-keyword-definition.js'; +import { PERSON_SEX_TYPE_KEYWORD_DEFINITION } from './sex-type-keyword-definition.js'; +import { PERSON_SUFFIX_KEYWORD_DEFINITION } from './suffix-keyword-definition.js'; +import { PERSON_ZODIAC_SIGN_KEYWORD_DEFINITION } from './zodiac-sign-keyword-definition.js'; + +const PERSON_KEYWORD_DEFINITIONS = [ + PERSON_BIO_KEYWORD_DEFINITION, + PERSON_FIRST_NAME_KEYWORD_DEFINITION, + PERSON_FULL_NAME_KEYWORD_DEFINITION, + PERSON_GENDER_KEYWORD_DEFINITION, + PERSON_JOB_AREA_KEYWORD_DEFINITION, + PERSON_JOB_DESCRIPTOR_KEYWORD_DEFINITION, + PERSON_JOB_TITLE_KEYWORD_DEFINITION, + PERSON_JOB_TYPE_KEYWORD_DEFINITION, + PERSON_LAST_NAME_KEYWORD_DEFINITION, + PERSON_MIDDLE_NAME_KEYWORD_DEFINITION, + PERSON_PREFIX_KEYWORD_DEFINITION, + PERSON_SEX_KEYWORD_DEFINITION, + PERSON_SEX_TYPE_KEYWORD_DEFINITION, + PERSON_SUFFIX_KEYWORD_DEFINITION, + PERSON_ZODIAC_SIGN_KEYWORD_DEFINITION, +]; + +export { PERSON_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/person/prefix-keyword-definition.js b/packages/core/js/keywords/domain/person/prefix-keyword-definition.js new file mode 100644 index 00000000..579f48fb --- /dev/null +++ b/packages/core/js/keywords/domain/person/prefix-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_SEX_TYPE = 'female|male'; + +const PERSON_PREFIX_KEYWORD_DEFINITION = { + keyword: 'person.prefix', + delegate: { + type: 'faker', + target: 'person.prefix', + }, + help: { + summary: 'Returns a random person prefix.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.prefix()', + sampleReturnValue: 'Miss', + description: 'Shows person.prefix when optional params are omitted.', + }, + { + functionCall: 'person.prefix(sex="female")', + sampleReturnValue: 'Ms.', + description: 'Shows person.prefix using sex.', + }, + ], + args: [ + { + name: 'sex', + type: PERSON_SEX_TYPE, + required: false, + description: "The optional sex to use. Can be either 'female' or 'male'.", + }, + ], + }, +}; + +export { PERSON_PREFIX_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/sex-keyword-definition.js b/packages/core/js/keywords/domain/person/sex-keyword-definition.js new file mode 100644 index 00000000..2ff75378 --- /dev/null +++ b/packages/core/js/keywords/domain/person/sex-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_SEX_KEYWORD_DEFINITION = { + keyword: 'person.sex', + delegate: { + type: 'faker', + target: 'person.sex', + }, + help: { + summary: 'Returns a random sex.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.sex', + sampleReturnValue: 'female', + description: 'Shows the default person.sex call.', + }, + ], + args: [], + }, +}; + +export { PERSON_SEX_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/sex-type-keyword-definition.js b/packages/core/js/keywords/domain/person/sex-type-keyword-definition.js new file mode 100644 index 00000000..d6aaeb96 --- /dev/null +++ b/packages/core/js/keywords/domain/person/sex-type-keyword-definition.js @@ -0,0 +1,30 @@ +import { createStringEnumValidator } from '../../../command-help/command-help-validators.js'; + +const PERSON_SEX_TYPE = 'female|male'; + +const validatePersonSexTypeValue = createStringEnumValidator(PERSON_SEX_TYPE.split('|')); + +const PERSON_SEX_TYPE_KEYWORD_DEFINITION = { + keyword: 'person.sexType', + delegate: { + type: 'faker', + target: 'person.sexType', + }, + help: { + summary: 'Returns a random sex type. The `SexType` is intended to be used in parameters and conditions.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validatePersonSexTypeValue, + returnType: PERSON_SEX_TYPE, + usageExamples: [ + { + functionCall: 'person.sexType', + sampleReturnValue: 'female', + description: 'Shows the default person.sexType call.', + }, + ], + args: [], + }, +}; + +export { PERSON_SEX_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/suffix-keyword-definition.js b/packages/core/js/keywords/domain/person/suffix-keyword-definition.js new file mode 100644 index 00000000..1b68c64e --- /dev/null +++ b/packages/core/js/keywords/domain/person/suffix-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_SUFFIX_KEYWORD_DEFINITION = { + keyword: 'person.suffix', + delegate: { + type: 'faker', + target: 'person.suffix', + }, + help: { + summary: 'Returns a random person suffix.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.suffix', + sampleReturnValue: 'III', + description: 'Shows the default person.suffix call.', + }, + ], + args: [], + }, +}; + +export { PERSON_SUFFIX_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/person/zodiac-sign-keyword-definition.js b/packages/core/js/keywords/domain/person/zodiac-sign-keyword-definition.js new file mode 100644 index 00000000..8907a635 --- /dev/null +++ b/packages/core/js/keywords/domain/person/zodiac-sign-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PERSON_ZODIAC_SIGN_KEYWORD_DEFINITION = { + keyword: 'person.zodiacSign', + delegate: { + type: 'faker', + target: 'person.zodiacSign', + }, + help: { + summary: 'Returns a random zodiac sign.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/person', + fakerDocsUrl: 'https://fakerjs.dev/api/person', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'person.zodiacSign', + sampleReturnValue: 'Cancer', + description: 'Shows the default person.zodiacSign call.', + }, + ], + args: [], + }, +}; + +export { PERSON_ZODIAC_SIGN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/phone/imei-keyword-definition.js b/packages/core/js/keywords/domain/phone/imei-keyword-definition.js new file mode 100644 index 00000000..6132138b --- /dev/null +++ b/packages/core/js/keywords/domain/phone/imei-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateImeiValue } from '../../../command-help/command-help-validators.js'; + +const PHONE_IMEI_KEYWORD_DEFINITION = { + keyword: 'phone.imei', + delegate: { + type: 'faker', + target: 'phone.imei', + }, + help: { + summary: 'Generates IMEI number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/phone', + fakerDocsUrl: 'https://fakerjs.dev/api/phone', + validator: validateImeiValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'phone.imei', + sampleReturnValue: '47-031013-354628-7', + description: 'Shows the default phone.imei call.', + }, + ], + args: [], + }, +}; + +export { PHONE_IMEI_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/phone/number-keyword-definition.js b/packages/core/js/keywords/domain/phone/number-keyword-definition.js new file mode 100644 index 00000000..7ecce5ae --- /dev/null +++ b/packages/core/js/keywords/domain/phone/number-keyword-definition.js @@ -0,0 +1,43 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const PHONE_NUMBER_STYLE_TYPE = 'human|national|international'; + +const PHONE_NUMBER_KEYWORD_DEFINITION = { + keyword: 'phone.number', + delegate: { + type: 'faker', + target: 'phone.number', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a random phone number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/phone', + fakerDocsUrl: 'https://fakerjs.dev/api/phone', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'phone.number()', + sampleReturnValue: '1-703-301-3354 x628', + description: 'Shows phone.number when optional params are omitted.', + }, + { + functionCall: 'phone.number(style="international")', + sampleReturnValue: '+15704101335', + description: 'Shows phone.number using style.', + }, + ], + args: [ + { + name: 'style', + type: PHONE_NUMBER_STYLE_TYPE, + required: false, + description: + "Style of the generated phone number: 'human': (default) A human-input phone number, e.g. 555-770-7727 or 555.770.7727 x1234 'national': A phone number in a standardized national format, e.g. (555) 123-4567. 'international': A phone number in the E.123 international format, e.g. +15551234567", + examples: ['international'], + }, + ], + }, +}; + +export { PHONE_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/phone/phone-keyword-definitions.js b/packages/core/js/keywords/domain/phone/phone-keyword-definitions.js new file mode 100644 index 00000000..5838270e --- /dev/null +++ b/packages/core/js/keywords/domain/phone/phone-keyword-definitions.js @@ -0,0 +1,6 @@ +import { PHONE_IMEI_KEYWORD_DEFINITION } from './imei-keyword-definition.js'; +import { PHONE_NUMBER_KEYWORD_DEFINITION } from './number-keyword-definition.js'; + +const PHONE_KEYWORD_DEFINITIONS = [PHONE_IMEI_KEYWORD_DEFINITION, PHONE_NUMBER_KEYWORD_DEFINITION]; + +export { PHONE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/science/chemical-element-atomic-number-keyword-definition.js b/packages/core/js/keywords/domain/science/chemical-element-atomic-number-keyword-definition.js new file mode 100644 index 00000000..32f1a886 --- /dev/null +++ b/packages/core/js/keywords/domain/science/chemical-element-atomic-number-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateIntegerValue } from '../../../command-help/command-help-validators.js'; + +const SCIENCE_CHEMICAL_ELEMENT_ATOMIC_NUMBER_KEYWORD_DEFINITION = { + keyword: 'science.chemicalElement.atomicNumber', + delegate: { + type: 'faker', + target: 'science.chemicalElement', + resultPath: 'atomicNumber', + }, + help: { + summary: 'Generate a chemical element atomic number.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateIntegerValue, + returnType: 'integer', + usageExamples: [ + { + functionCall: 'science.chemicalElement.atomicNumber', + sampleReturnValue: 50, + description: 'Shows the default science.chemicalElement.atomicNumber call.', + }, + ], + args: [], + }, +}; + +export { SCIENCE_CHEMICAL_ELEMENT_ATOMIC_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/science/chemical-element-keyword-definition.js b/packages/core/js/keywords/domain/science/chemical-element-keyword-definition.js new file mode 100644 index 00000000..c6d8cb77 --- /dev/null +++ b/packages/core/js/keywords/domain/science/chemical-element-keyword-definition.js @@ -0,0 +1,30 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const SCIENCE_CHEMICAL_ELEMENT_KEYWORD_DEFINITION = { + keyword: 'science.chemicalElement', + delegate: { + type: 'faker', + target: 'science.chemicalElement', + }, + help: { + summary: 'Generate a value using faker science.chemicalElement.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'science.chemicalElement', + sampleReturnValue: { + symbol: 'Sn', + name: 'Tin', + atomicNumber: 50, + }, + description: 'Shows the default science.chemicalElement call.', + }, + ], + args: [], + }, +}; + +export { SCIENCE_CHEMICAL_ELEMENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/science/chemical-element-name-keyword-definition.js b/packages/core/js/keywords/domain/science/chemical-element-name-keyword-definition.js new file mode 100644 index 00000000..a7378e54 --- /dev/null +++ b/packages/core/js/keywords/domain/science/chemical-element-name-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SCIENCE_CHEMICAL_ELEMENT_NAME_KEYWORD_DEFINITION = { + keyword: 'science.chemicalElement.name', + delegate: { + type: 'faker', + target: 'science.chemicalElement', + resultPath: 'name', + }, + help: { + summary: 'Generate a chemical element name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'science.chemicalElement.name', + sampleReturnValue: 'Tin', + description: 'Shows the default science.chemicalElement.name call.', + }, + ], + args: [], + }, +}; + +export { SCIENCE_CHEMICAL_ELEMENT_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/science/chemical-element-symbol-keyword-definition.js b/packages/core/js/keywords/domain/science/chemical-element-symbol-keyword-definition.js new file mode 100644 index 00000000..94bec3a7 --- /dev/null +++ b/packages/core/js/keywords/domain/science/chemical-element-symbol-keyword-definition.js @@ -0,0 +1,27 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SCIENCE_CHEMICAL_ELEMENT_SYMBOL_KEYWORD_DEFINITION = { + keyword: 'science.chemicalElement.symbol', + delegate: { + type: 'faker', + target: 'science.chemicalElement', + resultPath: 'symbol', + }, + help: { + summary: 'Generate a chemical element symbol.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'science.chemicalElement.symbol', + sampleReturnValue: 'Sn', + description: 'Shows the default science.chemicalElement.symbol call.', + }, + ], + args: [], + }, +}; + +export { SCIENCE_CHEMICAL_ELEMENT_SYMBOL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/science/science-keyword-definitions.js b/packages/core/js/keywords/domain/science/science-keyword-definitions.js new file mode 100644 index 00000000..eebcf792 --- /dev/null +++ b/packages/core/js/keywords/domain/science/science-keyword-definitions.js @@ -0,0 +1,15 @@ +import { SCIENCE_CHEMICAL_ELEMENT_KEYWORD_DEFINITION } from './chemical-element-keyword-definition.js'; +import { SCIENCE_CHEMICAL_ELEMENT_ATOMIC_NUMBER_KEYWORD_DEFINITION } from './chemical-element-atomic-number-keyword-definition.js'; +import { SCIENCE_CHEMICAL_ELEMENT_NAME_KEYWORD_DEFINITION } from './chemical-element-name-keyword-definition.js'; +import { SCIENCE_CHEMICAL_ELEMENT_SYMBOL_KEYWORD_DEFINITION } from './chemical-element-symbol-keyword-definition.js'; +import { SCIENCE_UNIT_KEYWORD_DEFINITION } from './unit-keyword-definition.js'; + +const SCIENCE_KEYWORD_DEFINITIONS = [ + SCIENCE_CHEMICAL_ELEMENT_KEYWORD_DEFINITION, + SCIENCE_CHEMICAL_ELEMENT_ATOMIC_NUMBER_KEYWORD_DEFINITION, + SCIENCE_CHEMICAL_ELEMENT_NAME_KEYWORD_DEFINITION, + SCIENCE_CHEMICAL_ELEMENT_SYMBOL_KEYWORD_DEFINITION, + SCIENCE_UNIT_KEYWORD_DEFINITION, +]; + +export { SCIENCE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/science/unit-keyword-definition.js b/packages/core/js/keywords/domain/science/unit-keyword-definition.js new file mode 100644 index 00000000..85075cd1 --- /dev/null +++ b/packages/core/js/keywords/domain/science/unit-keyword-definition.js @@ -0,0 +1,29 @@ +import { validateObjectValue } from '../../../command-help/command-help-validators.js'; + +const SCIENCE_UNIT_KEYWORD_DEFINITION = { + keyword: 'science.unit', + delegate: { + type: 'faker', + target: 'science.unit', + }, + help: { + summary: 'Returns a random scientific unit.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/science', + fakerDocsUrl: 'https://fakerjs.dev/api/science', + validator: validateObjectValue, + returnType: 'object', + usageExamples: [ + { + functionCall: 'science.unit', + sampleReturnValue: { + name: 'watt', + symbol: 'W', + }, + description: 'Shows the default science.unit call.', + }, + ], + args: [], + }, +}; + +export { SCIENCE_UNIT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/alpha-keyword-definition.js b/packages/core/js/keywords/domain/string/alpha-keyword-definition.js new file mode 100644 index 00000000..12fffec6 --- /dev/null +++ b/packages/core/js/keywords/domain/string/alpha-keyword-definition.js @@ -0,0 +1,73 @@ +import { validateAlphaStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_CASING_TYPE = 'upper|lower|mixed'; + +const STRING_ALPHA_KEYWORD_DEFINITION = { + keyword: 'string.alpha', + delegate: { + type: 'faker', + target: 'string.alpha', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generating a string consisting of letters in the English alphabet.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateAlphaStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.alpha()', + sampleReturnValue: 'v', + description: 'Shows string.alpha with all optional params omitted.', + }, + { + functionCall: 'string.alpha(length=5)', + sampleReturnValue: 'vLaph', + description: 'Shows string.alpha generating a fixed-length alphabetic value.', + }, + { + functionCall: 'string.alpha(casing="upper")', + sampleReturnValue: 'K', + description: 'Shows string.alpha using only the casing option.', + }, + { + functionCall: 'string.alpha(length=5, casing="upper")', + sampleReturnValue: 'KSAHD', + description: 'Shows string.alpha with explicit uppercase output.', + }, + { + functionCall: 'string.alpha(exclude=["A","B","C"])', + sampleReturnValue: 'u', + description: 'Shows string.alpha excluding specific characters without setting length or casing.', + }, + { + functionCall: 'string.alpha(length=5, casing="upper", exclude=["A","B","C"])', + sampleReturnValue: 'MTDJG', + description: 'Shows string.alpha excluding specific characters from the candidate set.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'casing', + type: STRING_CASING_TYPE, + required: false, + description: 'The casing of the characters.', + }, + { + name: 'exclude', + type: 'array', + required: false, + description: 'An array with characters which should be excluded in the generated string.', + }, + ], + }, +}; + +export { STRING_ALPHA_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/alphanumeric-keyword-definition.js b/packages/core/js/keywords/domain/string/alphanumeric-keyword-definition.js new file mode 100644 index 00000000..0315cbf6 --- /dev/null +++ b/packages/core/js/keywords/domain/string/alphanumeric-keyword-definition.js @@ -0,0 +1,63 @@ +import { validateAlphanumericStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_CASING_TYPE = 'upper|lower|mixed'; + +const STRING_ALPHANUMERIC_KEYWORD_DEFINITION = { + keyword: 'string.alphanumeric', + delegate: { + type: 'faker', + target: 'string.alphanumeric', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generating a string consisting of alpha characters and digits.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateAlphanumericStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.alphanumeric()', + sampleReturnValue: 'p', + description: 'Shows string.alphanumeric when optional params are omitted.', + }, + { + functionCall: 'string.alphanumeric(length=5)', + sampleReturnValue: 'pI0i9', + description: 'Shows string.alphanumeric using length.', + }, + { + functionCall: 'string.alphanumeric(casing="upper")', + sampleReturnValue: 'F', + description: 'Shows string.alphanumeric using casing.', + }, + { + functionCall: 'string.alphanumeric(exclude=["A","B","C"])', + sampleReturnValue: 'o', + description: 'Shows string.alphanumeric using exclude.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'casing', + type: STRING_CASING_TYPE, + required: false, + description: 'The casing of the characters.', + }, + { + name: 'exclude', + type: 'array', + required: false, + description: 'An array of characters and digits which should be excluded in the generated string.', + }, + ], + }, +}; + +export { STRING_ALPHANUMERIC_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/binary-keyword-definition.js b/packages/core/js/keywords/domain/string/binary-keyword-definition.js new file mode 100644 index 00000000..e97789d0 --- /dev/null +++ b/packages/core/js/keywords/domain/string/binary-keyword-definition.js @@ -0,0 +1,51 @@ +import { validateBinaryStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_BINARY_KEYWORD_DEFINITION = { + keyword: 'string.binary', + delegate: { + type: 'faker', + target: 'string.binary', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a binary string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateBinaryStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.binary()', + sampleReturnValue: '0b0', + description: 'Shows string.binary when optional params are omitted.', + }, + { + functionCall: 'string.binary(length=5)', + sampleReturnValue: '0b01000', + description: 'Shows string.binary using length.', + }, + { + functionCall: 'string.binary(prefix="PRE-")', + sampleReturnValue: 'PRE-0', + description: 'Shows string.binary using prefix.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: + 'The length of the string (excluding the prefix) to generate either as a fixed length or as a length range.', + }, + { + name: 'prefix', + type: 'string', + required: false, + description: 'Prefix for the generated number.', + }, + ], + }, +}; + +export { STRING_BINARY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/counter-string-keyword-definition.js b/packages/core/js/keywords/domain/string/counter-string-keyword-definition.js new file mode 100644 index 00000000..2aba3fa3 --- /dev/null +++ b/packages/core/js/keywords/domain/string/counter-string-keyword-definition.js @@ -0,0 +1,81 @@ +import { validateCounterStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_COUNTER_STRING_KEYWORD_DEFINITION = { + keyword: 'string.counterString', + delegate: { + type: 'custom', + target: 'string.counterString', + }, + help: { + summary: + 'Generates a counterstring for a random length between min and max (or fixed length when only one value is provided). Defaults to min=1 and max=25 when omitted.', + docsUrl: '/docs/test-data/counterstrings', + fakerDocsUrl: '', + validator: validateCounterStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.counterString()', + sampleReturnValue: '*3*5*7*10*13*', + description: 'Shows string.counterString default from 1 to 25 chars.', + }, + { + functionCall: 'string.counterString(min=15)', + sampleReturnValue: '*3*5*7*9*12*15*', + description: 'Shows string.counterString with a fixed length of 15 chars.', + }, + { + functionCall: 'string.counterString(min=5, max=12)', + sampleReturnValue: '*3*5*7*9*', + description: 'Shows string.counterString with a length between 5 and 12 chars.', + }, + { + functionCall: 'string.counterString(min=12, max=12, delimiter="#")', + sampleReturnValue: '#3#5#7#9#12#', + description: 'Shows string.counterString with a fixed length of 12 chars and a custom delimiter.', + }, + { + functionCall: 'string.counterString(max=10, min=1)', + sampleReturnValue: '2*4*6*', + description: 'Shows string.counterString with a length between 1 and 10 chars.', + }, + { + functionCall: 'string.counterString(max=12)', + sampleReturnValue: '*3*5*7*', + description: 'Shows string.counterString with a length between 1 and 12 chars.', + }, + { + functionCall: 'string.counterString(delimiter="#")', + sampleReturnValue: '#3#5#7#10#13#', + description: 'Shows string.counterString using a custom delimiter and a length between 1 and 25 chars.', + }, + ], + args: [ + { + name: 'min', + type: 'integer', + required: false, + description: + 'Minimum counterstring length (integer). If max is omitted and min is provided, min is also used as max. Defaults to 1 when omitted. Non-integer values throw an exception.', + examples: [5], + }, + { + name: 'max', + type: 'integer', + required: false, + description: + 'Maximum counterstring length (integer). If less than min, values are swapped. Defaults to 25 when omitted. Non-integer values throw an exception.', + examples: [12], + }, + { + name: 'delimiter', + type: 'string', + required: false, + description: 'Delimiter character used between position markers. Defaults to "*".', + examples: ['#'], + }, + ], + }, +}; + +export { STRING_COUNTER_STRING_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/counterstring.js b/packages/core/js/keywords/domain/string/counterstring.js new file mode 100644 index 00000000..e94f1bda --- /dev/null +++ b/packages/core/js/keywords/domain/string/counterstring.js @@ -0,0 +1,48 @@ +function reverseString(reverseMe) { + return String(reverseMe).split('').reverse().join(''); +} + +function getCounterString(count, delimiter) { + let counter = Number(count); + let token = String(delimiter ?? '').trim(); + if (!token) { + token = '*'; + } + token = token[0]; + + let counterString = ''; + while (counter > 0) { + let appendThis = `${token}${reverseString(counter.toString())}`; + if (appendThis.length > counter) { + appendThis = appendThis.substring(0, counter); + } + counterString += appendThis; + counter -= appendThis.length; + } + return reverseString(counterString); +} + +function getIntegerArg(value, argName) { + if (!Number.isInteger(value)) { + throw new Error(`Invalid argument for ${argName}: expected an integer.`); + } + return value; +} + +function executeCustomCounterString(executionContext = {}) { + const args = Array.isArray(executionContext.args) ? executionContext.args : []; + const hasMin = typeof args[0] !== 'undefined'; + const hasMax = typeof args[1] !== 'undefined'; + + const minArg = hasMin ? getIntegerArg(args[0], 'min') : 1; + const maxArg = hasMax ? getIntegerArg(args[1], 'max') : hasMin ? minArg : 25; + + const lowest = Math.max(1, Math.min(minArg, maxArg)); + const highest = Math.max(1, Math.max(minArg, maxArg)); + const delimiter = typeof args[2] === 'undefined' ? '*' : args[2]; + + const length = lowest + Math.floor(Math.random() * (highest - lowest + 1)); + return getCounterString(length, delimiter); +} + +export { executeCustomCounterString }; diff --git a/packages/core/js/keywords/domain/string/from-characters-keyword-definition.js b/packages/core/js/keywords/domain/string/from-characters-keyword-definition.js new file mode 100644 index 00000000..0c7fa822 --- /dev/null +++ b/packages/core/js/keywords/domain/string/from-characters-keyword-definition.js @@ -0,0 +1,51 @@ +import { validateFromCharactersStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_FROM_CHARACTERS_KEYWORD_DEFINITION = { + keyword: 'string.fromCharacters', + delegate: { + type: 'faker', + target: 'string.fromCharacters', + }, + help: { + summary: 'Generates a string from the given characters.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateFromCharactersStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.fromCharacters(characters="ABC123")', + sampleReturnValue: 'C', + description: 'Shows string.fromCharacters with only the required characters argument.', + }, + { + functionCall: 'string.fromCharacters(characters=["A", "B", "C"], length=4)', + sampleReturnValue: 'BCAA', + description: 'Shows string.fromCharacters in use.', + }, + { + functionCall: 'string.fromCharacters(characters="ABC123", length=4)', + sampleReturnValue: 'C2AB', + description: 'Shows string.fromCharacters using length.', + }, + ], + args: [ + { + name: 'characters', + type: 'string|array', + required: true, + description: 'Character set (string or array) used when generating output.', + examples: ['ABC123'], + }, + { + name: 'length', + type: 'integer', + required: false, + description: 'Desired length of the generated value.', + examples: [4], + }, + ], + }, +}; + +export { STRING_FROM_CHARACTERS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/hexadecimal-keyword-definition.js b/packages/core/js/keywords/domain/string/hexadecimal-keyword-definition.js new file mode 100644 index 00000000..99b2b516 --- /dev/null +++ b/packages/core/js/keywords/domain/string/hexadecimal-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateHexadecimalStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_CASING_TYPE = 'upper|lower|mixed'; + +const STRING_HEXADECIMAL_KEYWORD_DEFINITION = { + keyword: 'string.hexadecimal', + delegate: { + type: 'faker', + target: 'string.hexadecimal', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a hexadecimal string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateHexadecimalStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.hexadecimal()', + sampleReturnValue: '0x9', + description: 'Shows string.hexadecimal when optional params are omitted.', + }, + { + functionCall: 'string.hexadecimal(casing="upper")', + sampleReturnValue: '0x9', + description: 'Shows string.hexadecimal using casing.', + }, + { + functionCall: 'string.hexadecimal(length=5)', + sampleReturnValue: '0x9f063', + description: 'Shows string.hexadecimal using length.', + }, + { + functionCall: 'string.hexadecimal(prefix="PRE-")', + sampleReturnValue: 'PRE-9', + description: 'Shows string.hexadecimal using prefix.', + }, + ], + args: [ + { + name: 'casing', + type: STRING_CASING_TYPE, + required: false, + description: 'Casing of the generated number.', + }, + { + name: 'length', + type: 'number', + required: false, + description: + 'The length of the string (excluding the prefix) to generate either as a fixed length or as a length range.', + }, + { + name: 'prefix', + type: 'string', + required: false, + description: 'Prefix for the generated number.', + }, + ], + }, +}; + +export { STRING_HEXADECIMAL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/nanoid-keyword-definition.js b/packages/core/js/keywords/domain/string/nanoid-keyword-definition.js new file mode 100644 index 00000000..8dfc0c2a --- /dev/null +++ b/packages/core/js/keywords/domain/string/nanoid-keyword-definition.js @@ -0,0 +1,38 @@ +import { validateNanoIdValue } from '../../../command-help/command-help-validators.js'; + +const STRING_NANOID_KEYWORD_DEFINITION = { + keyword: 'string.nanoid', + delegate: { + type: 'faker', + target: 'string.nanoid', + }, + help: { + summary: 'Generates a Nano ID.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateNanoIdValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.nanoid()', + sampleReturnValue: 'Ii5lxGSFycYGT2SqxjPK-', + description: 'Shows string.nanoid when optional params are omitted.', + }, + { + functionCall: 'string.nanoid(length=5)', + sampleReturnValue: 'Ii5lx', + description: 'Shows string.nanoid using length.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Exact number of characters to generate.', + }, + ], + }, +}; + +export { STRING_NANOID_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/numeric-keyword-definition.js b/packages/core/js/keywords/domain/string/numeric-keyword-definition.js new file mode 100644 index 00000000..6bb02ee7 --- /dev/null +++ b/packages/core/js/keywords/domain/string/numeric-keyword-definition.js @@ -0,0 +1,61 @@ +import { validateNumericStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_NUMERIC_KEYWORD_DEFINITION = { + keyword: 'string.numeric', + delegate: { + type: 'faker', + target: 'string.numeric', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Generates a given length string of digits.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateNumericStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.numeric()', + sampleReturnValue: '4', + description: 'Shows string.numeric when optional params are omitted.', + }, + { + functionCall: 'string.numeric(length=5)', + sampleReturnValue: '47031', + description: 'Shows string.numeric using length.', + }, + { + functionCall: 'string.numeric(allowLeadingZeros=true)', + sampleReturnValue: '4', + description: 'Shows string.numeric using allowLeadingZeros.', + }, + { + functionCall: 'string.numeric(exclude=["A","B","C"])', + sampleReturnValue: '4', + description: 'Shows string.numeric using exclude.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'allowLeadingZeros', + type: 'boolean', + required: false, + description: 'Whether leading zeros are allowed or not.', + }, + { + name: 'exclude', + type: 'array', + required: false, + description: 'An array of digits which should be excluded in the generated string.', + }, + ], + }, +}; + +export { STRING_NUMERIC_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/octal-keyword-definition.js b/packages/core/js/keywords/domain/string/octal-keyword-definition.js new file mode 100644 index 00000000..45c6b0a3 --- /dev/null +++ b/packages/core/js/keywords/domain/string/octal-keyword-definition.js @@ -0,0 +1,51 @@ +import { validateOctalStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_OCTAL_KEYWORD_DEFINITION = { + keyword: 'string.octal', + delegate: { + type: 'faker', + target: 'string.octal', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns an octal string.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateOctalStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.octal()', + sampleReturnValue: '0o3', + description: 'Shows string.octal when optional params are omitted.', + }, + { + functionCall: 'string.octal(length=5)', + sampleReturnValue: '0o35021', + description: 'Shows string.octal using length.', + }, + { + functionCall: 'string.octal(prefix="PRE-")', + sampleReturnValue: 'PRE-3', + description: 'Shows string.octal using prefix.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: + 'The length of the string (excluding the prefix) to generate either as a fixed length or as a length range.', + }, + { + name: 'prefix', + type: 'string', + required: false, + description: 'Prefix for the generated number.', + }, + ], + }, +}; + +export { STRING_OCTAL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/sample-keyword-definition.js b/packages/core/js/keywords/domain/string/sample-keyword-definition.js new file mode 100644 index 00000000..63d069a5 --- /dev/null +++ b/packages/core/js/keywords/domain/string/sample-keyword-definition.js @@ -0,0 +1,38 @@ +import { validateSampleStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_SAMPLE_KEYWORD_DEFINITION = { + keyword: 'string.sample', + delegate: { + type: 'faker', + target: 'string.sample', + }, + help: { + summary: 'Returns a string containing UTF-16 chars between 33 and 125 (`!` to `}`).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateSampleStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.sample()', + sampleReturnValue: 'Gc!=.)2AES', + description: 'Shows string.sample when optional params are omitted.', + }, + { + functionCall: 'string.sample(length=5)', + sampleReturnValue: 'Gc!=.', + description: 'Shows string.sample using length.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Exact number of characters to generate.', + }, + ], + }, +}; + +export { STRING_SAMPLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/string-keyword-definitions.js b/packages/core/js/keywords/domain/string/string-keyword-definitions.js new file mode 100644 index 00000000..a6150e31 --- /dev/null +++ b/packages/core/js/keywords/domain/string/string-keyword-definitions.js @@ -0,0 +1,31 @@ +import { STRING_ALPHA_KEYWORD_DEFINITION } from './alpha-keyword-definition.js'; +import { STRING_ALPHANUMERIC_KEYWORD_DEFINITION } from './alphanumeric-keyword-definition.js'; +import { STRING_BINARY_KEYWORD_DEFINITION } from './binary-keyword-definition.js'; +import { STRING_FROM_CHARACTERS_KEYWORD_DEFINITION } from './from-characters-keyword-definition.js'; +import { STRING_HEXADECIMAL_KEYWORD_DEFINITION } from './hexadecimal-keyword-definition.js'; +import { STRING_NANOID_KEYWORD_DEFINITION } from './nanoid-keyword-definition.js'; +import { STRING_NUMERIC_KEYWORD_DEFINITION } from './numeric-keyword-definition.js'; +import { STRING_OCTAL_KEYWORD_DEFINITION } from './octal-keyword-definition.js'; +import { STRING_SAMPLE_KEYWORD_DEFINITION } from './sample-keyword-definition.js'; +import { STRING_SYMBOL_KEYWORD_DEFINITION } from './symbol-keyword-definition.js'; +import { STRING_ULID_KEYWORD_DEFINITION } from './ulid-keyword-definition.js'; +import { STRING_UUID_KEYWORD_DEFINITION } from './uuid-keyword-definition.js'; +import { STRING_COUNTER_STRING_KEYWORD_DEFINITION } from './counter-string-keyword-definition.js'; + +const STRING_KEYWORD_DEFINITIONS = [ + STRING_ALPHA_KEYWORD_DEFINITION, + STRING_ALPHANUMERIC_KEYWORD_DEFINITION, + STRING_BINARY_KEYWORD_DEFINITION, + STRING_FROM_CHARACTERS_KEYWORD_DEFINITION, + STRING_HEXADECIMAL_KEYWORD_DEFINITION, + STRING_NANOID_KEYWORD_DEFINITION, + STRING_NUMERIC_KEYWORD_DEFINITION, + STRING_OCTAL_KEYWORD_DEFINITION, + STRING_SAMPLE_KEYWORD_DEFINITION, + STRING_SYMBOL_KEYWORD_DEFINITION, + STRING_ULID_KEYWORD_DEFINITION, + STRING_UUID_KEYWORD_DEFINITION, + STRING_COUNTER_STRING_KEYWORD_DEFINITION, +]; + +export { STRING_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/string/symbol-keyword-definition.js b/packages/core/js/keywords/domain/string/symbol-keyword-definition.js new file mode 100644 index 00000000..53f6b329 --- /dev/null +++ b/packages/core/js/keywords/domain/string/symbol-keyword-definition.js @@ -0,0 +1,39 @@ +import { validateSymbolStringValue } from '../../../command-help/command-help-validators.js'; + +const STRING_SYMBOL_KEYWORD_DEFINITION = { + keyword: 'string.symbol', + delegate: { + type: 'faker', + target: 'string.symbol', + }, + help: { + summary: + 'Returns a string containing only ASCII symbol characters such as !, ", #, $, %, &, (, ), *, +, -, /, :, ;, <, =, >, ?, @, [, \\, ], ^, _, `, {, |, }, and ~.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateSymbolStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.symbol()', + sampleReturnValue: '.', + description: 'Shows string.symbol when optional params are omitted.', + }, + { + functionCall: 'string.symbol(length=5)', + sampleReturnValue: '.\\!*%', + description: 'Shows string.symbol using length.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Exact number of characters to generate.', + }, + ], + }, +}; + +export { STRING_SYMBOL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/ulid-keyword-definition.js b/packages/core/js/keywords/domain/string/ulid-keyword-definition.js new file mode 100644 index 00000000..693c6952 --- /dev/null +++ b/packages/core/js/keywords/domain/string/ulid-keyword-definition.js @@ -0,0 +1,40 @@ +import { validateUlidValue } from '../../../command-help/command-help-validators.js'; + +const STRING_ULID_KEYWORD_DEFINITION = { + keyword: 'string.ulid', + delegate: { + type: 'faker', + target: 'string.ulid', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a ULID (Universally Unique Lexicographically Sortable Identifier).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateUlidValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.ulid()', + sampleReturnValue: '01KVDQ3AJ0DQ09425BCHDN6W0N', + description: 'Shows string.ulid when optional params are omitted.', + }, + { + functionCall: 'string.ulid(refDate=1718755200000)', + sampleReturnValue: '01J0PWP300DQ09425BCHDN6W0N', + description: 'Shows string.ulid using refDate.', + }, + ], + args: [ + { + name: 'refDate', + type: 'number', + required: false, + description: + 'The date to use as reference point for the newly generated ULID encoded timestamp. The encoded timestamp is represented by the first 10 characters of the result.', + }, + ], + }, +}; + +export { STRING_ULID_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/string/uuid-keyword-definition.js b/packages/core/js/keywords/domain/string/uuid-keyword-definition.js new file mode 100644 index 00000000..6dcd85b6 --- /dev/null +++ b/packages/core/js/keywords/domain/string/uuid-keyword-definition.js @@ -0,0 +1,52 @@ +import { validateUuidValue } from '../../../command-help/command-help-validators.js'; + +const STRING_UUID_KEYWORD_DEFINITION = { + keyword: 'string.uuid', + delegate: { + type: 'faker', + target: 'string.uuid', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a UUID (Universally Unique Identifier).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/string', + fakerDocsUrl: 'https://fakerjs.dev/api/string', + validator: validateUuidValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'string.uuid()', + sampleReturnValue: '6b042125-686a-43e0-8a68-23cf5bee102e', + description: 'Shows string.uuid when optional params are omitted.', + }, + { + functionCall: 'string.uuid(version=7)', + sampleReturnValue: '019edb71-aa40-76b0-8421-25686a3e0a68', + description: 'Shows string.uuid using version.', + }, + { + functionCall: 'string.uuid(refDate="2026-06-18T00:00:00.000Z")', + sampleReturnValue: '019ed807-0800-76b0-8421-25686a3e0a68', + description: 'Shows string.uuid using refDate.', + }, + ], + args: [ + { + name: 'version', + type: '4|7', + required: false, + description: + 'The specific UUID version to use. If refDate is supplied and version is omitted, version 7 is used automatically.', + }, + { + name: 'refDate', + type: 'string|number|date', + required: false, + description: + 'The timestamp to encode into the UUID. This is only valid for UUID v7. If refDate is supplied and version is omitted, version 7 is used automatically. Providing refDate with version 4 is invalid.', + }, + ], + }, +}; + +export { STRING_UUID_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/common-file-ext-keyword-definition.js b/packages/core/js/keywords/domain/system/common-file-ext-keyword-definition.js new file mode 100644 index 00000000..0d8d854f --- /dev/null +++ b/packages/core/js/keywords/domain/system/common-file-ext-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_COMMON_FILE_EXT_KEYWORD_DEFINITION = { + keyword: 'system.commonFileExt', + delegate: { + type: 'faker', + target: 'system.commonFileExt', + }, + help: { + summary: 'Returns a commonly used file extension.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.commonFileExt', + sampleReturnValue: 'png', + description: 'Shows the default system.commonFileExt call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_COMMON_FILE_EXT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/common-file-name-keyword-definition.js b/packages/core/js/keywords/domain/system/common-file-name-keyword-definition.js new file mode 100644 index 00000000..2007a5cf --- /dev/null +++ b/packages/core/js/keywords/domain/system/common-file-name-keyword-definition.js @@ -0,0 +1,38 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_COMMON_FILE_NAME_KEYWORD_DEFINITION = { + keyword: 'system.commonFileName', + delegate: { + type: 'faker', + target: 'system.commonFileName', + }, + help: { + summary: 'Returns a random file name with a given extension or a commonly used extension.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.commonFileName()', + sampleReturnValue: 'fog_aboard.mp4v', + description: 'Shows system.commonFileName when optional params are omitted.', + }, + { + functionCall: 'system.commonFileName(extension="txt")', + sampleReturnValue: 'fog_aboard.txt', + description: 'Shows system.commonFileName using extension.', + }, + ], + args: [ + { + name: 'extension', + type: 'string', + required: false, + description: 'File extension to include in the generated filename.', + }, + ], + }, +}; + +export { SYSTEM_COMMON_FILE_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/common-file-type-keyword-definition.js b/packages/core/js/keywords/domain/system/common-file-type-keyword-definition.js new file mode 100644 index 00000000..d5e9c4d9 --- /dev/null +++ b/packages/core/js/keywords/domain/system/common-file-type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_COMMON_FILE_TYPE_KEYWORD_DEFINITION = { + keyword: 'system.commonFileType', + delegate: { + type: 'faker', + target: 'system.commonFileType', + }, + help: { + summary: 'Returns a commonly used file type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.commonFileType', + sampleReturnValue: 'image', + description: 'Shows the default system.commonFileType call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_COMMON_FILE_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/cron-keyword-definition.js b/packages/core/js/keywords/domain/system/cron-keyword-definition.js new file mode 100644 index 00000000..d6db4abb --- /dev/null +++ b/packages/core/js/keywords/domain/system/cron-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateCronValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_CRON_KEYWORD_DEFINITION = { + keyword: 'system.cron', + delegate: { + type: 'faker', + target: 'system.cron', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random cron expression.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateCronValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.cron()', + sampleReturnValue: '25 17 * 4 *', + description: 'Shows system.cron when optional params are omitted.', + }, + { + functionCall: 'system.cron(includeNonStandard=true)', + sampleReturnValue: '@annually', + description: 'Shows system.cron using includeNonStandard.', + }, + { + functionCall: 'system.cron(includeYear=true)', + sampleReturnValue: '25 17 * 4 * 1994', + description: 'Shows system.cron using includeYear.', + }, + ], + args: [ + { + name: 'includeNonStandard', + type: 'boolean', + required: false, + description: 'Whether to include a @yearly, @monthly, @daily, etc text labels in the generated expression.', + }, + { + name: 'includeYear', + type: 'boolean', + required: false, + description: 'Whether to include a year in the generated expression.', + }, + ], + }, +}; + +export { SYSTEM_CRON_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/directory-path-keyword-definition.js b/packages/core/js/keywords/domain/system/directory-path-keyword-definition.js new file mode 100644 index 00000000..98fd48b1 --- /dev/null +++ b/packages/core/js/keywords/domain/system/directory-path-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_DIRECTORY_PATH_KEYWORD_DEFINITION = { + keyword: 'system.directoryPath', + delegate: { + type: 'faker', + target: 'system.directoryPath', + }, + help: { + summary: 'Returns a directory path.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.directoryPath', + sampleReturnValue: '/opt/include', + description: 'Shows the default system.directoryPath call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_DIRECTORY_PATH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/file-ext-keyword-definition.js b/packages/core/js/keywords/domain/system/file-ext-keyword-definition.js new file mode 100644 index 00000000..745b3b92 --- /dev/null +++ b/packages/core/js/keywords/domain/system/file-ext-keyword-definition.js @@ -0,0 +1,39 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_FILE_EXT_KEYWORD_DEFINITION = { + keyword: 'system.fileExt', + delegate: { + type: 'faker', + target: 'system.fileExt', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a file extension.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.fileExt()', + sampleReturnValue: '7z', + description: 'Shows system.fileExt when optional params are omitted.', + }, + { + functionCall: 'system.fileExt(mimeType="image/png")', + sampleReturnValue: '7z', + description: 'Shows system.fileExt using mimeType.', + }, + ], + args: [ + { + name: 'mimeType', + type: 'string', + required: false, + description: 'MIME type used to constrain generated values.', + }, + ], + }, +}; + +export { SYSTEM_FILE_EXT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/file-name-keyword-definition.js b/packages/core/js/keywords/domain/system/file-name-keyword-definition.js new file mode 100644 index 00000000..45a64bdf --- /dev/null +++ b/packages/core/js/keywords/domain/system/file-name-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_FILE_NAME_KEYWORD_DEFINITION = { + keyword: 'system.fileName', + delegate: { + type: 'faker', + target: 'system.fileName', + }, + help: { + summary: 'Returns a random file name with extension.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.fileName', + sampleReturnValue: 'fog_aboard.otf', + description: 'Shows the default system.fileName call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_FILE_NAME_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/file-path-keyword-definition.js b/packages/core/js/keywords/domain/system/file-path-keyword-definition.js new file mode 100644 index 00000000..5feb5ca4 --- /dev/null +++ b/packages/core/js/keywords/domain/system/file-path-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_FILE_PATH_KEYWORD_DEFINITION = { + keyword: 'system.filePath', + delegate: { + type: 'faker', + target: 'system.filePath', + }, + help: { + summary: 'Returns a file path.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.filePath', + sampleReturnValue: '/opt/include/down_reproachfully_besides.woff2', + description: 'Shows the default system.filePath call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_FILE_PATH_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/file-type-keyword-definition.js b/packages/core/js/keywords/domain/system/file-type-keyword-definition.js new file mode 100644 index 00000000..fffa7413 --- /dev/null +++ b/packages/core/js/keywords/domain/system/file-type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_FILE_TYPE_KEYWORD_DEFINITION = { + keyword: 'system.fileType', + delegate: { + type: 'faker', + target: 'system.fileType', + }, + help: { + summary: 'Returns a file type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.fileType', + sampleReturnValue: 'font', + description: 'Shows the default system.fileType call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_FILE_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/mime-type-keyword-definition.js b/packages/core/js/keywords/domain/system/mime-type-keyword-definition.js new file mode 100644 index 00000000..dcb87af0 --- /dev/null +++ b/packages/core/js/keywords/domain/system/mime-type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateMimeTypeValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_MIME_TYPE_KEYWORD_DEFINITION = { + keyword: 'system.mimeType', + delegate: { + type: 'faker', + target: 'system.mimeType', + }, + help: { + summary: 'Returns a mime-type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateMimeTypeValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.mimeType', + sampleReturnValue: 'application/x-httpd-php', + description: 'Shows the default system.mimeType call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_MIME_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/network-interface-keyword-definition.js b/packages/core/js/keywords/domain/system/network-interface-keyword-definition.js new file mode 100644 index 00000000..53362a3a --- /dev/null +++ b/packages/core/js/keywords/domain/system/network-interface-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_NETWORK_INTERFACE_KEYWORD_DEFINITION = { + keyword: 'system.networkInterface', + delegate: { + type: 'faker', + target: 'system.networkInterface', + }, + help: { + summary: 'Returns a random network interface.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.networkInterface', + sampleReturnValue: 'wlx042125686a3e', + description: 'Shows the default system.networkInterface call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_NETWORK_INTERFACE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/semver-keyword-definition.js b/packages/core/js/keywords/domain/system/semver-keyword-definition.js new file mode 100644 index 00000000..5357b511 --- /dev/null +++ b/packages/core/js/keywords/domain/system/semver-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateSemverValue } from '../../../command-help/command-help-validators.js'; + +const SYSTEM_SEMVER_KEYWORD_DEFINITION = { + keyword: 'system.semver', + delegate: { + type: 'faker', + target: 'system.semver', + }, + help: { + summary: 'Returns a semantic version.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/system', + fakerDocsUrl: 'https://fakerjs.dev/api/system', + validator: validateSemverValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'system.semver', + sampleReturnValue: '4.15.0', + description: 'Shows the default system.semver call.', + }, + ], + args: [], + }, +}; + +export { SYSTEM_SEMVER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/system/system-keyword-definitions.js b/packages/core/js/keywords/domain/system/system-keyword-definitions.js new file mode 100644 index 00000000..b2fc80af --- /dev/null +++ b/packages/core/js/keywords/domain/system/system-keyword-definitions.js @@ -0,0 +1,29 @@ +import { SYSTEM_COMMON_FILE_EXT_KEYWORD_DEFINITION } from './common-file-ext-keyword-definition.js'; +import { SYSTEM_COMMON_FILE_NAME_KEYWORD_DEFINITION } from './common-file-name-keyword-definition.js'; +import { SYSTEM_COMMON_FILE_TYPE_KEYWORD_DEFINITION } from './common-file-type-keyword-definition.js'; +import { SYSTEM_CRON_KEYWORD_DEFINITION } from './cron-keyword-definition.js'; +import { SYSTEM_DIRECTORY_PATH_KEYWORD_DEFINITION } from './directory-path-keyword-definition.js'; +import { SYSTEM_FILE_EXT_KEYWORD_DEFINITION } from './file-ext-keyword-definition.js'; +import { SYSTEM_FILE_NAME_KEYWORD_DEFINITION } from './file-name-keyword-definition.js'; +import { SYSTEM_FILE_PATH_KEYWORD_DEFINITION } from './file-path-keyword-definition.js'; +import { SYSTEM_FILE_TYPE_KEYWORD_DEFINITION } from './file-type-keyword-definition.js'; +import { SYSTEM_MIME_TYPE_KEYWORD_DEFINITION } from './mime-type-keyword-definition.js'; +import { SYSTEM_NETWORK_INTERFACE_KEYWORD_DEFINITION } from './network-interface-keyword-definition.js'; +import { SYSTEM_SEMVER_KEYWORD_DEFINITION } from './semver-keyword-definition.js'; + +const SYSTEM_KEYWORD_DEFINITIONS = [ + SYSTEM_COMMON_FILE_EXT_KEYWORD_DEFINITION, + SYSTEM_COMMON_FILE_NAME_KEYWORD_DEFINITION, + SYSTEM_COMMON_FILE_TYPE_KEYWORD_DEFINITION, + SYSTEM_CRON_KEYWORD_DEFINITION, + SYSTEM_DIRECTORY_PATH_KEYWORD_DEFINITION, + SYSTEM_FILE_EXT_KEYWORD_DEFINITION, + SYSTEM_FILE_NAME_KEYWORD_DEFINITION, + SYSTEM_FILE_PATH_KEYWORD_DEFINITION, + SYSTEM_FILE_TYPE_KEYWORD_DEFINITION, + SYSTEM_MIME_TYPE_KEYWORD_DEFINITION, + SYSTEM_NETWORK_INTERFACE_KEYWORD_DEFINITION, + SYSTEM_SEMVER_KEYWORD_DEFINITION, +]; + +export { SYSTEM_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/vehicle/bicycle-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/bicycle-keyword-definition.js new file mode 100644 index 00000000..25fd21d9 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/bicycle-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_BICYCLE_KEYWORD_DEFINITION = { + keyword: 'vehicle.bicycle', + delegate: { + type: 'faker', + target: 'vehicle.bicycle', + }, + help: { + summary: 'Returns a type of bicycle.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.bicycle', + sampleReturnValue: 'Flat-Foot Comfort Bicycle', + description: 'Shows the default vehicle.bicycle call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_BICYCLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/color-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/color-keyword-definition.js new file mode 100644 index 00000000..87c610ea --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/color-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_COLOR_KEYWORD_DEFINITION = { + keyword: 'vehicle.color', + delegate: { + type: 'faker', + target: 'vehicle.color', + }, + help: { + summary: 'Returns a vehicle color.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.color', + sampleReturnValue: 'magenta', + description: 'Shows the default vehicle.color call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_COLOR_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/fuel-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/fuel-keyword-definition.js new file mode 100644 index 00000000..dd55c1c2 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/fuel-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_FUEL_KEYWORD_DEFINITION = { + keyword: 'vehicle.fuel', + delegate: { + type: 'faker', + target: 'vehicle.fuel', + }, + help: { + summary: 'Returns a fuel type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.fuel', + sampleReturnValue: 'Electric', + description: 'Shows the default vehicle.fuel call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_FUEL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/manufacturer-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/manufacturer-keyword-definition.js new file mode 100644 index 00000000..58b84d09 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/manufacturer-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_MANUFACTURER_KEYWORD_DEFINITION = { + keyword: 'vehicle.manufacturer', + delegate: { + type: 'faker', + target: 'vehicle.manufacturer', + }, + help: { + summary: 'Returns a manufacturer name.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.manufacturer', + sampleReturnValue: 'Lamborghini', + description: 'Shows the default vehicle.manufacturer call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_MANUFACTURER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/model-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/model-keyword-definition.js new file mode 100644 index 00000000..205bd818 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/model-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_MODEL_KEYWORD_DEFINITION = { + keyword: 'vehicle.model', + delegate: { + type: 'faker', + target: 'vehicle.model', + }, + help: { + summary: 'Returns a vehicle model.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.model', + sampleReturnValue: 'Escalade', + description: 'Shows the default vehicle.model call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_MODEL_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/type-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/type-keyword-definition.js new file mode 100644 index 00000000..6f7348ec --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/type-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_TYPE_KEYWORD_DEFINITION = { + keyword: 'vehicle.type', + delegate: { + type: 'faker', + target: 'vehicle.type', + }, + help: { + summary: 'Returns a vehicle type.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.type', + sampleReturnValue: 'Extended Cab Pickup', + description: 'Shows the default vehicle.type call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_TYPE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/vehicle-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/vehicle-keyword-definition.js new file mode 100644 index 00000000..bee041f6 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/vehicle-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_VEHICLE_KEYWORD_DEFINITION = { + keyword: 'vehicle.vehicle', + delegate: { + type: 'faker', + target: 'vehicle.vehicle', + }, + help: { + summary: 'Returns a random vehicle.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.vehicle', + sampleReturnValue: 'Lamborghini Model X', + description: 'Shows the default vehicle.vehicle call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_VEHICLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/vehicle-keyword-definitions.js b/packages/core/js/keywords/domain/vehicle/vehicle-keyword-definitions.js new file mode 100644 index 00000000..29d28d69 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/vehicle-keyword-definitions.js @@ -0,0 +1,23 @@ +import { VEHICLE_BICYCLE_KEYWORD_DEFINITION } from './bicycle-keyword-definition.js'; +import { VEHICLE_COLOR_KEYWORD_DEFINITION } from './color-keyword-definition.js'; +import { VEHICLE_FUEL_KEYWORD_DEFINITION } from './fuel-keyword-definition.js'; +import { VEHICLE_MANUFACTURER_KEYWORD_DEFINITION } from './manufacturer-keyword-definition.js'; +import { VEHICLE_MODEL_KEYWORD_DEFINITION } from './model-keyword-definition.js'; +import { VEHICLE_TYPE_KEYWORD_DEFINITION } from './type-keyword-definition.js'; +import { VEHICLE_VEHICLE_KEYWORD_DEFINITION } from './vehicle-keyword-definition.js'; +import { VEHICLE_VIN_KEYWORD_DEFINITION } from './vin-keyword-definition.js'; +import { VEHICLE_VRM_KEYWORD_DEFINITION } from './vrm-keyword-definition.js'; + +const VEHICLE_KEYWORD_DEFINITIONS = [ + VEHICLE_BICYCLE_KEYWORD_DEFINITION, + VEHICLE_COLOR_KEYWORD_DEFINITION, + VEHICLE_FUEL_KEYWORD_DEFINITION, + VEHICLE_MANUFACTURER_KEYWORD_DEFINITION, + VEHICLE_MODEL_KEYWORD_DEFINITION, + VEHICLE_TYPE_KEYWORD_DEFINITION, + VEHICLE_VEHICLE_KEYWORD_DEFINITION, + VEHICLE_VIN_KEYWORD_DEFINITION, + VEHICLE_VRM_KEYWORD_DEFINITION, +]; + +export { VEHICLE_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/vehicle/vin-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/vin-keyword-definition.js new file mode 100644 index 00000000..292a1d79 --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/vin-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateVinValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_VIN_KEYWORD_DEFINITION = { + keyword: 'vehicle.vin', + delegate: { + type: 'faker', + target: 'vehicle.vin', + }, + help: { + summary: 'Returns a vehicle identification number (VIN).', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateVinValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.vin', + sampleReturnValue: 'DP09436BDHKN28064', + description: 'Shows the default vehicle.vin call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_VIN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/vehicle/vrm-keyword-definition.js b/packages/core/js/keywords/domain/vehicle/vrm-keyword-definition.js new file mode 100644 index 00000000..0989a77c --- /dev/null +++ b/packages/core/js/keywords/domain/vehicle/vrm-keyword-definition.js @@ -0,0 +1,26 @@ +import { validateVrmValue } from '../../../command-help/command-help-validators.js'; + +const VEHICLE_VRM_KEYWORD_DEFINITION = { + keyword: 'vehicle.vrm', + delegate: { + type: 'faker', + target: 'vehicle.vrm', + }, + help: { + summary: 'Returns a vehicle registration number (Vehicle Registration Mark - VRM)', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/vehicle', + fakerDocsUrl: 'https://fakerjs.dev/api/vehicle', + validator: validateVrmValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'vehicle.vrm', + sampleReturnValue: 'KS03DCE', + description: 'Shows the default vehicle.vrm call.', + }, + ], + args: [], + }, +}; + +export { VEHICLE_VRM_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/adjective-keyword-definition.js b/packages/core/js/keywords/domain/word/adjective-keyword-definition.js new file mode 100644 index 00000000..4aa505ee --- /dev/null +++ b/packages/core/js/keywords/domain/word/adjective-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_ADJECTIVE_KEYWORD_DEFINITION = { + keyword: 'word.adjective', + delegate: { + type: 'faker', + target: 'word.adjective', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random adjective.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.adjective()', + sampleReturnValue: 'inferior', + description: 'Shows word.adjective when optional params are omitted.', + }, + { + functionCall: 'word.adjective(length=5)', + sampleReturnValue: 'major', + description: 'Shows word.adjective using length.', + }, + { + functionCall: 'word.adjective(max=5)', + sampleReturnValue: 'inferior', + description: 'Shows word.adjective using max.', + }, + { + functionCall: 'word.adjective(strategy="any-length")', + sampleReturnValue: 'inferior', + description: 'Shows word.adjective using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_ADJECTIVE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/adverb-keyword-definition.js b/packages/core/js/keywords/domain/word/adverb-keyword-definition.js new file mode 100644 index 00000000..350f0784 --- /dev/null +++ b/packages/core/js/keywords/domain/word/adverb-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_ADVERB_KEYWORD_DEFINITION = { + keyword: 'word.adverb', + delegate: { + type: 'faker', + target: 'word.adverb', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random adverb.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.adverb()', + sampleReturnValue: 'knavishly', + description: 'Shows word.adverb when optional params are omitted.', + }, + { + functionCall: 'word.adverb(length=5)', + sampleReturnValue: 'never', + description: 'Shows word.adverb using length.', + }, + { + functionCall: 'word.adverb(max=5)', + sampleReturnValue: 'knavishly', + description: 'Shows word.adverb using max.', + }, + { + functionCall: 'word.adverb(strategy="any-length")', + sampleReturnValue: 'knavishly', + description: 'Shows word.adverb using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_ADVERB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/conjunction-keyword-definition.js b/packages/core/js/keywords/domain/word/conjunction-keyword-definition.js new file mode 100644 index 00000000..abe5a25b --- /dev/null +++ b/packages/core/js/keywords/domain/word/conjunction-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_CONJUNCTION_KEYWORD_DEFINITION = { + keyword: 'word.conjunction', + delegate: { + type: 'faker', + target: 'word.conjunction', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random conjunction.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.conjunction()', + sampleReturnValue: 'likewise', + description: 'Shows word.conjunction when optional params are omitted.', + }, + { + functionCall: 'word.conjunction(length=5)', + sampleReturnValue: 'until', + description: 'Shows word.conjunction using length.', + }, + { + functionCall: 'word.conjunction(max=5)', + sampleReturnValue: 'likewise', + description: 'Shows word.conjunction using max.', + }, + { + functionCall: 'word.conjunction(strategy="any-length")', + sampleReturnValue: 'likewise', + description: 'Shows word.conjunction using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_CONJUNCTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/interjection-keyword-definition.js b/packages/core/js/keywords/domain/word/interjection-keyword-definition.js new file mode 100644 index 00000000..c8d38511 --- /dev/null +++ b/packages/core/js/keywords/domain/word/interjection-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_INTERJECTION_KEYWORD_DEFINITION = { + keyword: 'word.interjection', + delegate: { + type: 'faker', + target: 'word.interjection', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random interjection.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.interjection()', + sampleReturnValue: 'woot', + description: 'Shows word.interjection when optional params are omitted.', + }, + { + functionCall: 'word.interjection(length=5)', + sampleReturnValue: 'fooey', + description: 'Shows word.interjection using length.', + }, + { + functionCall: 'word.interjection(max=5)', + sampleReturnValue: 'woot', + description: 'Shows word.interjection using max.', + }, + { + functionCall: 'word.interjection(strategy="any-length")', + sampleReturnValue: 'woot', + description: 'Shows word.interjection using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_INTERJECTION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/noun-keyword-definition.js b/packages/core/js/keywords/domain/word/noun-keyword-definition.js new file mode 100644 index 00000000..2d2db083 --- /dev/null +++ b/packages/core/js/keywords/domain/word/noun-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_NOUN_KEYWORD_DEFINITION = { + keyword: 'word.noun', + delegate: { + type: 'faker', + target: 'word.noun', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random noun.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.noun()', + sampleReturnValue: 'heating', + description: 'Shows word.noun when optional params are omitted.', + }, + { + functionCall: 'word.noun(length=5)', + sampleReturnValue: 'humor', + description: 'Shows word.noun using length.', + }, + { + functionCall: 'word.noun(max=5)', + sampleReturnValue: 'heating', + description: 'Shows word.noun using max.', + }, + { + functionCall: 'word.noun(strategy="any-length")', + sampleReturnValue: 'heating', + description: 'Shows word.noun using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_NOUN_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/preposition-keyword-definition.js b/packages/core/js/keywords/domain/word/preposition-keyword-definition.js new file mode 100644 index 00000000..2f17bc1d --- /dev/null +++ b/packages/core/js/keywords/domain/word/preposition-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_PREPOSITION_KEYWORD_DEFINITION = { + keyword: 'word.preposition', + delegate: { + type: 'faker', + target: 'word.preposition', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random preposition.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.preposition()', + sampleReturnValue: 'except', + description: 'Shows word.preposition when optional params are omitted.', + }, + { + functionCall: 'word.preposition(length=5)', + sampleReturnValue: 'aside', + description: 'Shows word.preposition using length.', + }, + { + functionCall: 'word.preposition(max=5)', + sampleReturnValue: 'except', + description: 'Shows word.preposition using max.', + }, + { + functionCall: 'word.preposition(strategy="any-length")', + sampleReturnValue: 'except', + description: 'Shows word.preposition using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_PREPOSITION_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/sample-keyword-definition.js b/packages/core/js/keywords/domain/word/sample-keyword-definition.js new file mode 100644 index 00000000..a2d2ea2f --- /dev/null +++ b/packages/core/js/keywords/domain/word/sample-keyword-definition.js @@ -0,0 +1,65 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_SAMPLE_KEYWORD_DEFINITION = { + keyword: 'word.sample', + delegate: { + type: 'faker', + target: 'word.sample', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: + 'Returns a random word, that can be an adjective, adverb, conjunction, interjection, noun, preposition, or verb.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.sample()', + sampleReturnValue: 'boohoo', + description: 'Shows word.sample when optional params are omitted.', + }, + { + functionCall: 'word.sample(length=5)', + sampleReturnValue: 'yowza', + description: 'Shows word.sample using length.', + }, + { + functionCall: 'word.sample(max=5)', + sampleReturnValue: 'boohoo', + description: 'Shows word.sample using max.', + }, + { + functionCall: 'word.sample(strategy="any-length")', + sampleReturnValue: 'boohoo', + description: 'Shows word.sample using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_SAMPLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/verb-keyword-definition.js b/packages/core/js/keywords/domain/word/verb-keyword-definition.js new file mode 100644 index 00000000..cdaa6bba --- /dev/null +++ b/packages/core/js/keywords/domain/word/verb-keyword-definition.js @@ -0,0 +1,64 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_SELECTION_STRATEGY_TYPE = 'fail|closest|shortest|longest|any-length'; + +const WORD_VERB_KEYWORD_DEFINITION = { + keyword: 'word.verb', + delegate: { + type: 'faker', + target: 'word.verb', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random verb.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.verb()', + sampleReturnValue: 'hunger', + description: 'Shows word.verb when optional params are omitted.', + }, + { + functionCall: 'word.verb(length=5)', + sampleReturnValue: 'mould', + description: 'Shows word.verb using length.', + }, + { + functionCall: 'word.verb(max=5)', + sampleReturnValue: 'hunger', + description: 'Shows word.verb using max.', + }, + { + functionCall: 'word.verb(strategy="any-length")', + sampleReturnValue: 'hunger', + description: 'Shows word.verb using strategy.', + }, + ], + args: [ + { + name: 'length', + type: 'number', + required: false, + description: 'Desired length of the generated value.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + { + name: 'strategy', + type: WORD_SELECTION_STRATEGY_TYPE, + required: false, + description: + 'The strategy to apply when no words with a matching length are found. Available error handling strategies: fail: Throws an error if no words with the given length are found. shortest: Returns any of the shortest words. closest: Returns any of the words closest to the given length. longest: Returns any of the longest words. any-length: Returns a word with any length.', + }, + ], + }, +}; + +export { WORD_VERB_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/domain/word/word-keyword-definitions.js b/packages/core/js/keywords/domain/word/word-keyword-definitions.js new file mode 100644 index 00000000..715a4a9d --- /dev/null +++ b/packages/core/js/keywords/domain/word/word-keyword-definitions.js @@ -0,0 +1,23 @@ +import { WORD_ADJECTIVE_KEYWORD_DEFINITION } from './adjective-keyword-definition.js'; +import { WORD_ADVERB_KEYWORD_DEFINITION } from './adverb-keyword-definition.js'; +import { WORD_CONJUNCTION_KEYWORD_DEFINITION } from './conjunction-keyword-definition.js'; +import { WORD_INTERJECTION_KEYWORD_DEFINITION } from './interjection-keyword-definition.js'; +import { WORD_NOUN_KEYWORD_DEFINITION } from './noun-keyword-definition.js'; +import { WORD_PREPOSITION_KEYWORD_DEFINITION } from './preposition-keyword-definition.js'; +import { WORD_SAMPLE_KEYWORD_DEFINITION } from './sample-keyword-definition.js'; +import { WORD_VERB_KEYWORD_DEFINITION } from './verb-keyword-definition.js'; +import { WORD_WORDS_KEYWORD_DEFINITION } from './words-keyword-definition.js'; + +const WORD_KEYWORD_DEFINITIONS = [ + WORD_ADJECTIVE_KEYWORD_DEFINITION, + WORD_ADVERB_KEYWORD_DEFINITION, + WORD_CONJUNCTION_KEYWORD_DEFINITION, + WORD_INTERJECTION_KEYWORD_DEFINITION, + WORD_NOUN_KEYWORD_DEFINITION, + WORD_PREPOSITION_KEYWORD_DEFINITION, + WORD_SAMPLE_KEYWORD_DEFINITION, + WORD_VERB_KEYWORD_DEFINITION, + WORD_WORDS_KEYWORD_DEFINITION, +]; + +export { WORD_KEYWORD_DEFINITIONS }; diff --git a/packages/core/js/keywords/domain/word/words-keyword-definition.js b/packages/core/js/keywords/domain/word/words-keyword-definition.js new file mode 100644 index 00000000..c760b807 --- /dev/null +++ b/packages/core/js/keywords/domain/word/words-keyword-definition.js @@ -0,0 +1,50 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const WORD_WORDS_KEYWORD_DEFINITION = { + keyword: 'word.words', + delegate: { + type: 'faker', + target: 'word.words', + argTransform: 'optionsFromHelpArgs', + }, + help: { + summary: 'Returns a random string containing some words separated by spaces.', + docsUrl: 'https://anywaydata.com/docs/test-data/domain/word', + fakerDocsUrl: 'https://fakerjs.dev/api/word', + validator: validateStringValue, + returnType: 'string', + usageExamples: [ + { + functionCall: 'word.words()', + sampleReturnValue: 'fog aboard', + description: 'Shows word.words when optional params are omitted.', + }, + { + functionCall: 'word.words(count=5)', + sampleReturnValue: 'boohoo pish tenderly above pop', + description: 'Shows word.words using count.', + }, + { + functionCall: 'word.words(max=5)', + sampleReturnValue: 'fog aboard', + description: 'Shows word.words using max.', + }, + ], + args: [ + { + name: 'count', + type: 'number', + required: false, + description: 'Number of items to generate.', + }, + { + name: 'max', + type: 'number', + required: false, + description: 'Maximum bound used when generating a value.', + }, + ], + }, +}; + +export { WORD_WORDS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/array-element-keyword-definition.js b/packages/core/js/keywords/faker/helpers/array-element-keyword-definition.js new file mode 100644 index 00000000..d9cbe751 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/array-element-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateAnyValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_ARRAY_ELEMENT_KEYWORD_DEFINITION = { + summary: 'Returns one random element from the supplied array.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, + returnType: 'unknown', + params: [ + { + name: 'array', + optional: false, + type: 'array', + description: 'Array of candidate values to choose from.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.arrayElement(["A", "B", "C"])', + sampleReturnValue: 'B', + description: 'Shows helpers.arrayElement in use.', + }, + ], +}; + +export { HELPERS_ARRAY_ELEMENT_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/array-elements-keyword-definition.js b/packages/core/js/keywords/faker/helpers/array-elements-keyword-definition.js new file mode 100644 index 00000000..abbfa9f2 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/array-elements-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_ARRAY_ELEMENTS_KEYWORD_DEFINITION = { + summary: 'Returns multiple random elements from the supplied array.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, + returnType: 'array', + params: [ + { + name: 'array', + optional: false, + type: 'array', + description: 'Array of candidate values to sample from.', + }, + { + name: 'count', + optional: true, + type: 'number | { min: number; max: number; }', + description: 'Exact number of items to return, or a min/max range for the returned item count.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.arrayElements(["A", "B", "C"])', + sampleReturnValue: ['A', 'C'], + description: 'Shows helpers.arrayElements with only the required array argument.', + }, + { + functionCall: 'helpers.arrayElements(["A", "B", "C"], 2)', + sampleReturnValue: ['C', 'B'], + description: 'Shows helpers.arrayElements in use.', + }, + { + functionCall: 'helpers.arrayElements(["A","B","C"], 5)', + sampleReturnValue: ['A', 'C', 'B'], + description: 'Shows helpers.arrayElements using count.', + }, + ], +}; + +export { HELPERS_ARRAY_ELEMENTS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/enum-value-keyword-definition.js b/packages/core/js/keywords/faker/helpers/enum-value-keyword-definition.js new file mode 100644 index 00000000..67bd3a3b --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/enum-value-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateAnyValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_ENUM_VALUE_KEYWORD_DEFINITION = { + summary: 'Returns one random value from the supplied enum-like object.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, + returnType: 'unknown', + params: [ + { + name: 'enumObject', + optional: false, + type: 'object', + description: 'Enum-like object to sample from while ignoring numeric reverse-mapping keys.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.enumValue({ Pending: "pending", Active: "active" })', + sampleReturnValue: 'pending', + description: 'Shows helpers.enumValue in use.', + }, + ], +}; + +export { HELPERS_ENUM_VALUE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/fake-keyword-definition.js b/packages/core/js/keywords/faker/helpers/fake-keyword-definition.js new file mode 100644 index 00000000..3c03f665 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/fake-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_FAKE_KEYWORD_DEFINITION = { + summary: 'Interpolates faker template placeholders inside a string and returns the rendered result.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'pattern', + optional: false, + type: 'string', + description: 'Template string containing faker placeholders such as {{person.firstName}} or {{location.city}}.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.fake("Hi, my name is {{person.firstName}} {{person.lastName}}!")', + sampleReturnValue: 'Hi, my name is Aaliyah Bosco!', + description: 'Shows helpers.fake in use.', + }, + ], +}; + +export { HELPERS_FAKE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/from-reg-exp-keyword-definition.js b/packages/core/js/keywords/faker/helpers/from-reg-exp-keyword-definition.js new file mode 100644 index 00000000..22c52149 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/from-reg-exp-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_FROM_REG_EXP_KEYWORD_DEFINITION = { + summary: 'Generates a string that matches the supplied regular-expression-style pattern.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'pattern', + optional: false, + type: 'string | RegExp', + description: 'Regular expression, or regex-like string, used to generate matching output.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.fromRegExp("[A-Z]{2}[0-9]{2}")', + sampleReturnValue: 'KS03', + description: 'Shows helpers.fromRegExp in use.', + }, + ], +}; + +export { HELPERS_FROM_REG_EXP_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/maybe-keyword-definition.js b/packages/core/js/keywords/faker/helpers/maybe-keyword-definition.js new file mode 100644 index 00000000..9261f1f9 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/maybe-keyword-definition.js @@ -0,0 +1,36 @@ +import { validateAnyValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_MAYBE_KEYWORD_DEFINITION = { + summary: 'Calls a callback and returns its value only when faker decides the optional value should be present.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, + returnType: 'unknown', + params: [ + { + name: 'callback', + optional: false, + type: '() => unknown', + description: 'Callback used to generate the value when the optional branch is chosen.', + }, + { + name: 'options', + optional: true, + type: 'object', + description: 'Optional configuration controlling probability and fallback behavior.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.maybe(() => "enabled")', + sampleReturnValue: 'enabled', + description: 'Shows helpers.maybe using only the callback argument.', + }, + { + functionCall: 'helpers.maybe(() => "enabled", { probability: 1 })', + sampleReturnValue: 'enabled', + description: 'Shows helpers.maybe forcing the callback branch with an options object.', + }, + ], +}; + +export { HELPERS_MAYBE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/multiple-keyword-definition.js b/packages/core/js/keywords/faker/helpers/multiple-keyword-definition.js new file mode 100644 index 00000000..b96598ce --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/multiple-keyword-definition.js @@ -0,0 +1,36 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_MULTIPLE_KEYWORD_DEFINITION = { + summary: 'Calls a generator callback multiple times and returns the collected results as an array.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, + returnType: 'array', + params: [ + { + name: 'method', + optional: false, + type: '() => unknown', + description: 'Callback used to generate each array entry.', + }, + { + name: 'options', + optional: true, + type: 'number | object', + description: 'Exact count or configuration controlling how many values to generate.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.multiple(() => "sample", { count: 3 })', + sampleReturnValue: ['sample', 'sample', 'sample'], + description: 'Shows helpers.multiple collecting three callback results with an explicit count.', + }, + { + functionCall: 'helpers.multiple(() => "sample")', + sampleReturnValue: ['sample', 'sample', 'sample'], + description: 'Shows helpers.multiple using the default repetition count.', + }, + ], +}; + +export { HELPERS_MULTIPLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/mustache-keyword-definition.js b/packages/core/js/keywords/faker/helpers/mustache-keyword-definition.js new file mode 100644 index 00000000..4f41f1e5 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/mustache-keyword-definition.js @@ -0,0 +1,31 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_MUSTACHE_KEYWORD_DEFINITION = { + summary: 'Replaces {{placeholder}} tokens in a string using values from the supplied data object.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'text', + optional: false, + type: 'string', + description: 'Template text containing mustache placeholders such as {{name}}.', + }, + { + name: 'data', + optional: false, + type: 'object', + description: 'Object that provides replacement values for the placeholders used in the text.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.mustache("Hello {{name}}", { name: "Ada" })', + sampleReturnValue: 'Hello Ada', + description: 'Shows helpers.mustache in use.', + }, + ], +}; + +export { HELPERS_MUSTACHE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/object-entry-keyword-definition.js b/packages/core/js/keywords/faker/helpers/object-entry-keyword-definition.js new file mode 100644 index 00000000..df6d112e --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/object-entry-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_OBJECT_ENTRY_KEYWORD_DEFINITION = { + summary: 'Returns one random [key, value] entry from the supplied object.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, + returnType: 'array', + params: [ + { + name: 'object', + optional: false, + type: 'object', + description: 'Object whose enumerable entries are used as candidate values.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.objectEntry({ red: "#f00", blue: "#00f" })', + sampleReturnValue: ['red', '#f00'], + description: 'Shows helpers.objectEntry in use.', + }, + ], +}; + +export { HELPERS_OBJECT_ENTRY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/object-key-keyword-definition.js b/packages/core/js/keywords/faker/helpers/object-key-keyword-definition.js new file mode 100644 index 00000000..2119560c --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/object-key-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_OBJECT_KEY_KEYWORD_DEFINITION = { + summary: 'Returns one random key from the supplied object.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'object', + optional: false, + type: 'object', + description: 'Object whose enumerable keys are used as candidate values.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.objectKey({ red: "#f00", blue: "#00f" })', + sampleReturnValue: 'red', + description: 'Shows helpers.objectKey in use.', + }, + ], +}; + +export { HELPERS_OBJECT_KEY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/object-value-keyword-definition.js b/packages/core/js/keywords/faker/helpers/object-value-keyword-definition.js new file mode 100644 index 00000000..d2567594 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/object-value-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateAnyValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_OBJECT_VALUE_KEYWORD_DEFINITION = { + summary: 'Returns one random value from the supplied object.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, + returnType: 'unknown', + params: [ + { + name: 'object', + optional: false, + type: 'object', + description: 'Object whose enumerable values are used as candidate values.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.objectValue({ red: "#f00", blue: "#00f" })', + sampleReturnValue: '#f00', + description: 'Shows helpers.objectValue in use.', + }, + ], +}; + +export { HELPERS_OBJECT_VALUE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/range-to-number-keyword-definition.js b/packages/core/js/keywords/faker/helpers/range-to-number-keyword-definition.js new file mode 100644 index 00000000..14f430b5 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/range-to-number-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateNumberValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_RANGE_TO_NUMBER_KEYWORD_DEFINITION = { + summary: 'Converts a number or { min, max } range into a concrete number.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateNumberValue, + returnType: 'number', + params: [ + { + name: 'numberOrRange', + optional: false, + type: 'number | { min: number; max: number; }', + description: 'Fixed number or range object to resolve into a single numeric value.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.rangeToNumber({ min: 1, max: 2 })', + sampleReturnValue: 1, + description: 'Shows helpers.rangeToNumber in use.', + }, + ], +}; + +export { HELPERS_RANGE_TO_NUMBER_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.js b/packages/core/js/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.js new file mode 100644 index 00000000..0f97bd1b --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.js @@ -0,0 +1,41 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_REPLACE_CREDIT_CARD_SYMBOLS_KEYWORD_DEFINITION = { + summary: 'Replaces credit-card placeholders and computes a valid Luhn checksum for the result.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'string', + optional: true, + type: 'string', + description: 'Credit card template containing placeholder symbols such as #, !, and L.', + }, + { + name: 'symbol', + optional: true, + type: 'string', + description: 'Replacement symbol to use for digit placeholders instead of the default #.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.replaceCreditCardSymbols()', + sampleReturnValue: '6453-4703-1013-3546-2807', + description: 'Shows helpers.replaceCreditCardSymbols with all optional params omitted.', + }, + { + functionCall: 'helpers.replaceCreditCardSymbols("1234-[4-9]-##!!-L")', + sampleReturnValue: '1234-6-7043-6', + description: 'Shows helpers.replaceCreditCardSymbols using the default placeholder symbols.', + }, + { + functionCall: 'helpers.replaceCreditCardSymbols("1234-****-****-L", "*")', + sampleReturnValue: '1234-4703-1013-1', + description: 'Shows helpers.replaceCreditCardSymbols using a custom digit placeholder symbol.', + }, + ], +}; + +export { HELPERS_REPLACE_CREDIT_CARD_SYMBOLS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/replace-symbols-keyword-definition.js b/packages/core/js/keywords/faker/helpers/replace-symbols-keyword-definition.js new file mode 100644 index 00000000..8617c630 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/replace-symbols-keyword-definition.js @@ -0,0 +1,30 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_REPLACE_SYMBOLS_KEYWORD_DEFINITION = { + summary: 'Replaces placeholder symbols such as # and ? in a string with random digits or letters.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'string', + optional: true, + type: 'string', + description: 'Template string containing placeholder symbols to replace.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.replaceSymbols("##??-##")', + sampleReturnValue: '47AH-10', + description: 'Shows helpers.replaceSymbols in use.', + }, + { + functionCall: 'helpers.replaceSymbols()', + sampleReturnValue: '', + description: 'Shows helpers.replaceSymbols when optional params are omitted.', + }, + ], +}; + +export { HELPERS_REPLACE_SYMBOLS_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/shuffle-keyword-definition.js b/packages/core/js/keywords/faker/helpers/shuffle-keyword-definition.js new file mode 100644 index 00000000..5445daf6 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/shuffle-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_SHUFFLE_KEYWORD_DEFINITION = { + summary: 'Returns a shuffled copy of the supplied array.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, + returnType: 'array', + params: [ + { + name: 'array', + optional: false, + type: 'array', + description: 'Array of values to shuffle.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.shuffle(["A", "B", "C"])', + sampleReturnValue: ['A', 'C', 'B'], + description: 'Shows helpers.shuffle in use.', + }, + ], +}; + +export { HELPERS_SHUFFLE_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/slugify-keyword-definition.js b/packages/core/js/keywords/faker/helpers/slugify-keyword-definition.js new file mode 100644 index 00000000..d9e65e07 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/slugify-keyword-definition.js @@ -0,0 +1,30 @@ +import { validateStringValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_SLUGIFY_KEYWORD_DEFINITION = { + summary: 'Converts a string into a URL-friendly slug.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateStringValue, + returnType: 'string', + params: [ + { + name: 'string', + optional: true, + type: 'string', + description: 'Input text to normalize into a lowercase, hyphen-separated slug.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.slugify("Hello World 2026")', + sampleReturnValue: 'Hello-World-2026', + description: 'Shows helpers.slugify in use.', + }, + { + functionCall: 'helpers.slugify()', + sampleReturnValue: '', + description: 'Shows helpers.slugify when optional params are omitted.', + }, + ], +}; + +export { HELPERS_SLUGIFY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/unique-array-keyword-definition.js b/packages/core/js/keywords/faker/helpers/unique-array-keyword-definition.js new file mode 100644 index 00000000..f1e4569c --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/unique-array-keyword-definition.js @@ -0,0 +1,31 @@ +import { validateArrayValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_UNIQUE_ARRAY_KEYWORD_DEFINITION = { + summary: 'Builds an array of unique values by repeatedly sampling a source until the requested length is reached.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateArrayValue, + returnType: 'array', + params: [ + { + name: 'source', + optional: false, + type: 'array | () => unknown', + description: 'Array of possible values or a callback used to generate candidate values.', + }, + { + name: 'length', + optional: false, + type: 'number', + description: 'Number of unique values to return.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.uniqueArray(["red", "green", "blue"], 2)', + sampleReturnValue: ['red', 'blue'], + description: 'Shows helpers.uniqueArray in use.', + }, + ], +}; + +export { HELPERS_UNIQUE_ARRAY_KEYWORD_DEFINITION }; diff --git a/packages/core/js/keywords/faker/helpers/weighted-array-element-keyword-definition.js b/packages/core/js/keywords/faker/helpers/weighted-array-element-keyword-definition.js new file mode 100644 index 00000000..ba62bd24 --- /dev/null +++ b/packages/core/js/keywords/faker/helpers/weighted-array-element-keyword-definition.js @@ -0,0 +1,25 @@ +import { validateAnyValue } from '../../../command-help/command-help-validators.js'; + +const HELPERS_WEIGHTED_ARRAY_ELEMENT_KEYWORD_DEFINITION = { + summary: 'Returns one value from a weighted array, favoring entries with higher weights.', + docsUrl: 'https://fakerjs.dev/api/helpers', + validator: validateAnyValue, + returnType: 'unknown', + params: [ + { + name: 'array', + optional: false, + type: 'array', + description: 'Array of { weight, value } objects used for weighted selection.', + }, + ], + usageExamples: [ + { + functionCall: 'helpers.weightedArrayElement([{ weight: 5, value: "sunny" }, { weight: 1, value: "rainy" }])', + sampleReturnValue: 'sunny', + description: 'Shows helpers.weightedArrayElement in use.', + }, + ], +}; + +export { HELPERS_WEIGHTED_ARRAY_ELEMENT_KEYWORD_DEFINITION }; diff --git a/packages/core/src/tests/command-help/command-definition-usage-examples.test.js b/packages/core/src/tests/command-help/command-definition-usage-examples.test.js index fdaeaec2..ed63c394 100644 --- a/packages/core/src/tests/command-help/command-definition-usage-examples.test.js +++ b/packages/core/src/tests/command-help/command-definition-usage-examples.test.js @@ -3,154 +3,162 @@ import path from 'node:path'; import { pathToFileURL } from 'node:url'; const repoRoot = path.resolve(process.cwd()); -const domainDefinitionsDir = path.join(repoRoot, 'packages/core/js/domain'); -const fakerDefinitionsFile = path.join(repoRoot, 'packages/core/js/faker/faker-helper-keyword-definitions.js'); - -function collectDomainDefinitionFiles() { - return fs - .readdirSync(domainDefinitionsDir) - .filter((fileName) => fileName.endsWith('definitions.js')) - .map((fileName) => path.join(domainDefinitionsDir, fileName)); -} +const domainDefinitionsDir = path.join(repoRoot, 'packages/core/js/keywords/domain'); +const fakerDefinitionsDir = path.join(repoRoot, 'packages/core/js/keywords/faker/helpers'); -function collectExportedDefinitionValues(moduleNamespace) { - return Object.entries(moduleNamespace) - .filter(([, value]) => Array.isArray(value) || (value && typeof value === 'object')) - .filter(([exportName]) => exportName.endsWith('_DEFINITIONS')); -} +function collectDefinitionModuleFiles(rootDir) { + const modulePaths = []; -function findMissingUsageExamplesInDomainDefinitions(definitions = [], exportName, modulePath) { - return definitions.flatMap((definition, index) => { - const help = definition?.help; - const hasUsageExamplesProperty = Object.prototype.hasOwnProperty.call(help || {}, 'usageExamples'); - const usageExamples = Array.isArray(help?.usageExamples) ? help.usageExamples : []; - if (hasUsageExamplesProperty && usageExamples.length > 0) { - return []; + function visit(currentDir) { + for (const entry of fs.readdirSync(currentDir, { withFileTypes: true })) { + const fullPath = path.join(currentDir, entry.name); + if (entry.isDirectory()) { + visit(fullPath); + continue; + } + if (entry.isFile() && entry.name.endsWith('-keyword-definition.js')) { + modulePaths.push(fullPath); + } } + } - return [ - { - modulePath, - exportName, - keyword: definition?.keyword || `(index ${index})`, - hasUsageExamplesProperty, - usageExampleCount: usageExamples.length, - }, - ]; - }); + visit(rootDir); + return modulePaths.sort((left, right) => left.localeCompare(right)); } -function findMissingUsageExamplesInFakerHelperDefinitions(definitions = {}, exportName, modulePath) { - return Object.entries(definitions).flatMap(([command, definition]) => { - const hasUsageExamplesProperty = Object.prototype.hasOwnProperty.call(definition || {}, 'usageExamples'); - const usageExamples = Array.isArray(definition?.usageExamples) ? definition.usageExamples : []; - if (hasUsageExamplesProperty && usageExamples.length > 0) { - return []; - } - - return [ - { - modulePath, - exportName, - command, - hasUsageExamplesProperty, - usageExampleCount: usageExamples.length, - }, - ]; - }); +function collectExportedDefinitionValues(moduleNamespace) { + return Object.entries(moduleNamespace) + .filter(([, value]) => value && typeof value === 'object' && !Array.isArray(value)) + .filter(([exportName]) => exportName.endsWith('_KEYWORD_DEFINITION')); } -function findLegacyExampleFieldsInDomainDefinitions(definitions = [], exportName, modulePath) { - return definitions.flatMap((definition, index) => { - const help = definition?.help || {}; - const legacyFields = ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => - Object.prototype.hasOwnProperty.call(help, fieldName) - ); - if (legacyFields.length === 0) { - return []; - } - - return [ - { - modulePath, - exportName, - keyword: definition?.keyword || `(index ${index})`, - legacyFields, - }, - ]; - }); +function findMissingUsageExamplesInDomainDefinition(definition = {}, exportName, modulePath) { + const help = definition?.help; + const hasUsageExamplesProperty = Object.prototype.hasOwnProperty.call(help || {}, 'usageExamples'); + const usageExamples = Array.isArray(help?.usageExamples) ? help.usageExamples : []; + if (hasUsageExamplesProperty && usageExamples.length > 0) { + return []; + } + + return [ + { + modulePath, + exportName, + keyword: definition?.keyword || '(unknown keyword)', + hasUsageExamplesProperty, + usageExampleCount: usageExamples.length, + }, + ]; } -function findLegacyExampleFieldsInFakerHelperDefinitions(definitions = {}, exportName, modulePath) { - return Object.entries(definitions).flatMap(([command, definition]) => { - const legacyFields = ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => - Object.prototype.hasOwnProperty.call(definition || {}, fieldName) - ); - if (legacyFields.length === 0) { - return []; - } - - return [ - { - modulePath, - exportName, - command, - legacyFields, - }, - ]; - }); +function findMissingUsageExamplesInFakerHelperDefinition(definition = {}, exportName, modulePath) { + const command = + String(definition?.usageExamples?.[0]?.functionCall || '') + .split('(')[0] + .trim() || exportName; + const hasUsageExamplesProperty = Object.prototype.hasOwnProperty.call(definition || {}, 'usageExamples'); + const usageExamples = Array.isArray(definition?.usageExamples) ? definition.usageExamples : []; + if (hasUsageExamplesProperty && usageExamples.length > 0) { + return []; + } + + return [ + { + modulePath, + exportName, + command, + hasUsageExamplesProperty, + usageExampleCount: usageExamples.length, + }, + ]; } -function findMissingValidatorsInDomainDefinitions(definitions = [], exportName, modulePath) { - return definitions.flatMap((definition, index) => { - const help = definition?.help || {}; - const hasValidatorProperty = Object.prototype.hasOwnProperty.call(help, 'validator'); - if (hasValidatorProperty && typeof help.validator === 'function') { - return []; - } +function findLegacyExampleFieldsInDomainDefinition(definition = {}, exportName, modulePath) { + const help = definition?.help || {}; + const legacyFields = ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => + Object.prototype.hasOwnProperty.call(help, fieldName) + ); + if (legacyFields.length === 0) { + return []; + } + + return [ + { + modulePath, + exportName, + keyword: definition?.keyword || '(unknown keyword)', + legacyFields, + }, + ]; +} - return [ - { - modulePath, - exportName, - keyword: definition?.keyword || `(index ${index})`, - hasValidatorProperty, - validatorType: typeof help.validator, - }, - ]; - }); +function findLegacyExampleFieldsInFakerHelperDefinition(definition = {}, exportName, modulePath) { + const legacyFields = ['example', 'examples', 'exampleReturnValues'].filter((fieldName) => + Object.prototype.hasOwnProperty.call(definition || {}, fieldName) + ); + if (legacyFields.length === 0) { + return []; + } + + return [ + { + modulePath, + exportName, + command: + String(definition?.usageExamples?.[0]?.functionCall || '') + .split('(')[0] + .trim() || exportName, + legacyFields, + }, + ]; } -function findMissingValidatorsInFakerHelperDefinitions(definitions = {}, exportName, modulePath) { - return Object.entries(definitions).flatMap(([command, definition]) => { - const hasValidatorProperty = Object.prototype.hasOwnProperty.call(definition || {}, 'validator'); - if (hasValidatorProperty && typeof definition?.validator === 'function') { - return []; - } +function findMissingValidatorsInDomainDefinition(definition = {}, exportName, modulePath) { + const help = definition?.help || {}; + const hasValidatorProperty = Object.prototype.hasOwnProperty.call(help, 'validator'); + if (hasValidatorProperty && typeof help.validator === 'function') { + return []; + } + + return [ + { + modulePath, + exportName, + keyword: definition?.keyword || '(unknown keyword)', + hasValidatorProperty, + validatorType: typeof help.validator, + }, + ]; +} - return [ - { - modulePath, - exportName, - command, - hasValidatorProperty, - validatorType: typeof definition?.validator, - }, - ]; - }); +function findMissingValidatorsInFakerHelperDefinition(definition = {}, exportName, modulePath) { + const hasValidatorProperty = Object.prototype.hasOwnProperty.call(definition || {}, 'validator'); + if (hasValidatorProperty && typeof definition?.validator === 'function') { + return []; + } + + return [ + { + modulePath, + exportName, + command: + String(definition?.usageExamples?.[0]?.functionCall || '') + .split('(')[0] + .trim() || exportName, + hasValidatorProperty, + validatorType: typeof definition?.validator, + }, + ]; } describe('keyword definition usage examples contract', () => { test('all domain definition modules export definitions with explicit help.usageExamples', async () => { const missingUsageExamples = []; - for (const modulePath of collectDomainDefinitionFiles()) { + for (const modulePath of collectDefinitionModuleFiles(domainDefinitionsDir)) { const moduleNamespace = await import(pathToFileURL(modulePath).href); - for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { - if (!Array.isArray(value)) { - continue; - } - missingUsageExamples.push(...findMissingUsageExamplesInDomainDefinitions(value, exportName, modulePath)); + for (const [exportName, definition] of collectExportedDefinitionValues(moduleNamespace)) { + missingUsageExamples.push(...findMissingUsageExamplesInDomainDefinition(definition, exportName, modulePath)); } } @@ -158,16 +166,15 @@ describe('keyword definition usage examples contract', () => { }); test('faker helper definition modules export definitions with explicit usageExamples', async () => { - const moduleNamespace = await import(pathToFileURL(fakerDefinitionsFile).href); const missingUsageExamples = []; - for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { - if (!value || typeof value !== 'object' || Array.isArray(value)) { - continue; + for (const modulePath of collectDefinitionModuleFiles(fakerDefinitionsDir)) { + const moduleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, definition] of collectExportedDefinitionValues(moduleNamespace)) { + missingUsageExamples.push( + ...findMissingUsageExamplesInFakerHelperDefinition(definition, exportName, modulePath) + ); } - missingUsageExamples.push( - ...findMissingUsageExamplesInFakerHelperDefinitions(value, exportName, fakerDefinitionsFile) - ); } expect(missingUsageExamples).toEqual([]); @@ -176,24 +183,18 @@ describe('keyword definition usage examples contract', () => { test('keyword definition exports do not expose legacy example fields', async () => { const legacyFieldFailures = []; - for (const modulePath of collectDomainDefinitionFiles()) { + for (const modulePath of collectDefinitionModuleFiles(domainDefinitionsDir)) { const moduleNamespace = await import(pathToFileURL(modulePath).href); - for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { - if (!Array.isArray(value)) { - continue; - } - legacyFieldFailures.push(...findLegacyExampleFieldsInDomainDefinitions(value, exportName, modulePath)); + for (const [exportName, definition] of collectExportedDefinitionValues(moduleNamespace)) { + legacyFieldFailures.push(...findLegacyExampleFieldsInDomainDefinition(definition, exportName, modulePath)); } } - const fakerModuleNamespace = await import(pathToFileURL(fakerDefinitionsFile).href); - for (const [exportName, value] of collectExportedDefinitionValues(fakerModuleNamespace)) { - if (!value || typeof value !== 'object' || Array.isArray(value)) { - continue; + for (const modulePath of collectDefinitionModuleFiles(fakerDefinitionsDir)) { + const fakerModuleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, definition] of collectExportedDefinitionValues(fakerModuleNamespace)) { + legacyFieldFailures.push(...findLegacyExampleFieldsInFakerHelperDefinition(definition, exportName, modulePath)); } - legacyFieldFailures.push( - ...findLegacyExampleFieldsInFakerHelperDefinitions(value, exportName, fakerDefinitionsFile) - ); } expect(legacyFieldFailures).toEqual([]); @@ -202,22 +203,18 @@ describe('keyword definition usage examples contract', () => { test('keyword definition exports expose explicit validator functions', async () => { const missingValidators = []; - for (const modulePath of collectDomainDefinitionFiles()) { + for (const modulePath of collectDefinitionModuleFiles(domainDefinitionsDir)) { const moduleNamespace = await import(pathToFileURL(modulePath).href); - for (const [exportName, value] of collectExportedDefinitionValues(moduleNamespace)) { - if (!Array.isArray(value)) { - continue; - } - missingValidators.push(...findMissingValidatorsInDomainDefinitions(value, exportName, modulePath)); + for (const [exportName, definition] of collectExportedDefinitionValues(moduleNamespace)) { + missingValidators.push(...findMissingValidatorsInDomainDefinition(definition, exportName, modulePath)); } } - const fakerModuleNamespace = await import(pathToFileURL(fakerDefinitionsFile).href); - for (const [exportName, value] of collectExportedDefinitionValues(fakerModuleNamespace)) { - if (!value || typeof value !== 'object' || Array.isArray(value)) { - continue; + for (const modulePath of collectDefinitionModuleFiles(fakerDefinitionsDir)) { + const fakerModuleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, definition] of collectExportedDefinitionValues(fakerModuleNamespace)) { + missingValidators.push(...findMissingValidatorsInFakerHelperDefinition(definition, exportName, modulePath)); } - missingValidators.push(...findMissingValidatorsInFakerHelperDefinitions(value, exportName, fakerDefinitionsFile)); } expect(missingValidators).toEqual([]); diff --git a/packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js b/packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js new file mode 100644 index 00000000..1ce92466 --- /dev/null +++ b/packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js @@ -0,0 +1,69 @@ +import { + executeCustomAutoIncrementSequence, + formatAutoIncrementValue, +} from '../../../../../js/keywords/domain/autoincrement/auto-increment-sequence.js'; + +describe('custom auto increment sequence implementation', () => { + test('formats padded values and preserves negative signs', () => { + expect(formatAutoIncrementValue(7, 3)).toBe('007'); + expect(formatAutoIncrementValue(-7, 3)).toBe('-007'); + expect(formatAutoIncrementValue(1234, 3)).toBe('1234'); + }); + + test('defaults to a numeric sequence starting at 1 and stores nextValue in state', () => { + const state = {}; + + expect(executeCustomAutoIncrementSequence({ autoIncrementState: state })).toBe(1); + expect(state.nextValue).toBe(2); + expect(executeCustomAutoIncrementSequence({ autoIncrementState: state })).toBe(2); + expect(state.nextValue).toBe(3); + }); + + test('uses the configured start value when state.nextValue is missing or invalid', () => { + expect(executeCustomAutoIncrementSequence({ args: [10], autoIncrementState: {} })).toBe(10); + expect( + executeCustomAutoIncrementSequence({ args: [10], autoIncrementState: { nextValue: 'not-an-integer' } }) + ).toBe(10); + }); + + test('supports prefix, suffix, zero padding, and negative steps', () => { + const state = {}; + + expect( + executeCustomAutoIncrementSequence({ + args: [5, -2, 'INV-', '.txt', 3], + autoIncrementState: state, + }) + ).toBe('INV-005.txt'); + expect( + executeCustomAutoIncrementSequence({ + args: [5, -2, 'INV-', '.txt', 3], + autoIncrementState: state, + }) + ).toBe('INV-003.txt'); + }); + + test('coerces prefix and suffix values to strings', () => { + expect( + executeCustomAutoIncrementSequence({ + args: [2, 1, 99, false, 2], + autoIncrementState: {}, + }) + ).toBe('9902false'); + }); + + test('rejects invalid integer arguments and zero or negative-invalid padding rules', () => { + expect(() => executeCustomAutoIncrementSequence({ args: [1.5], autoIncrementState: {} })).toThrow( + 'Invalid argument for start: expected an integer.' + ); + expect(() => executeCustomAutoIncrementSequence({ args: [1, 'x'], autoIncrementState: {} })).toThrow( + 'Invalid argument for step: expected an integer.' + ); + expect(() => executeCustomAutoIncrementSequence({ args: [1, 0], autoIncrementState: {} })).toThrow( + 'Invalid argument for step: expected a non-zero integer.' + ); + expect(() => executeCustomAutoIncrementSequence({ args: [1, 1, '', '', -1], autoIncrementState: {} })).toThrow( + 'Invalid argument for zeropadding: expected an integer greater than or equal to 0.' + ); + }); +}); diff --git a/packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js b/packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js new file mode 100644 index 00000000..eb8d1acb --- /dev/null +++ b/packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js @@ -0,0 +1,85 @@ +import { executeCustomAutoIncrementTimestamp } from '../../../../../js/keywords/domain/autoincrement/auto-increment-timestamp.js'; + +describe('custom auto increment timestamp implementation', () => { + test('defaults to runStartedAt and increments by seconds using rowIndex', () => { + const runStartedAt = new Date('2026-06-12T12:39:23.000Z'); + + expect(executeCustomAutoIncrementTimestamp({ runStartedAt, rowIndex: 0 })).toBe('2026-06-12T12:39:23Z'); + expect(executeCustomAutoIncrementTimestamp({ runStartedAt, rowIndex: 1 })).toBe('2026-06-12T12:39:24Z'); + expect(executeCustomAutoIncrementTimestamp({ runStartedAt, rowIndex: 2 })).toBe('2026-06-12T12:39:25Z'); + }); + + test('falls back to nowProvider when runStartedAt is absent', () => { + const nowProvider = () => new Date('2026-06-12T16:00:00.000Z'); + + expect(executeCustomAutoIncrementTimestamp({ nowProvider, rowIndex: 0 })).toBe('2026-06-12T16:00:00Z'); + expect(executeCustomAutoIncrementTimestamp({ nowProvider, rowIndex: -1 })).toBe('2026-06-12T16:00:00Z'); + }); + + test('supports numeric start values, singular step types, and custom output formats', () => { + const start = Date.UTC(2026, 5, 12, 12, 39, 23); + expect( + executeCustomAutoIncrementTimestamp({ args: [start, 15, 'minute', 'yyyy-MM-dd HH:mm:ss'], rowIndex: 2 }) + ).toBe('2026-06-12 13:09:23'); + }); + + test('supports inputFormat parsing while preserving the parsed clock time as UTC', () => { + expect( + executeCustomAutoIncrementTimestamp({ + args: ['12-06-2026 12:39:23', 15, 'minutes', 'yyyy-MM-dd HH:mm:ss', 'dd-MM-yyyy HH:mm:ss'], + rowIndex: 2, + }) + ).toBe('2026-06-12 13:09:23'); + }); + + test('supports natural-language parsing and output format aliases', () => { + const runStartedAt = new Date('2026-06-12T00:00:00.000Z'); + + expect( + executeCustomAutoIncrementTimestamp({ + args: ['20/03/1969', 1, 'days', 'yyyy-MM-dd'], + runStartedAt, + rowIndex: 3, + }) + ).toBe('1969-03-23'); + + expect( + executeCustomAutoIncrementTimestamp({ + args: ['2026-06-12T12:39:23Z', 1, 'seconds', 'iso'], + rowIndex: 0, + }) + ).toBe('2026-06-12T12:39:23Z'); + }); + + test('advances one step at a time when autoIncrementState is supplied', () => { + const state = {}; + + expect( + executeCustomAutoIncrementTimestamp({ + args: ['2026-06-12T16:00:00Z', 1, 'hours'], + autoIncrementState: state, + }) + ).toBe('2026-06-12T16:00:00Z'); + expect(state.nextDate.toISOString()).toBe('2026-06-12T17:00:00.000Z'); + expect( + executeCustomAutoIncrementTimestamp({ + args: ['2026-06-12T16:00:00Z', 1, 'hours'], + autoIncrementState: state, + }) + ).toBe('2026-06-12T17:00:00Z'); + }); + + test('rejects invalid dates, step values, and step types', () => { + expect(() => executeCustomAutoIncrementTimestamp({ args: ['not-a-date'], rowIndex: 0 })).toThrow( + 'Invalid start date.' + ); + expect(() => executeCustomAutoIncrementTimestamp({ args: ['2026-06-12T12:39:23Z', 'x'], rowIndex: 0 })).toThrow( + 'Invalid argument for step: expected a number.' + ); + expect(() => + executeCustomAutoIncrementTimestamp({ args: ['2026-06-12T12:39:23Z', 1, 'fortnights'], rowIndex: 0 }) + ).toThrow( + 'Invalid argument for type: expected milliseconds, seconds, minutes, hours, days, weeks, months, or years.' + ); + }); +}); diff --git a/packages/core/src/tests/data_generation/unit/domain/counterstring.test.js b/packages/core/src/tests/data_generation/unit/domain/counterstring.test.js new file mode 100644 index 00000000..e2003184 --- /dev/null +++ b/packages/core/src/tests/data_generation/unit/domain/counterstring.test.js @@ -0,0 +1,54 @@ +import { jest } from '@jest/globals'; +import { executeCustomCounterString } from '../../../../../js/keywords/domain/string/counterstring.js'; + +describe('custom counterstring implementation', () => { + afterEach(() => { + jest.restoreAllMocks(); + }); + + test('defaults to a star-delimited counterstring between length 1 and 25', () => { + jest.spyOn(Math, 'random').mockReturnValue(0.5); + + const result = executeCustomCounterString(); + expect(result.length).toBeGreaterThanOrEqual(1); + expect(result.length).toBeLessThanOrEqual(25); + expect(result).toContain('*'); + }); + + test('uses the provided minimum as the exact length when max is omitted', () => { + jest.spyOn(Math, 'random').mockReturnValue(0); + + expect(executeCustomCounterString({ args: [15] })).toBe('*3*5*7*9*12*15*'); + }); + + test('uses the requested min and max range regardless of argument order', () => { + const randomSpy = jest.spyOn(Math, 'random'); + randomSpy.mockReturnValue(0); + expect(executeCustomCounterString({ args: [9, 5] }).length).toBe(5); + + randomSpy.mockReturnValue(0.999999); + expect(executeCustomCounterString({ args: [5, 9] }).length).toBe(9); + }); + + test('clamps the generated minimum length to 1', () => { + jest.spyOn(Math, 'random').mockReturnValue(0); + + expect(executeCustomCounterString({ args: [0, 3] })).toBe('*'); + }); + + test('supports custom delimiters, trims empty delimiters, and uses the first character of longer tokens', () => { + jest.spyOn(Math, 'random').mockReturnValue(0); + expect(executeCustomCounterString({ args: [12, 12, '#'] })).toBe('#3#5#7#9#12#'); + expect(executeCustomCounterString({ args: [12, 12, 'XYZ'] })).toBe('X3X5X7X9X12X'); + expect(executeCustomCounterString({ args: [3, 3, ' '] })).toBe('*3*'); + }); + + test('rejects non-integer min and max arguments', () => { + expect(() => executeCustomCounterString({ args: [1.2, 3] })).toThrow( + 'Invalid argument for min: expected an integer.' + ); + expect(() => executeCustomCounterString({ args: [2, 3.4] })).toThrow( + 'Invalid argument for max: expected an integer.' + ); + }); +}); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js index 33e4b3c6..c14d2dcb 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js @@ -3,48 +3,15 @@ import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.j import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; describe('autoIncrement.sequence domain keyword execution', () => { - test('defaults to an incrementing numeric sequence', () => { + test('routes execution through the domain keyword interface', () => { const state = {}; expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [], autoIncrementState: state })).toBe(1); expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [], autoIncrementState: state })).toBe(2); - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [], autoIncrementState: state })).toBe(3); + expect(state.nextValue).toBe(3); }); - test('supports custom start and step values', () => { - const state = {}; - - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [10, 5], autoIncrementState: state })).toBe( - 10 - ); - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [10, 5], autoIncrementState: state })).toBe( - 15 - ); - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [10, 5], autoIncrementState: state })).toBe( - 20 - ); - }); - - test('supports prefix, suffix, and zero padding', () => { - const state = {}; - - expect( - executeDomainKeyword('autoIncrement.sequence', { - faker, - args: [1, 5, 'filename', '.txt', 3], - autoIncrementState: state, - }) - ).toBe('filename001.txt'); - expect( - executeDomainKeyword('autoIncrement.sequence', { - faker, - args: [1, 5, 'filename', '.txt', 3], - autoIncrementState: state, - }) - ).toBe('filename006.txt'); - }); - - test('supports named parameters', () => { + test('supports named parameters through the parser and execution interface', () => { const state = {}; const parsed = parseKeywordInvocation( 'autoIncrement.sequence(start=1, step=5, prefix="filename", suffix=".txt", zeropadding=3)' @@ -59,52 +26,9 @@ describe('autoIncrement.sequence domain keyword execution', () => { ); }); - test('uses zeropadding as total digit width rather than extra zero count', () => { - const state = {}; - - expect( - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1, 99, '', '', 3], autoIncrementState: state }) - ).toBe('001'); - expect( - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1, 99, '', '', 3], autoIncrementState: state }) - ).toBe('100'); - expect( - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1, 900, '', '', 3], autoIncrementState: {} }) - ).toBe('001'); - expect( - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1000, 1, '', '', 3], autoIncrementState: {} }) - ).toBe('1000'); - }); - - test('supports negative steps', () => { - const state = {}; - - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [5, -2], autoIncrementState: state })).toBe(5); - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [5, -2], autoIncrementState: state })).toBe(3); - expect(executeDomainKeyword('autoIncrement.sequence', { faker, args: [5, -2], autoIncrementState: state })).toBe(1); - }); - - test('rejects non-integer start argument', () => { - expect(() => - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1.2], autoIncrementState: {} }) - ).toThrow('Invalid argument for start: expected an integer.'); - }); - - test('rejects non-integer step argument', () => { - expect(() => - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1, 'x'], autoIncrementState: {} }) - ).toThrow('Invalid argument for step: expected an integer.'); - }); - - test('rejects zero step argument', () => { + test('surfaces helper validation errors through the domain keyword interface', () => { expect(() => executeDomainKeyword('autoIncrement.sequence', { faker, args: [1, 0], autoIncrementState: {} }) ).toThrow('Invalid argument for step: expected a non-zero integer.'); }); - - test('rejects negative zeropadding', () => { - expect(() => - executeDomainKeyword('autoIncrement.sequence', { faker, args: [1, 1, '', '', -1], autoIncrementState: {} }) - ).toThrow('Invalid argument for zeropadding: expected an integer greater than or equal to 0.'); - }); }); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js index ad0e6dbf..8cf1949b 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js @@ -2,7 +2,7 @@ import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.j import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; describe('autoIncrement.timestamp domain keyword execution', () => { - test('uses the generation run start time by default and increments by seconds per row', () => { + test('routes execution through the domain keyword interface', () => { const runStartedAt = new Date('2026-06-12T12:39:23.000Z'); expect(executeDomainKeyword('autoIncrement.timestamp', { args: [], rowIndex: 0, runStartedAt })).toBe( @@ -11,20 +11,9 @@ describe('autoIncrement.timestamp domain keyword execution', () => { expect(executeDomainKeyword('autoIncrement.timestamp', { args: [], rowIndex: 1, runStartedAt })).toBe( '2026-06-12T12:39:24Z' ); - expect(executeDomainKeyword('autoIncrement.timestamp', { args: [], rowIndex: 2, runStartedAt })).toBe( - '2026-06-12T12:39:25Z' - ); - }); - - test('supports explicit ISO timestamps and day increments', () => { - const args = ['2026-06-12T12:39:23Z', 2, 'days']; - - expect(executeDomainKeyword('autoIncrement.timestamp', { args, rowIndex: 0 })).toBe('2026-06-12T12:39:23Z'); - expect(executeDomainKeyword('autoIncrement.timestamp', { args, rowIndex: 1 })).toBe('2026-06-14T12:39:23Z'); - expect(executeDomainKeyword('autoIncrement.timestamp', { args, rowIndex: 2 })).toBe('2026-06-16T12:39:23Z'); }); - test('supports permissive non-ISO parsing with custom output formatting', () => { + test('supports named parameters through the parser and execution interface', () => { const parsed = parseKeywordInvocation( 'autoIncrement.timestamp(start="20/03/1969", step=1, type="days", outputFormat="yyyy-MM-dd")' ); @@ -34,28 +23,7 @@ describe('autoIncrement.timestamp domain keyword execution', () => { expect(executeDomainKeyword(parsed.keyword, { args: parsed.args, rowIndex: 3 })).toBe('1969-03-23'); }); - test('supports inputFormat when the start value is not ISO-8601', () => { - const parsed = parseKeywordInvocation( - 'autoIncrement.timestamp(start="12-06-2026 12:39:23", step=15, type="minutes", outputFormat="yyyy-MM-dd HH:mm:ss", inputFormat="dd-MM-yyyy HH:mm:ss")' - ); - - expect(parsed.errors).toEqual([]); - expect(executeDomainKeyword(parsed.keyword, { args: parsed.args, rowIndex: 0 })).toBe('2026-06-12 12:39:23'); - expect(executeDomainKeyword(parsed.keyword, { args: parsed.args, rowIndex: 2 })).toBe('2026-06-12 13:09:23'); - }); - - test('rejects unsupported increment units', () => { - expect(() => - executeDomainKeyword('autoIncrement.timestamp', { - args: ['2026-06-12T12:39:23Z', 1, 'fortnights'], - rowIndex: 0, - }) - ).toThrow( - 'Invalid argument for type: expected milliseconds, seconds, minutes, hours, days, weeks, months, or years.' - ); - }); - - test('advances via auto increment state when rows are generated one at a time', () => { + test('advances via auto increment state through the domain keyword interface', () => { const state = {}; expect( @@ -71,12 +39,16 @@ describe('autoIncrement.timestamp domain keyword execution', () => { autoIncrementState: state, }) ).toBe('2026-06-12T17:00:00Z'); + }); - expect( + test('surfaces helper validation errors through the domain keyword interface', () => { + expect(() => executeDomainKeyword('autoIncrement.timestamp', { - args: ['2026-06-12T16:00:00Z', 1, 'hours'], - autoIncrementState: state, + args: ['2026-06-12T12:39:23Z', 1, 'fortnights'], + rowIndex: 0, }) - ).toBe('2026-06-12T18:00:00Z'); + ).toThrow( + 'Invalid argument for type: expected milliseconds, seconds, minutes, hours, days, weeks, months, or years.' + ); }); }); diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js index 67560b99..c2b88853 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js @@ -58,21 +58,15 @@ describe('internet domain keyword execution', () => { expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']).toContain(result); }); - test('internet.httpMethod supports commonOnly and excludes args', () => { - const commonOnlyResult = executeDomainKeyword('internet.httpMethod', { faker, args: [true] }); - expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE']).toContain(commonOnlyResult); - - const excludedResult = executeDomainKeyword('internet.httpMethod', { faker, args: [false, 'patch, TRACE'] }); - expect(['PATCH', 'TRACE']).not.toContain(excludedResult); + test('internet.httpMethod supports named parameters through the parser and execution interface', () => { + const parsed = parseKeywordInvocation('internet.httpMethod(commonOnly=true, excludes="head, delete")'); + expect(parsed.errors).toEqual([]); - const commonAndExcludedResult = executeDomainKeyword('internet.httpMethod', { - faker, - args: [true, 'head, delete'], - }); - expect(['GET', 'POST', 'PUT']).toContain(commonAndExcludedResult); + const result = executeDomainKeyword(parsed.keyword, { faker, args: parsed.args }); + expect(['GET', 'POST', 'PUT']).toContain(result); }); - test('internet.httpMethod throws when exclusions remove every allowed method', () => { + test('internet.httpMethod surfaces helper validation errors through the execution interface', () => { expect(() => executeDomainKeyword('internet.httpMethod', { faker, diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js b/packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js index 4069c682..1f7eaf4c 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js @@ -8,71 +8,25 @@ function runWithSeed(seed, keyword, args) { } describe('string.counterString domain keyword execution', () => { - test('executes string.counterString with defaults when no args are provided', () => { + test('routes execution through the domain keyword interface', () => { const result = runWithSeed(999, 'string.counterString', []); expect(result.length).toBeGreaterThanOrEqual(1); expect(result.length).toBeLessThanOrEqual(25); expect(result).toContain('*'); }); - test('executes string.counterString', () => { - const result = runWithSeed(1000, 'string.counterString', [15]); - expect(result).toBe('*3*5*7*9*12*15*'); - }); - - test('string.counterString supports min/max range', () => { - const ranged = runWithSeed(1005, 'string.counterString', [5, 9]); - expect(ranged.length).toBeGreaterThanOrEqual(5); - expect(ranged.length).toBeLessThanOrEqual(9); - expect(ranged).toContain('*'); - }); - - test('string.counterString clamps minimum length to 1', () => { - const clamped = runWithSeed(1006, 'string.counterString', [0, 3]); - expect(clamped.length).toBeGreaterThanOrEqual(1); - expect(clamped.length).toBeLessThanOrEqual(3); - }); - - test('string.counterString accepts reversed min/max arguments', () => { - const reordered = runWithSeed(1007, 'string.counterString', [9, 5]); - expect(reordered.length).toBeGreaterThanOrEqual(5); - expect(reordered.length).toBeLessThanOrEqual(9); - }); - - test('string.counterString supports custom delimiter', () => { - const delimiter = runWithSeed(1008, 'string.counterString', [12, 12, '#']); - expect(delimiter).toBe('#3#5#7#9#12#'); - }); - - test('string.counterString uses first character when delimiter has length > 1', () => { - const result = runWithSeed(1009, 'string.counterString', [12, 12, 'XYZ']); - expect(result).toBe('X3X5X7X9X12X'); - }); - - test('string.counterString supports named min and max parameters', () => { + test('supports named parameters through the parser and execution interface', () => { faker.seed(1010); - const parsed = parseKeywordInvocation('string.counterString(min=5, max=9)'); - const result = executeDomainKeyword(parsed.keyword, { faker, args: parsed.args }); - expect(result.length).toBeGreaterThanOrEqual(5); - expect(result.length).toBeLessThanOrEqual(9); - }); - - test('string.counterString supports named delimiter parameter', () => { - faker.seed(1011); const parsed = parseKeywordInvocation('string.counterString(min=12, max=12, delimiter="#")'); const result = executeDomainKeyword(parsed.keyword, { faker, args: parsed.args }); + + expect(parsed.errors).toEqual([]); expect(result).toBe('#3#5#7#9#12#'); }); - test('string.counterString rejects non-integer min argument', () => { + test('surfaces helper validation errors through the domain keyword interface', () => { expect(() => runWithSeed(1014, 'string.counterString', [1.2, 3])).toThrow( 'Invalid argument for min: expected an integer.' ); }); - - test('string.counterString rejects non-integer max argument', () => { - expect(() => runWithSeed(1015, 'string.counterString', [2, 3.4])).toThrow( - 'Invalid argument for max: expected an integer.' - ); - }); }); diff --git a/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js b/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js index 37fc39fe..e7312b8e 100644 --- a/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js +++ b/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js @@ -1,10 +1,11 @@ import { ALL_HTTP_METHODS, COMMON_HTTP_METHODS, + executeCustomInternetHttpMethod, getInternetHttpMethodPool, normalizeHttpMethodToken, parseExcludedHttpMethodsCsv, -} from '../../../../../js/domain/internet-http-method.js'; +} from '../../../../../js/keywords/domain/internet/internet-http-method.js'; describe('custom internet.httpMethod helpers', () => { test('normalizes http method tokens to trimmed uppercase values', () => { @@ -33,4 +34,10 @@ describe('custom internet.httpMethod helpers', () => { ]); expect(getInternetHttpMethodPool({ commonOnly: true, excludes: 'head, delete' })).toEqual(['GET', 'POST', 'PUT']); }); + + test('throws when exclusions remove every available method', () => { + expect(() => executeCustomInternetHttpMethod({ args: [true, 'get, head, post, put, delete'] })).toThrow( + 'Invalid argument for excludes: no HTTP methods remain after exclusions.' + ); + }); }); diff --git a/packages/core/src/tests/keywords/domain/airline/aircraft-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/aircraft-type-keyword-definition.test.js new file mode 100644 index 00000000..2c858b16 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/aircraft-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.aircraftType'); diff --git a/packages/core/src/tests/keywords/domain/airline/airline-iata-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airline-iata-code-keyword-definition.test.js new file mode 100644 index 00000000..5d18bbb8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airline-iata-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airline.iataCode'); diff --git a/packages/core/src/tests/keywords/domain/airline/airline-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airline-keyword-definition.test.js new file mode 100644 index 00000000..15c2f534 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airline-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airline'); diff --git a/packages/core/src/tests/keywords/domain/airline/airline-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airline-name-keyword-definition.test.js new file mode 100644 index 00000000..479cdf2e --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airline-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airline.name'); diff --git a/packages/core/src/tests/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js new file mode 100644 index 00000000..f2d45998 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airplane.iataTypeCode'); diff --git a/packages/core/src/tests/keywords/domain/airline/airplane-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airplane-keyword-definition.test.js new file mode 100644 index 00000000..b3a001f3 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airplane-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airplane'); diff --git a/packages/core/src/tests/keywords/domain/airline/airplane-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airplane-name-keyword-definition.test.js new file mode 100644 index 00000000..e9dfd273 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airplane-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airplane.name'); diff --git a/packages/core/src/tests/keywords/domain/airline/airport-iata-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airport-iata-code-keyword-definition.test.js new file mode 100644 index 00000000..7364a39c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airport-iata-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airport.iataCode'); diff --git a/packages/core/src/tests/keywords/domain/airline/airport-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airport-keyword-definition.test.js new file mode 100644 index 00000000..9796ddcb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airport-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airport'); diff --git a/packages/core/src/tests/keywords/domain/airline/airport-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/airport-name-keyword-definition.test.js new file mode 100644 index 00000000..f35643e5 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/airport-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.airport.name'); diff --git a/packages/core/src/tests/keywords/domain/airline/flight-number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/flight-number-keyword-definition.test.js new file mode 100644 index 00000000..f578c2b9 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/flight-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.flightNumber'); diff --git a/packages/core/src/tests/keywords/domain/airline/record-locator-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/record-locator-keyword-definition.test.js new file mode 100644 index 00000000..4e21a15f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/record-locator-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.recordLocator'); diff --git a/packages/core/src/tests/keywords/domain/airline/seat-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/airline/seat-keyword-definition.test.js new file mode 100644 index 00000000..85d9215f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/airline/seat-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('airline.seat'); diff --git a/packages/core/src/tests/keywords/domain/animal/bear-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/bear-keyword-definition.test.js new file mode 100644 index 00000000..ac574b62 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/bear-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.bear'); diff --git a/packages/core/src/tests/keywords/domain/animal/bird-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/bird-keyword-definition.test.js new file mode 100644 index 00000000..e2eca240 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/bird-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.bird'); diff --git a/packages/core/src/tests/keywords/domain/animal/cat-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/cat-keyword-definition.test.js new file mode 100644 index 00000000..e16fa082 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/cat-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.cat'); diff --git a/packages/core/src/tests/keywords/domain/animal/cetacean-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/cetacean-keyword-definition.test.js new file mode 100644 index 00000000..e2c04076 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/cetacean-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.cetacean'); diff --git a/packages/core/src/tests/keywords/domain/animal/cow-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/cow-keyword-definition.test.js new file mode 100644 index 00000000..46b67f8c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/cow-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.cow'); diff --git a/packages/core/src/tests/keywords/domain/animal/crocodilia-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/crocodilia-keyword-definition.test.js new file mode 100644 index 00000000..603a068f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/crocodilia-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.crocodilia'); diff --git a/packages/core/src/tests/keywords/domain/animal/dog-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/dog-keyword-definition.test.js new file mode 100644 index 00000000..fc9027d7 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/dog-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.dog'); diff --git a/packages/core/src/tests/keywords/domain/animal/fish-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/fish-keyword-definition.test.js new file mode 100644 index 00000000..65d83f8f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/fish-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.fish'); diff --git a/packages/core/src/tests/keywords/domain/animal/horse-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/horse-keyword-definition.test.js new file mode 100644 index 00000000..b7e87b78 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/horse-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.horse'); diff --git a/packages/core/src/tests/keywords/domain/animal/insect-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/insect-keyword-definition.test.js new file mode 100644 index 00000000..7b0d10ec --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/insect-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.insect'); diff --git a/packages/core/src/tests/keywords/domain/animal/lion-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/lion-keyword-definition.test.js new file mode 100644 index 00000000..58d82925 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/lion-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.lion'); diff --git a/packages/core/src/tests/keywords/domain/animal/pet-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/pet-name-keyword-definition.test.js new file mode 100644 index 00000000..8a16440b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/pet-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.petName'); diff --git a/packages/core/src/tests/keywords/domain/animal/rabbit-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/rabbit-keyword-definition.test.js new file mode 100644 index 00000000..710fa436 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/rabbit-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.rabbit'); diff --git a/packages/core/src/tests/keywords/domain/animal/rodent-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/rodent-keyword-definition.test.js new file mode 100644 index 00000000..190b03ec --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/rodent-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.rodent'); diff --git a/packages/core/src/tests/keywords/domain/animal/snake-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/snake-keyword-definition.test.js new file mode 100644 index 00000000..9e8964cb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/snake-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.snake'); diff --git a/packages/core/src/tests/keywords/domain/animal/type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/animal/type-keyword-definition.test.js new file mode 100644 index 00000000..f00cf080 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/animal/type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('animal.type'); diff --git a/packages/core/src/tests/keywords/domain/autoincrement/sequence-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/autoincrement/sequence-keyword-definition.test.js new file mode 100644 index 00000000..e51ebbfa --- /dev/null +++ b/packages/core/src/tests/keywords/domain/autoincrement/sequence-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('autoIncrement.sequence'); diff --git a/packages/core/src/tests/keywords/domain/autoincrement/timestamp-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/autoincrement/timestamp-keyword-definition.test.js new file mode 100644 index 00000000..aebe1d55 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/autoincrement/timestamp-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('autoIncrement.timestamp'); diff --git a/packages/core/src/tests/keywords/domain/book/author-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/book/author-keyword-definition.test.js new file mode 100644 index 00000000..7d27a144 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/book/author-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('book.author'); diff --git a/packages/core/src/tests/keywords/domain/book/format-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/book/format-keyword-definition.test.js new file mode 100644 index 00000000..65db81ca --- /dev/null +++ b/packages/core/src/tests/keywords/domain/book/format-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('book.format'); diff --git a/packages/core/src/tests/keywords/domain/book/genre-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/book/genre-keyword-definition.test.js new file mode 100644 index 00000000..8f90b285 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/book/genre-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('book.genre'); diff --git a/packages/core/src/tests/keywords/domain/book/publisher-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/book/publisher-keyword-definition.test.js new file mode 100644 index 00000000..9dbde20e --- /dev/null +++ b/packages/core/src/tests/keywords/domain/book/publisher-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('book.publisher'); diff --git a/packages/core/src/tests/keywords/domain/book/series-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/book/series-keyword-definition.test.js new file mode 100644 index 00000000..0bcd7ea3 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/book/series-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('book.series'); diff --git a/packages/core/src/tests/keywords/domain/book/title-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/book/title-keyword-definition.test.js new file mode 100644 index 00000000..78c47ddb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/book/title-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('book.title'); diff --git a/packages/core/src/tests/keywords/domain/color/cmyk-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/cmyk-keyword-definition.test.js new file mode 100644 index 00000000..5004bb66 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/cmyk-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.cmyk'); diff --git a/packages/core/src/tests/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js new file mode 100644 index 00000000..b30be502 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.colorByCSSColorSpace'); diff --git a/packages/core/src/tests/keywords/domain/color/css-supported-function-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/css-supported-function-keyword-definition.test.js new file mode 100644 index 00000000..32b01d1f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/css-supported-function-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.cssSupportedFunction'); diff --git a/packages/core/src/tests/keywords/domain/color/css-supported-space-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/css-supported-space-keyword-definition.test.js new file mode 100644 index 00000000..6e781ebb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/css-supported-space-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.cssSupportedSpace'); diff --git a/packages/core/src/tests/keywords/domain/color/hsl-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/hsl-keyword-definition.test.js new file mode 100644 index 00000000..4475673f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/hsl-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.hsl'); diff --git a/packages/core/src/tests/keywords/domain/color/human-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/human-keyword-definition.test.js new file mode 100644 index 00000000..14f67656 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/human-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.human'); diff --git a/packages/core/src/tests/keywords/domain/color/hwb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/hwb-keyword-definition.test.js new file mode 100644 index 00000000..34b90cea --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/hwb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.hwb'); diff --git a/packages/core/src/tests/keywords/domain/color/lab-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/lab-keyword-definition.test.js new file mode 100644 index 00000000..92d1528a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/lab-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.lab'); diff --git a/packages/core/src/tests/keywords/domain/color/lch-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/lch-keyword-definition.test.js new file mode 100644 index 00000000..611f5db8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/lch-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.lch'); diff --git a/packages/core/src/tests/keywords/domain/color/rgb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/rgb-keyword-definition.test.js new file mode 100644 index 00000000..784f07b2 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/rgb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.rgb'); diff --git a/packages/core/src/tests/keywords/domain/color/space-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/color/space-keyword-definition.test.js new file mode 100644 index 00000000..5e898a9f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/color/space-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('color.space'); diff --git a/packages/core/src/tests/keywords/domain/commerce/department-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/department-keyword-definition.test.js new file mode 100644 index 00000000..22b2ea1f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/department-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.department'); diff --git a/packages/core/src/tests/keywords/domain/commerce/isbn-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/isbn-keyword-definition.test.js new file mode 100644 index 00000000..b64b8e4d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/isbn-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.isbn'); diff --git a/packages/core/src/tests/keywords/domain/commerce/price-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/price-keyword-definition.test.js new file mode 100644 index 00000000..1ce12702 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/price-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.price'); diff --git a/packages/core/src/tests/keywords/domain/commerce/product-adjective-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/product-adjective-keyword-definition.test.js new file mode 100644 index 00000000..c21eeaa8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/product-adjective-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.productAdjective'); diff --git a/packages/core/src/tests/keywords/domain/commerce/product-description-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/product-description-keyword-definition.test.js new file mode 100644 index 00000000..b4684024 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/product-description-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.productDescription'); diff --git a/packages/core/src/tests/keywords/domain/commerce/product-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/product-keyword-definition.test.js new file mode 100644 index 00000000..3a326cea --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/product-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.product'); diff --git a/packages/core/src/tests/keywords/domain/commerce/product-material-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/product-material-keyword-definition.test.js new file mode 100644 index 00000000..4235aafb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/product-material-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.productMaterial'); diff --git a/packages/core/src/tests/keywords/domain/commerce/product-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/product-name-keyword-definition.test.js new file mode 100644 index 00000000..726ab543 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/product-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.productName'); diff --git a/packages/core/src/tests/keywords/domain/commerce/upc-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/commerce/upc-keyword-definition.test.js new file mode 100644 index 00000000..cdd55e87 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/commerce/upc-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('commerce.upc'); diff --git a/packages/core/src/tests/keywords/domain/company/buzz-adjective-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/buzz-adjective-keyword-definition.test.js new file mode 100644 index 00000000..1d5ab7df --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/buzz-adjective-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.buzzAdjective'); diff --git a/packages/core/src/tests/keywords/domain/company/buzz-noun-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/buzz-noun-keyword-definition.test.js new file mode 100644 index 00000000..468dfe9b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/buzz-noun-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.buzzNoun'); diff --git a/packages/core/src/tests/keywords/domain/company/buzz-phrase-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/buzz-phrase-keyword-definition.test.js new file mode 100644 index 00000000..a852d954 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/buzz-phrase-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.buzzPhrase'); diff --git a/packages/core/src/tests/keywords/domain/company/buzz-verb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/buzz-verb-keyword-definition.test.js new file mode 100644 index 00000000..b7cd039b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/buzz-verb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.buzzVerb'); diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js new file mode 100644 index 00000000..8fd4c04e --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.catchPhraseAdjective'); diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js new file mode 100644 index 00000000..44cbc8d0 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.catchPhraseDescriptor'); diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/catch-phrase-keyword-definition.test.js new file mode 100644 index 00000000..0fc7e2b8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/catch-phrase-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.catchPhrase'); diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js new file mode 100644 index 00000000..10df9f83 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.catchPhraseNoun'); diff --git a/packages/core/src/tests/keywords/domain/company/name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/company/name-keyword-definition.test.js new file mode 100644 index 00000000..96a8a12d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/company/name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('company.name'); diff --git a/packages/core/src/tests/keywords/domain/database/collation-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/database/collation-keyword-definition.test.js new file mode 100644 index 00000000..e86feb1c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/database/collation-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('database.collation'); diff --git a/packages/core/src/tests/keywords/domain/database/column-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/database/column-keyword-definition.test.js new file mode 100644 index 00000000..fb48c9fb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/database/column-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('database.column'); diff --git a/packages/core/src/tests/keywords/domain/database/engine-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/database/engine-keyword-definition.test.js new file mode 100644 index 00000000..fbe2087b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/database/engine-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('database.engine'); diff --git a/packages/core/src/tests/keywords/domain/database/mongodb-object-id-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/database/mongodb-object-id-keyword-definition.test.js new file mode 100644 index 00000000..09f9a020 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/database/mongodb-object-id-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('database.mongodbObjectId'); diff --git a/packages/core/src/tests/keywords/domain/database/type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/database/type-keyword-definition.test.js new file mode 100644 index 00000000..38f2f9e1 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/database/type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('database.type'); diff --git a/packages/core/src/tests/keywords/domain/datatype/boolean-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/datatype/boolean-keyword-definition.test.js new file mode 100644 index 00000000..d8d25909 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/datatype/boolean-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('datatype.boolean'); diff --git a/packages/core/src/tests/keywords/domain/date/anytime-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/anytime-keyword-definition.test.js new file mode 100644 index 00000000..5dfae387 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/anytime-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.anytime'); diff --git a/packages/core/src/tests/keywords/domain/date/between-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/between-keyword-definition.test.js new file mode 100644 index 00000000..723594b6 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/between-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.between'); diff --git a/packages/core/src/tests/keywords/domain/date/betweens-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/betweens-keyword-definition.test.js new file mode 100644 index 00000000..29dff706 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/betweens-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.betweens'); diff --git a/packages/core/src/tests/keywords/domain/date/birthdate-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/birthdate-keyword-definition.test.js new file mode 100644 index 00000000..2c503d94 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/birthdate-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.birthdate'); diff --git a/packages/core/src/tests/keywords/domain/date/future-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/future-keyword-definition.test.js new file mode 100644 index 00000000..de4f3e7b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/future-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.future'); diff --git a/packages/core/src/tests/keywords/domain/date/month-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/month-keyword-definition.test.js new file mode 100644 index 00000000..e70d6260 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/month-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.month'); diff --git a/packages/core/src/tests/keywords/domain/date/past-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/past-keyword-definition.test.js new file mode 100644 index 00000000..afea907f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/past-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.past'); diff --git a/packages/core/src/tests/keywords/domain/date/recent-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/recent-keyword-definition.test.js new file mode 100644 index 00000000..0baf21bd --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/recent-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.recent'); diff --git a/packages/core/src/tests/keywords/domain/date/soon-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/soon-keyword-definition.test.js new file mode 100644 index 00000000..649e93ec --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/soon-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.soon'); diff --git a/packages/core/src/tests/keywords/domain/date/time-zone-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/time-zone-keyword-definition.test.js new file mode 100644 index 00000000..131d02b4 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/time-zone-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.timeZone'); diff --git a/packages/core/src/tests/keywords/domain/date/weekday-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/date/weekday-keyword-definition.test.js new file mode 100644 index 00000000..e7ae0339 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/date/weekday-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('date.weekday'); diff --git a/packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js b/packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js new file mode 100644 index 00000000..25eb2885 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js @@ -0,0 +1,66 @@ +import { validateCommandHelpValue } from '../../../../js/command-help/command-help-contract.js'; +import { DOMAIN_KEYWORD_DEFINITIONS } from '../../../../js/domain/domain-keyword-definitions.js'; +import { + buildValidationContext, + executeDomainExample, + normalizeExampleValue, +} from '../../command-help/command-help-examples.test-support.js'; + +function getDomainKeywordDefinition(keyword) { + return DOMAIN_KEYWORD_DEFINITIONS.find((definition) => definition.keyword === keyword) || null; +} + +function defineDomainKeywordDefinitionTests(keyword) { + describe(`domain keyword definition ${keyword}`, () => { + const definition = getDomainKeywordDefinition(keyword); + + test('is registered with structured help metadata', () => { + expect(definition).toBeDefined(); + expect(definition).toEqual( + expect.objectContaining({ + keyword, + delegate: expect.objectContaining({ + type: expect.any(String), + target: expect.any(String), + }), + help: expect.objectContaining({ + summary: expect.any(String), + docsUrl: expect.any(String), + fakerDocsUrl: expect.any(String), + validator: expect.any(Function), + returnType: expect.any(String), + usageExamples: expect.any(Array), + args: expect.any(Array), + }), + }) + ); + expect(definition.help.usageExamples.length).toBeGreaterThan(0); + }); + + const usageExamples = Array.isArray(definition?.help?.usageExamples) ? definition.help.usageExamples : []; + + for (const [index, usageExample] of usageExamples.entries()) { + test(`example ${index + 1} ${usageExample.functionCall} executes, validates, and matches the seeded sample value`, () => { + const validationContext = buildValidationContext( + { + catalog: 'domain', + command: keyword, + help: definition.help, + sourceDefinition: definition, + sourceValidator: definition.help.validator, + }, + usageExample + ); + const actualValue = executeDomainExample(usageExample.functionCall); + + expect(validateCommandHelpValue(definition.help.validator, actualValue, validationContext)).toBe(true); + expect( + validateCommandHelpValue(definition.help.validator, usageExample.sampleReturnValue, validationContext) + ).toBe(true); + expect(normalizeExampleValue(actualValue)).toEqual(normalizeExampleValue(usageExample.sampleReturnValue)); + }); + } + }); +} + +export { defineDomainKeywordDefinitionTests }; diff --git a/packages/core/src/tests/keywords/domain/finance/account-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/account-name-keyword-definition.test.js new file mode 100644 index 00000000..2e271746 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/account-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.accountName'); diff --git a/packages/core/src/tests/keywords/domain/finance/account-number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/account-number-keyword-definition.test.js new file mode 100644 index 00000000..0d168869 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/account-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.accountNumber'); diff --git a/packages/core/src/tests/keywords/domain/finance/amount-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/amount-keyword-definition.test.js new file mode 100644 index 00000000..edbd9274 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/amount-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.amount'); diff --git a/packages/core/src/tests/keywords/domain/finance/bic-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/bic-keyword-definition.test.js new file mode 100644 index 00000000..1de160ca --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/bic-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.bic'); diff --git a/packages/core/src/tests/keywords/domain/finance/bitcoin-address-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/bitcoin-address-keyword-definition.test.js new file mode 100644 index 00000000..7afdc30a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/bitcoin-address-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.bitcoinAddress'); diff --git a/packages/core/src/tests/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js new file mode 100644 index 00000000..b981c9d6 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.creditCardCVV'); diff --git a/packages/core/src/tests/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js new file mode 100644 index 00000000..e285f531 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.creditCardIssuer'); diff --git a/packages/core/src/tests/keywords/domain/finance/credit-card-number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/credit-card-number-keyword-definition.test.js new file mode 100644 index 00000000..c69d378e --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/credit-card-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.creditCardNumber'); diff --git a/packages/core/src/tests/keywords/domain/finance/currency-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/currency-code-keyword-definition.test.js new file mode 100644 index 00000000..bc6e9730 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/currency-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.currencyCode'); diff --git a/packages/core/src/tests/keywords/domain/finance/currency-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/currency-keyword-definition.test.js new file mode 100644 index 00000000..e9bc2739 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/currency-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.currency'); diff --git a/packages/core/src/tests/keywords/domain/finance/currency-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/currency-name-keyword-definition.test.js new file mode 100644 index 00000000..978cb5bb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/currency-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.currencyName'); diff --git a/packages/core/src/tests/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js new file mode 100644 index 00000000..41f33625 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.currencyNumericCode'); diff --git a/packages/core/src/tests/keywords/domain/finance/currency-symbol-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/currency-symbol-keyword-definition.test.js new file mode 100644 index 00000000..c9441f97 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/currency-symbol-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.currencySymbol'); diff --git a/packages/core/src/tests/keywords/domain/finance/ethereum-address-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/ethereum-address-keyword-definition.test.js new file mode 100644 index 00000000..9e0e6fcd --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/ethereum-address-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.ethereumAddress'); diff --git a/packages/core/src/tests/keywords/domain/finance/iban-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/iban-keyword-definition.test.js new file mode 100644 index 00000000..30ab9e19 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/iban-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.iban'); diff --git a/packages/core/src/tests/keywords/domain/finance/litecoin-address-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/litecoin-address-keyword-definition.test.js new file mode 100644 index 00000000..154a03ea --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/litecoin-address-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.litecoinAddress'); diff --git a/packages/core/src/tests/keywords/domain/finance/pin-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/pin-keyword-definition.test.js new file mode 100644 index 00000000..058766b0 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/pin-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.pin'); diff --git a/packages/core/src/tests/keywords/domain/finance/routing-number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/routing-number-keyword-definition.test.js new file mode 100644 index 00000000..a608cfe2 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/routing-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.routingNumber'); diff --git a/packages/core/src/tests/keywords/domain/finance/transaction-description-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/transaction-description-keyword-definition.test.js new file mode 100644 index 00000000..339b57e3 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/transaction-description-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.transactionDescription'); diff --git a/packages/core/src/tests/keywords/domain/finance/transaction-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/finance/transaction-type-keyword-definition.test.js new file mode 100644 index 00000000..eecc40b2 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/finance/transaction-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('finance.transactionType'); diff --git a/packages/core/src/tests/keywords/domain/food/adjective-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/adjective-keyword-definition.test.js new file mode 100644 index 00000000..a1e78960 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/adjective-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.adjective'); diff --git a/packages/core/src/tests/keywords/domain/food/description-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/description-keyword-definition.test.js new file mode 100644 index 00000000..15258075 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/description-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.description'); diff --git a/packages/core/src/tests/keywords/domain/food/dish-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/dish-keyword-definition.test.js new file mode 100644 index 00000000..b995f82d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/dish-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.dish'); diff --git a/packages/core/src/tests/keywords/domain/food/ethnic-category-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/ethnic-category-keyword-definition.test.js new file mode 100644 index 00000000..b2a61d4c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/ethnic-category-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.ethnicCategory'); diff --git a/packages/core/src/tests/keywords/domain/food/fruit-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/fruit-keyword-definition.test.js new file mode 100644 index 00000000..11676e3c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/fruit-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.fruit'); diff --git a/packages/core/src/tests/keywords/domain/food/ingredient-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/ingredient-keyword-definition.test.js new file mode 100644 index 00000000..60996712 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/ingredient-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.ingredient'); diff --git a/packages/core/src/tests/keywords/domain/food/meat-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/meat-keyword-definition.test.js new file mode 100644 index 00000000..88a62faa --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/meat-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.meat'); diff --git a/packages/core/src/tests/keywords/domain/food/spice-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/spice-keyword-definition.test.js new file mode 100644 index 00000000..3787ac7d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/spice-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.spice'); diff --git a/packages/core/src/tests/keywords/domain/food/vegetable-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/food/vegetable-keyword-definition.test.js new file mode 100644 index 00000000..4e1f3701 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/food/vegetable-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('food.vegetable'); diff --git a/packages/core/src/tests/keywords/domain/git/branch-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/git/branch-keyword-definition.test.js new file mode 100644 index 00000000..2307b620 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/git/branch-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('git.branch'); diff --git a/packages/core/src/tests/keywords/domain/git/commit-date-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/git/commit-date-keyword-definition.test.js new file mode 100644 index 00000000..7c3f4832 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/git/commit-date-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('git.commitDate'); diff --git a/packages/core/src/tests/keywords/domain/git/commit-entry-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/git/commit-entry-keyword-definition.test.js new file mode 100644 index 00000000..19ba62eb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/git/commit-entry-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('git.commitEntry'); diff --git a/packages/core/src/tests/keywords/domain/git/commit-message-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/git/commit-message-keyword-definition.test.js new file mode 100644 index 00000000..09bc437a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/git/commit-message-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('git.commitMessage'); diff --git a/packages/core/src/tests/keywords/domain/git/commit-sha-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/git/commit-sha-keyword-definition.test.js new file mode 100644 index 00000000..82efcb87 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/git/commit-sha-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('git.commitSha'); diff --git a/packages/core/src/tests/keywords/domain/hacker/abbreviation-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/hacker/abbreviation-keyword-definition.test.js new file mode 100644 index 00000000..b2c303e2 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/hacker/abbreviation-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('hacker.abbreviation'); diff --git a/packages/core/src/tests/keywords/domain/hacker/adjective-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/hacker/adjective-keyword-definition.test.js new file mode 100644 index 00000000..b0eb49e9 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/hacker/adjective-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('hacker.adjective'); diff --git a/packages/core/src/tests/keywords/domain/hacker/ingverb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/hacker/ingverb-keyword-definition.test.js new file mode 100644 index 00000000..bc30023d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/hacker/ingverb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('hacker.ingverb'); diff --git a/packages/core/src/tests/keywords/domain/hacker/noun-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/hacker/noun-keyword-definition.test.js new file mode 100644 index 00000000..42ab5f38 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/hacker/noun-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('hacker.noun'); diff --git a/packages/core/src/tests/keywords/domain/hacker/phrase-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/hacker/phrase-keyword-definition.test.js new file mode 100644 index 00000000..333b0c8d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/hacker/phrase-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('hacker.phrase'); diff --git a/packages/core/src/tests/keywords/domain/hacker/verb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/hacker/verb-keyword-definition.test.js new file mode 100644 index 00000000..1eb28fe4 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/hacker/verb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('hacker.verb'); diff --git a/packages/core/src/tests/keywords/domain/image/avatar-git-hub-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/image/avatar-git-hub-keyword-definition.test.js new file mode 100644 index 00000000..7f4490c2 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/image/avatar-git-hub-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('image.avatarGitHub'); diff --git a/packages/core/src/tests/keywords/domain/image/avatar-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/image/avatar-keyword-definition.test.js new file mode 100644 index 00000000..bd3755fa --- /dev/null +++ b/packages/core/src/tests/keywords/domain/image/avatar-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('image.avatar'); diff --git a/packages/core/src/tests/keywords/domain/image/data-uri-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/image/data-uri-keyword-definition.test.js new file mode 100644 index 00000000..c226cd54 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/image/data-uri-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('image.dataUri'); diff --git a/packages/core/src/tests/keywords/domain/image/person-portrait-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/image/person-portrait-keyword-definition.test.js new file mode 100644 index 00000000..afb1136e --- /dev/null +++ b/packages/core/src/tests/keywords/domain/image/person-portrait-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('image.personPortrait'); diff --git a/packages/core/src/tests/keywords/domain/image/url-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/image/url-keyword-definition.test.js new file mode 100644 index 00000000..889f7c5d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/image/url-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('image.url'); diff --git a/packages/core/src/tests/keywords/domain/image/url-picsum-photos-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/image/url-picsum-photos-keyword-definition.test.js new file mode 100644 index 00000000..6a09571f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/image/url-picsum-photos-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('image.urlPicsumPhotos'); diff --git a/packages/core/src/tests/keywords/domain/internet/display-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/display-name-keyword-definition.test.js new file mode 100644 index 00000000..7f5de422 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/display-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.displayName'); diff --git a/packages/core/src/tests/keywords/domain/internet/domain-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/domain-name-keyword-definition.test.js new file mode 100644 index 00000000..7d3586ab --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/domain-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.domainName'); diff --git a/packages/core/src/tests/keywords/domain/internet/domain-suffix-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/domain-suffix-keyword-definition.test.js new file mode 100644 index 00000000..503255e7 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/domain-suffix-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.domainSuffix'); diff --git a/packages/core/src/tests/keywords/domain/internet/domain-word-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/domain-word-keyword-definition.test.js new file mode 100644 index 00000000..05cb5ece --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/domain-word-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.domainWord'); diff --git a/packages/core/src/tests/keywords/domain/internet/email-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/email-keyword-definition.test.js new file mode 100644 index 00000000..9445c75d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/email-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.email'); diff --git a/packages/core/src/tests/keywords/domain/internet/emoji-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/emoji-keyword-definition.test.js new file mode 100644 index 00000000..40aef37a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/emoji-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.emoji'); diff --git a/packages/core/src/tests/keywords/domain/internet/example-email-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/example-email-keyword-definition.test.js new file mode 100644 index 00000000..a04b365c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/example-email-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.exampleEmail'); diff --git a/packages/core/src/tests/keywords/domain/internet/http-method-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/http-method-keyword-definition.test.js new file mode 100644 index 00000000..1f18eddd --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/http-method-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.httpMethod'); diff --git a/packages/core/src/tests/keywords/domain/internet/http-status-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/http-status-code-keyword-definition.test.js new file mode 100644 index 00000000..a20fb96b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/http-status-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.httpStatusCode'); diff --git a/packages/core/src/tests/keywords/domain/internet/ip-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/ip-keyword-definition.test.js new file mode 100644 index 00000000..fd6bed88 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/ip-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.ip'); diff --git a/packages/core/src/tests/keywords/domain/internet/ipv4-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/ipv4-keyword-definition.test.js new file mode 100644 index 00000000..28f3ec4c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/ipv4-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.ipv4'); diff --git a/packages/core/src/tests/keywords/domain/internet/ipv6-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/ipv6-keyword-definition.test.js new file mode 100644 index 00000000..b4311be9 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/ipv6-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.ipv6'); diff --git a/packages/core/src/tests/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js new file mode 100644 index 00000000..5f557f2a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.jwtAlgorithm'); diff --git a/packages/core/src/tests/keywords/domain/internet/jwt-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/jwt-keyword-definition.test.js new file mode 100644 index 00000000..3f4eac4d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/jwt-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.jwt'); diff --git a/packages/core/src/tests/keywords/domain/internet/mac-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/mac-keyword-definition.test.js new file mode 100644 index 00000000..c10d7db6 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/mac-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.mac'); diff --git a/packages/core/src/tests/keywords/domain/internet/password-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/password-keyword-definition.test.js new file mode 100644 index 00000000..751b9d5a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/password-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.password'); diff --git a/packages/core/src/tests/keywords/domain/internet/port-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/port-keyword-definition.test.js new file mode 100644 index 00000000..4bb988e4 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/port-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.port'); diff --git a/packages/core/src/tests/keywords/domain/internet/protocol-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/protocol-keyword-definition.test.js new file mode 100644 index 00000000..f18a7d2c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/protocol-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.protocol'); diff --git a/packages/core/src/tests/keywords/domain/internet/url-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/url-keyword-definition.test.js new file mode 100644 index 00000000..df9ac55a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/url-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.url'); diff --git a/packages/core/src/tests/keywords/domain/internet/user-agent-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/user-agent-keyword-definition.test.js new file mode 100644 index 00000000..1779a492 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/user-agent-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.userAgent'); diff --git a/packages/core/src/tests/keywords/domain/internet/username-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/internet/username-keyword-definition.test.js new file mode 100644 index 00000000..0be227cc --- /dev/null +++ b/packages/core/src/tests/keywords/domain/internet/username-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('internet.username'); diff --git a/packages/core/src/tests/keywords/domain/literal/value-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/literal/value-keyword-definition.test.js new file mode 100644 index 00000000..e0792b63 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/literal/value-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('literal.value'); diff --git a/packages/core/src/tests/keywords/domain/location/building-number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/building-number-keyword-definition.test.js new file mode 100644 index 00000000..5871be47 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/building-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.buildingNumber'); diff --git a/packages/core/src/tests/keywords/domain/location/cardinal-direction-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/cardinal-direction-keyword-definition.test.js new file mode 100644 index 00000000..172d9147 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/cardinal-direction-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.cardinalDirection'); diff --git a/packages/core/src/tests/keywords/domain/location/city-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/city-keyword-definition.test.js new file mode 100644 index 00000000..4a421c55 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/city-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.city'); diff --git a/packages/core/src/tests/keywords/domain/location/continent-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/continent-keyword-definition.test.js new file mode 100644 index 00000000..19ba2317 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/continent-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.continent'); diff --git a/packages/core/src/tests/keywords/domain/location/country-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/country-code-keyword-definition.test.js new file mode 100644 index 00000000..65f0d3b8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/country-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.countryCode'); diff --git a/packages/core/src/tests/keywords/domain/location/country-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/country-keyword-definition.test.js new file mode 100644 index 00000000..fb8c5610 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/country-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.country'); diff --git a/packages/core/src/tests/keywords/domain/location/county-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/county-keyword-definition.test.js new file mode 100644 index 00000000..591bfde1 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/county-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.county'); diff --git a/packages/core/src/tests/keywords/domain/location/direction-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/direction-keyword-definition.test.js new file mode 100644 index 00000000..44c1c3aa --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/direction-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.direction'); diff --git a/packages/core/src/tests/keywords/domain/location/language-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/language-keyword-definition.test.js new file mode 100644 index 00000000..2648b668 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/language-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.language'); diff --git a/packages/core/src/tests/keywords/domain/location/latitude-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/latitude-keyword-definition.test.js new file mode 100644 index 00000000..1bacca33 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/latitude-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.latitude'); diff --git a/packages/core/src/tests/keywords/domain/location/longitude-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/longitude-keyword-definition.test.js new file mode 100644 index 00000000..ebab3ffe --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/longitude-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.longitude'); diff --git a/packages/core/src/tests/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js new file mode 100644 index 00000000..725d9ca9 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.nearbyGPSCoordinate'); diff --git a/packages/core/src/tests/keywords/domain/location/ordinal-direction-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/ordinal-direction-keyword-definition.test.js new file mode 100644 index 00000000..c8346858 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/ordinal-direction-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.ordinalDirection'); diff --git a/packages/core/src/tests/keywords/domain/location/secondary-address-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/secondary-address-keyword-definition.test.js new file mode 100644 index 00000000..3ec811d4 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/secondary-address-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.secondaryAddress'); diff --git a/packages/core/src/tests/keywords/domain/location/state-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/state-keyword-definition.test.js new file mode 100644 index 00000000..9049a230 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/state-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.state'); diff --git a/packages/core/src/tests/keywords/domain/location/street-address-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/street-address-keyword-definition.test.js new file mode 100644 index 00000000..b51e9347 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/street-address-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.streetAddress'); diff --git a/packages/core/src/tests/keywords/domain/location/street-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/street-keyword-definition.test.js new file mode 100644 index 00000000..31494de1 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/street-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.street'); diff --git a/packages/core/src/tests/keywords/domain/location/time-zone-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/time-zone-keyword-definition.test.js new file mode 100644 index 00000000..6d848475 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/time-zone-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.timeZone'); diff --git a/packages/core/src/tests/keywords/domain/location/zip-code-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/location/zip-code-keyword-definition.test.js new file mode 100644 index 00000000..b16037ff --- /dev/null +++ b/packages/core/src/tests/keywords/domain/location/zip-code-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('location.zipCode'); diff --git a/packages/core/src/tests/keywords/domain/lorem/lines-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/lines-keyword-definition.test.js new file mode 100644 index 00000000..7708a4a4 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/lines-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.lines'); diff --git a/packages/core/src/tests/keywords/domain/lorem/paragraph-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/paragraph-keyword-definition.test.js new file mode 100644 index 00000000..786bf781 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/paragraph-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.paragraph'); diff --git a/packages/core/src/tests/keywords/domain/lorem/paragraphs-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/paragraphs-keyword-definition.test.js new file mode 100644 index 00000000..dae174bf --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/paragraphs-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.paragraphs'); diff --git a/packages/core/src/tests/keywords/domain/lorem/sentence-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/sentence-keyword-definition.test.js new file mode 100644 index 00000000..7cff40db --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/sentence-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.sentence'); diff --git a/packages/core/src/tests/keywords/domain/lorem/sentences-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/sentences-keyword-definition.test.js new file mode 100644 index 00000000..3fe8fa9d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/sentences-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.sentences'); diff --git a/packages/core/src/tests/keywords/domain/lorem/slug-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/slug-keyword-definition.test.js new file mode 100644 index 00000000..7ddab8bb --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/slug-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.slug'); diff --git a/packages/core/src/tests/keywords/domain/lorem/text-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/text-keyword-definition.test.js new file mode 100644 index 00000000..04061643 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/text-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.text'); diff --git a/packages/core/src/tests/keywords/domain/lorem/word-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/word-keyword-definition.test.js new file mode 100644 index 00000000..107b0226 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/word-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.word'); diff --git a/packages/core/src/tests/keywords/domain/lorem/words-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/lorem/words-keyword-definition.test.js new file mode 100644 index 00000000..fad53213 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/lorem/words-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('lorem.words'); diff --git a/packages/core/src/tests/keywords/domain/music/album-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/music/album-keyword-definition.test.js new file mode 100644 index 00000000..3394aac1 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/music/album-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('music.album'); diff --git a/packages/core/src/tests/keywords/domain/music/artist-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/music/artist-keyword-definition.test.js new file mode 100644 index 00000000..ba15b3ba --- /dev/null +++ b/packages/core/src/tests/keywords/domain/music/artist-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('music.artist'); diff --git a/packages/core/src/tests/keywords/domain/music/genre-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/music/genre-keyword-definition.test.js new file mode 100644 index 00000000..d58cc746 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/music/genre-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('music.genre'); diff --git a/packages/core/src/tests/keywords/domain/music/song-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/music/song-name-keyword-definition.test.js new file mode 100644 index 00000000..5018c5ce --- /dev/null +++ b/packages/core/src/tests/keywords/domain/music/song-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('music.songName'); diff --git a/packages/core/src/tests/keywords/domain/number/big-int-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/big-int-keyword-definition.test.js new file mode 100644 index 00000000..6bef1932 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/big-int-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.bigInt'); diff --git a/packages/core/src/tests/keywords/domain/number/binary-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/binary-keyword-definition.test.js new file mode 100644 index 00000000..b81bb3a8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/binary-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.binary'); diff --git a/packages/core/src/tests/keywords/domain/number/float-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/float-keyword-definition.test.js new file mode 100644 index 00000000..200efcd8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/float-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.float'); diff --git a/packages/core/src/tests/keywords/domain/number/hex-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/hex-keyword-definition.test.js new file mode 100644 index 00000000..999a7390 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/hex-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.hex'); diff --git a/packages/core/src/tests/keywords/domain/number/int-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/int-keyword-definition.test.js new file mode 100644 index 00000000..d8234afd --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/int-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.int'); diff --git a/packages/core/src/tests/keywords/domain/number/octal-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/octal-keyword-definition.test.js new file mode 100644 index 00000000..15a9043c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/octal-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.octal'); diff --git a/packages/core/src/tests/keywords/domain/number/roman-numeral-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/number/roman-numeral-keyword-definition.test.js new file mode 100644 index 00000000..83fe1943 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/number/roman-numeral-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('number.romanNumeral'); diff --git a/packages/core/src/tests/keywords/domain/person/bio-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/bio-keyword-definition.test.js new file mode 100644 index 00000000..9184c07c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/bio-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.bio'); diff --git a/packages/core/src/tests/keywords/domain/person/first-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/first-name-keyword-definition.test.js new file mode 100644 index 00000000..d97f14a6 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/first-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.firstName'); diff --git a/packages/core/src/tests/keywords/domain/person/full-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/full-name-keyword-definition.test.js new file mode 100644 index 00000000..ce566efe --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/full-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.fullName'); diff --git a/packages/core/src/tests/keywords/domain/person/gender-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/gender-keyword-definition.test.js new file mode 100644 index 00000000..a2260e61 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/gender-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.gender'); diff --git a/packages/core/src/tests/keywords/domain/person/job-area-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/job-area-keyword-definition.test.js new file mode 100644 index 00000000..ae8f9c55 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/job-area-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.jobArea'); diff --git a/packages/core/src/tests/keywords/domain/person/job-descriptor-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/job-descriptor-keyword-definition.test.js new file mode 100644 index 00000000..e41a961c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/job-descriptor-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.jobDescriptor'); diff --git a/packages/core/src/tests/keywords/domain/person/job-title-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/job-title-keyword-definition.test.js new file mode 100644 index 00000000..944ffb54 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/job-title-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.jobTitle'); diff --git a/packages/core/src/tests/keywords/domain/person/job-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/job-type-keyword-definition.test.js new file mode 100644 index 00000000..522f363b --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/job-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.jobType'); diff --git a/packages/core/src/tests/keywords/domain/person/last-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/last-name-keyword-definition.test.js new file mode 100644 index 00000000..f782f0e8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/last-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.lastName'); diff --git a/packages/core/src/tests/keywords/domain/person/middle-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/middle-name-keyword-definition.test.js new file mode 100644 index 00000000..de4efdd6 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/middle-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.middleName'); diff --git a/packages/core/src/tests/keywords/domain/person/prefix-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/prefix-keyword-definition.test.js new file mode 100644 index 00000000..7a750b13 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/prefix-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.prefix'); diff --git a/packages/core/src/tests/keywords/domain/person/sex-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/sex-keyword-definition.test.js new file mode 100644 index 00000000..e9f5a6c5 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/sex-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.sex'); diff --git a/packages/core/src/tests/keywords/domain/person/sex-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/sex-type-keyword-definition.test.js new file mode 100644 index 00000000..428c9943 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/sex-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.sexType'); diff --git a/packages/core/src/tests/keywords/domain/person/suffix-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/suffix-keyword-definition.test.js new file mode 100644 index 00000000..99fd4f8c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/suffix-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.suffix'); diff --git a/packages/core/src/tests/keywords/domain/person/zodiac-sign-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/person/zodiac-sign-keyword-definition.test.js new file mode 100644 index 00000000..f3a6b138 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/person/zodiac-sign-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('person.zodiacSign'); diff --git a/packages/core/src/tests/keywords/domain/phone/imei-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/phone/imei-keyword-definition.test.js new file mode 100644 index 00000000..34fc69f8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/phone/imei-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('phone.imei'); diff --git a/packages/core/src/tests/keywords/domain/phone/number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/phone/number-keyword-definition.test.js new file mode 100644 index 00000000..bc2c4d27 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/phone/number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('phone.number'); diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js new file mode 100644 index 00000000..ca6972b7 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('science.chemicalElement.atomicNumber'); diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/science/chemical-element-keyword-definition.test.js new file mode 100644 index 00000000..82bad503 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/science/chemical-element-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('science.chemicalElement'); diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/science/chemical-element-name-keyword-definition.test.js new file mode 100644 index 00000000..e5e193d8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/science/chemical-element-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('science.chemicalElement.name'); diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js new file mode 100644 index 00000000..6810cc01 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('science.chemicalElement.symbol'); diff --git a/packages/core/src/tests/keywords/domain/science/unit-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/science/unit-keyword-definition.test.js new file mode 100644 index 00000000..c135b3d7 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/science/unit-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('science.unit'); diff --git a/packages/core/src/tests/keywords/domain/string/alpha-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/alpha-keyword-definition.test.js new file mode 100644 index 00000000..d00d733d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/alpha-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.alpha'); diff --git a/packages/core/src/tests/keywords/domain/string/alphanumeric-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/alphanumeric-keyword-definition.test.js new file mode 100644 index 00000000..51581587 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/alphanumeric-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.alphanumeric'); diff --git a/packages/core/src/tests/keywords/domain/string/binary-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/binary-keyword-definition.test.js new file mode 100644 index 00000000..e01799b8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/binary-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.binary'); diff --git a/packages/core/src/tests/keywords/domain/string/counter-string-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/counter-string-keyword-definition.test.js new file mode 100644 index 00000000..be78db76 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/counter-string-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.counterString'); diff --git a/packages/core/src/tests/keywords/domain/string/from-characters-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/from-characters-keyword-definition.test.js new file mode 100644 index 00000000..7d1db135 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/from-characters-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.fromCharacters'); diff --git a/packages/core/src/tests/keywords/domain/string/hexadecimal-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/hexadecimal-keyword-definition.test.js new file mode 100644 index 00000000..acb9fef2 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/hexadecimal-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.hexadecimal'); diff --git a/packages/core/src/tests/keywords/domain/string/nanoid-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/nanoid-keyword-definition.test.js new file mode 100644 index 00000000..4bb3cac5 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/nanoid-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.nanoid'); diff --git a/packages/core/src/tests/keywords/domain/string/numeric-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/numeric-keyword-definition.test.js new file mode 100644 index 00000000..3e4e5999 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/numeric-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.numeric'); diff --git a/packages/core/src/tests/keywords/domain/string/octal-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/octal-keyword-definition.test.js new file mode 100644 index 00000000..635e985c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/octal-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.octal'); diff --git a/packages/core/src/tests/keywords/domain/string/sample-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/sample-keyword-definition.test.js new file mode 100644 index 00000000..2c4b50e9 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/sample-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.sample'); diff --git a/packages/core/src/tests/keywords/domain/string/symbol-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/symbol-keyword-definition.test.js new file mode 100644 index 00000000..47381ce8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/symbol-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.symbol'); diff --git a/packages/core/src/tests/keywords/domain/string/ulid-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/ulid-keyword-definition.test.js new file mode 100644 index 00000000..75117f46 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/ulid-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.ulid'); diff --git a/packages/core/src/tests/keywords/domain/string/uuid-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/string/uuid-keyword-definition.test.js new file mode 100644 index 00000000..f6bc7a92 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/string/uuid-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('string.uuid'); diff --git a/packages/core/src/tests/keywords/domain/system/common-file-ext-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/common-file-ext-keyword-definition.test.js new file mode 100644 index 00000000..f763dcd5 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/common-file-ext-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.commonFileExt'); diff --git a/packages/core/src/tests/keywords/domain/system/common-file-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/common-file-name-keyword-definition.test.js new file mode 100644 index 00000000..aab1bd1a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/common-file-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.commonFileName'); diff --git a/packages/core/src/tests/keywords/domain/system/common-file-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/common-file-type-keyword-definition.test.js new file mode 100644 index 00000000..40f089fe --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/common-file-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.commonFileType'); diff --git a/packages/core/src/tests/keywords/domain/system/cron-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/cron-keyword-definition.test.js new file mode 100644 index 00000000..05b2a142 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/cron-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.cron'); diff --git a/packages/core/src/tests/keywords/domain/system/directory-path-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/directory-path-keyword-definition.test.js new file mode 100644 index 00000000..5013fd93 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/directory-path-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.directoryPath'); diff --git a/packages/core/src/tests/keywords/domain/system/file-ext-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/file-ext-keyword-definition.test.js new file mode 100644 index 00000000..b9bfff17 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/file-ext-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.fileExt'); diff --git a/packages/core/src/tests/keywords/domain/system/file-name-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/file-name-keyword-definition.test.js new file mode 100644 index 00000000..86d8512c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/file-name-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.fileName'); diff --git a/packages/core/src/tests/keywords/domain/system/file-path-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/file-path-keyword-definition.test.js new file mode 100644 index 00000000..90ae99b7 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/file-path-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.filePath'); diff --git a/packages/core/src/tests/keywords/domain/system/file-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/file-type-keyword-definition.test.js new file mode 100644 index 00000000..6e3b0c8c --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/file-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.fileType'); diff --git a/packages/core/src/tests/keywords/domain/system/mime-type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/mime-type-keyword-definition.test.js new file mode 100644 index 00000000..abf0448f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/mime-type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.mimeType'); diff --git a/packages/core/src/tests/keywords/domain/system/network-interface-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/network-interface-keyword-definition.test.js new file mode 100644 index 00000000..e12b4ecc --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/network-interface-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.networkInterface'); diff --git a/packages/core/src/tests/keywords/domain/system/semver-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/system/semver-keyword-definition.test.js new file mode 100644 index 00000000..6b20db24 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/system/semver-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('system.semver'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/bicycle-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/bicycle-keyword-definition.test.js new file mode 100644 index 00000000..c0890881 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/bicycle-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.bicycle'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/color-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/color-keyword-definition.test.js new file mode 100644 index 00000000..d062164e --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/color-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.color'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/fuel-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/fuel-keyword-definition.test.js new file mode 100644 index 00000000..2a3425ae --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/fuel-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.fuel'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/manufacturer-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/manufacturer-keyword-definition.test.js new file mode 100644 index 00000000..0d19784a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/manufacturer-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.manufacturer'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/model-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/model-keyword-definition.test.js new file mode 100644 index 00000000..355c7756 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/model-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.model'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/type-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/type-keyword-definition.test.js new file mode 100644 index 00000000..2f3ed7f8 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/type-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.type'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/vehicle-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/vehicle-keyword-definition.test.js new file mode 100644 index 00000000..08592f10 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/vehicle-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.vehicle'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/vin-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/vin-keyword-definition.test.js new file mode 100644 index 00000000..649b1b56 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/vin-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.vin'); diff --git a/packages/core/src/tests/keywords/domain/vehicle/vrm-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/vehicle/vrm-keyword-definition.test.js new file mode 100644 index 00000000..cf7333c7 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/vehicle/vrm-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('vehicle.vrm'); diff --git a/packages/core/src/tests/keywords/domain/word/adjective-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/adjective-keyword-definition.test.js new file mode 100644 index 00000000..aa179c9f --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/adjective-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.adjective'); diff --git a/packages/core/src/tests/keywords/domain/word/adverb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/adverb-keyword-definition.test.js new file mode 100644 index 00000000..2e98dff9 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/adverb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.adverb'); diff --git a/packages/core/src/tests/keywords/domain/word/conjunction-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/conjunction-keyword-definition.test.js new file mode 100644 index 00000000..d7b5ec95 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/conjunction-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.conjunction'); diff --git a/packages/core/src/tests/keywords/domain/word/interjection-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/interjection-keyword-definition.test.js new file mode 100644 index 00000000..25d49077 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/interjection-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.interjection'); diff --git a/packages/core/src/tests/keywords/domain/word/noun-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/noun-keyword-definition.test.js new file mode 100644 index 00000000..3f22be7a --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/noun-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.noun'); diff --git a/packages/core/src/tests/keywords/domain/word/preposition-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/preposition-keyword-definition.test.js new file mode 100644 index 00000000..240d025d --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/preposition-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.preposition'); diff --git a/packages/core/src/tests/keywords/domain/word/sample-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/sample-keyword-definition.test.js new file mode 100644 index 00000000..c4b92c16 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/sample-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.sample'); diff --git a/packages/core/src/tests/keywords/domain/word/verb-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/verb-keyword-definition.test.js new file mode 100644 index 00000000..d0c571b4 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/verb-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.verb'); diff --git a/packages/core/src/tests/keywords/domain/word/words-keyword-definition.test.js b/packages/core/src/tests/keywords/domain/word/words-keyword-definition.test.js new file mode 100644 index 00000000..34c05929 --- /dev/null +++ b/packages/core/src/tests/keywords/domain/word/words-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineDomainKeywordDefinitionTests } from '../define-domain-keyword-definition-tests.js'; + +defineDomainKeywordDefinitionTests('word.words'); diff --git a/packages/core/src/tests/keywords/faker/helpers/array-element-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/array-element-keyword-definition.test.js new file mode 100644 index 00000000..23776b04 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/array-element-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.arrayElement'); diff --git a/packages/core/src/tests/keywords/faker/helpers/array-elements-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/array-elements-keyword-definition.test.js new file mode 100644 index 00000000..1f4afb36 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/array-elements-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.arrayElements'); diff --git a/packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js b/packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js new file mode 100644 index 00000000..5a875a7a --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js @@ -0,0 +1,67 @@ +import { validateCommandHelpValue } from '../../../../../js/command-help/command-help-contract.js'; +import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../../../js/faker/faker-helper-keyword-definitions.js'; +import { + buildValidationContext, + executeFakerExample, + isForbiddenFakerCommand, + normalizeExampleValue, +} from '../../../command-help/command-help-examples.test-support.js'; + +function defineFakerHelperKeywordDefinitionTests(command) { + describe(`faker helper keyword definition ${command}`, () => { + const definition = FAKER_HELPER_KEYWORD_DEFINITIONS[command]; + + test('is registered with structured metadata', () => { + expect(definition).toBeDefined(); + expect(definition).toEqual( + expect.objectContaining({ + summary: expect.any(String), + docsUrl: expect.any(String), + validator: expect.any(Function), + returnType: expect.any(String), + usageExamples: expect.any(Array), + params: expect.any(Array), + }) + ); + expect(definition.usageExamples.length).toBeGreaterThan(0); + }); + + if (isForbiddenFakerCommand(command)) { + test('skips executable sample assertions for unsupported literal signatures', () => { + expect(isForbiddenFakerCommand(command)).toBe(true); + }); + return; + } + + const usageExamples = Array.isArray(definition?.usageExamples) ? definition.usageExamples : []; + + for (const [index, usageExample] of usageExamples.entries()) { + test(`example ${index + 1} ${usageExample.functionCall} executes, validates, and matches the seeded sample value`, () => { + const validationContext = buildValidationContext( + { + catalog: 'faker', + command, + help: { + validator: definition.validator, + usageExamples: definition.usageExamples, + params: definition.params, + returnType: definition.returnType, + }, + sourceDefinition: definition, + sourceValidator: definition.validator, + }, + usageExample + ); + const actualValue = executeFakerExample(usageExample.functionCall); + + expect(validateCommandHelpValue(definition.validator, actualValue, validationContext)).toBe(true); + expect(validateCommandHelpValue(definition.validator, usageExample.sampleReturnValue, validationContext)).toBe( + true + ); + expect(normalizeExampleValue(actualValue)).toEqual(normalizeExampleValue(usageExample.sampleReturnValue)); + }); + } + }); +} + +export { defineFakerHelperKeywordDefinitionTests }; diff --git a/packages/core/src/tests/keywords/faker/helpers/enum-value-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/enum-value-keyword-definition.test.js new file mode 100644 index 00000000..336009f9 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/enum-value-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.enumValue'); diff --git a/packages/core/src/tests/keywords/faker/helpers/fake-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/fake-keyword-definition.test.js new file mode 100644 index 00000000..615b41bd --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/fake-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.fake'); diff --git a/packages/core/src/tests/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js new file mode 100644 index 00000000..4467f458 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.fromRegExp'); diff --git a/packages/core/src/tests/keywords/faker/helpers/maybe-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/maybe-keyword-definition.test.js new file mode 100644 index 00000000..6ab0e9a0 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/maybe-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.maybe'); diff --git a/packages/core/src/tests/keywords/faker/helpers/multiple-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/multiple-keyword-definition.test.js new file mode 100644 index 00000000..96138a8d --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/multiple-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.multiple'); diff --git a/packages/core/src/tests/keywords/faker/helpers/mustache-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/mustache-keyword-definition.test.js new file mode 100644 index 00000000..d71f2b37 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/mustache-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.mustache'); diff --git a/packages/core/src/tests/keywords/faker/helpers/object-entry-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/object-entry-keyword-definition.test.js new file mode 100644 index 00000000..464d7819 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/object-entry-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.objectEntry'); diff --git a/packages/core/src/tests/keywords/faker/helpers/object-key-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/object-key-keyword-definition.test.js new file mode 100644 index 00000000..881a6338 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/object-key-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.objectKey'); diff --git a/packages/core/src/tests/keywords/faker/helpers/object-value-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/object-value-keyword-definition.test.js new file mode 100644 index 00000000..6bf4a7f7 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/object-value-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.objectValue'); diff --git a/packages/core/src/tests/keywords/faker/helpers/range-to-number-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/range-to-number-keyword-definition.test.js new file mode 100644 index 00000000..2ab63af9 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/range-to-number-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.rangeToNumber'); diff --git a/packages/core/src/tests/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js new file mode 100644 index 00000000..9fc37089 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.replaceCreditCardSymbols'); diff --git a/packages/core/src/tests/keywords/faker/helpers/replace-symbols-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/replace-symbols-keyword-definition.test.js new file mode 100644 index 00000000..75313da3 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/replace-symbols-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.replaceSymbols'); diff --git a/packages/core/src/tests/keywords/faker/helpers/shuffle-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/shuffle-keyword-definition.test.js new file mode 100644 index 00000000..358e68d6 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/shuffle-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.shuffle'); diff --git a/packages/core/src/tests/keywords/faker/helpers/slugify-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/slugify-keyword-definition.test.js new file mode 100644 index 00000000..729ea58e --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/slugify-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.slugify'); diff --git a/packages/core/src/tests/keywords/faker/helpers/unique-array-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/unique-array-keyword-definition.test.js new file mode 100644 index 00000000..47088fc5 --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/unique-array-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.uniqueArray'); diff --git a/packages/core/src/tests/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js b/packages/core/src/tests/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js new file mode 100644 index 00000000..d442694a --- /dev/null +++ b/packages/core/src/tests/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js @@ -0,0 +1,3 @@ +import { defineFakerHelperKeywordDefinitionTests } from './define-faker-helper-keyword-definition-tests.js'; + +defineFakerHelperKeywordDefinitionTests('helpers.weightedArrayElement'); diff --git a/packages/core/src/tests/keywords/keyword-definition-registries.test.js b/packages/core/src/tests/keywords/keyword-definition-registries.test.js new file mode 100644 index 00000000..e9ebefd9 --- /dev/null +++ b/packages/core/src/tests/keywords/keyword-definition-registries.test.js @@ -0,0 +1,71 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { pathToFileURL } from 'node:url'; +import { DOMAIN_KEYWORD_DEFINITIONS } from '../../../js/domain/domain-keyword-definitions.js'; +import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../js/faker/faker-helper-keyword-definitions.js'; + +const repoRoot = path.resolve(process.cwd()); +const domainKeywordRoot = path.join(repoRoot, 'packages/core/js/keywords/domain'); +const fakerHelperKeywordRoot = path.join(repoRoot, 'packages/core/js/keywords/faker/helpers'); + +function collectDefinitionModuleFiles(rootDir) { + const modulePaths = []; + + function visit(currentDir) { + for (const entry of fs.readdirSync(currentDir, { withFileTypes: true })) { + const fullPath = path.join(currentDir, entry.name); + if (entry.isDirectory()) { + visit(fullPath); + continue; + } + if (entry.isFile() && entry.name.endsWith('-keyword-definition.js')) { + modulePaths.push(fullPath); + } + } + } + + visit(rootDir); + return modulePaths.sort((left, right) => left.localeCompare(right)); +} + +async function importKeywordDefinitionExports(modulePaths) { + const definitions = []; + + for (const modulePath of modulePaths) { + const moduleNamespace = await import(pathToFileURL(modulePath).href); + for (const [exportName, value] of Object.entries(moduleNamespace)) { + if (exportName.endsWith('_KEYWORD_DEFINITION') && value && typeof value === 'object') { + definitions.push(value); + } + } + } + + return definitions; +} + +describe('keyword definition registries', () => { + test('domain registry assembles the same keyword set as the per-keyword modules', async () => { + const modulePaths = collectDefinitionModuleFiles(domainKeywordRoot); + const moduleDefinitions = await importKeywordDefinitionExports(modulePaths); + + expect(moduleDefinitions.map((definition) => definition.keyword).sort()).toEqual( + DOMAIN_KEYWORD_DEFINITIONS.map((definition) => definition.keyword).sort() + ); + }); + + test('faker helper registry assembles the same command set as the per-keyword modules', async () => { + const modulePaths = collectDefinitionModuleFiles(fakerHelperKeywordRoot); + const moduleDefinitions = await importKeywordDefinitionExports(modulePaths); + + const helperCommandsFromModules = moduleDefinitions + .map((definition) => definition.usageExamples?.[0]?.functionCall || '') + .map((functionCall) => + String(functionCall || '') + .split('(')[0] + .trim() + ) + .sort(); + + expect(helperCommandsFromModules).toEqual(Object.keys(FAKER_HELPER_KEYWORD_DEFINITIONS).sort()); + }); +}); From d14451bc4da040fe79063299ae6269e07908184b Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 16:13:38 +0100 Subject: [PATCH 09/16] Reorganize keyword tests and fix docs generation --- .../docs/040-test-data/domain/110-date.md | 2 +- .../docs/040-test-data/domain/170-internet.md | 2 +- .../docs/040-test-data/domain/260-string.md | 4 +-- .../aircraft-type-keyword-definition.test.js | 0 .../domain/airline/airline-exec.test.js} | 4 +-- ...rline-iata-code-keyword-definition.test.js | 0 .../airline-keyword-definition.test.js | 0 .../airline-name-keyword-definition.test.js | 0 ...-iata-type-code-keyword-definition.test.js | 0 .../airplane-keyword-definition.test.js | 0 .../airplane-name-keyword-definition.test.js | 0 ...rport-iata-code-keyword-definition.test.js | 0 .../airport-keyword-definition.test.js | 0 .../airport-name-keyword-definition.test.js | 0 .../flight-number-keyword-definition.test.js | 0 .../record-locator-keyword-definition.test.js | 0 .../airline/seat-keyword-definition.test.js | 0 .../domain/animal/animal-exec.test.js} | 4 +-- .../animal/bear-keyword-definition.test.js | 0 .../animal/bird-keyword-definition.test.js | 0 .../animal/cat-keyword-definition.test.js | 0 .../cetacean-keyword-definition.test.js | 0 .../animal/cow-keyword-definition.test.js | 0 .../crocodilia-keyword-definition.test.js | 0 .../animal/dog-keyword-definition.test.js | 0 .../animal/fish-keyword-definition.test.js | 0 .../animal/horse-keyword-definition.test.js | 0 .../animal/insect-keyword-definition.test.js | 0 .../animal/lion-keyword-definition.test.js | 0 .../pet-name-keyword-definition.test.js | 0 .../animal/rabbit-keyword-definition.test.js | 0 .../animal/rodent-keyword-definition.test.js | 0 .../animal/snake-keyword-definition.test.js | 0 .../animal/type-keyword-definition.test.js | 0 .../auto-increment-sequence.test.js | 2 +- .../auto-increment-timestamp.test.js | 2 +- .../autoincrement/sequence-exec.test.js} | 4 +-- .../sequence-keyword-definition.test.js | 0 .../autoincrement/timestamp-exec.test.js} | 4 +-- .../timestamp-keyword-definition.test.js | 0 .../book/author-keyword-definition.test.js | 0 .../domain/book/book-exec.test.js} | 4 +-- .../book/format-keyword-definition.test.js | 0 .../book/genre-keyword-definition.test.js | 0 .../book/publisher-keyword-definition.test.js | 0 .../book/series-keyword-definition.test.js | 0 .../book/title-keyword-definition.test.js | 0 .../color/cmyk-keyword-definition.test.js | 0 ...-csscolor-space-keyword-definition.test.js | 0 .../domain/color/color-exec.test.js} | 4 +-- ...ported-function-keyword-definition.test.js | 0 ...supported-space-keyword-definition.test.js | 0 .../color/hsl-keyword-definition.test.js | 0 .../color/human-keyword-definition.test.js | 0 .../color/hwb-keyword-definition.test.js | 0 .../color/lab-keyword-definition.test.js | 0 .../color/lch-keyword-definition.test.js | 0 .../color/rgb-keyword-definition.test.js | 0 .../color/space-keyword-definition.test.js | 0 .../domain/commerce/commerce-exec.test.js} | 6 ++-- .../department-keyword-definition.test.js | 0 .../commerce/isbn-keyword-definition.test.js | 0 .../commerce/price-keyword-definition.test.js | 0 ...oduct-adjective-keyword-definition.test.js | 0 ...uct-description-keyword-definition.test.js | 0 .../product-keyword-definition.test.js | 0 ...roduct-material-keyword-definition.test.js | 0 .../product-name-keyword-definition.test.js | 0 .../commerce/upc-keyword-definition.test.js | 0 .../buzz-adjective-keyword-definition.test.js | 0 .../buzz-noun-keyword-definition.test.js | 0 .../buzz-phrase-keyword-definition.test.js | 0 .../buzz-verb-keyword-definition.test.js | 0 ...hrase-adjective-keyword-definition.test.js | 0 ...rase-descriptor-keyword-definition.test.js | 0 .../catch-phrase-keyword-definition.test.js | 0 ...tch-phrase-noun-keyword-definition.test.js | 0 .../domain/company/company-exec.test.js} | 4 +-- .../company/name-keyword-definition.test.js | 0 .../collation-keyword-definition.test.js | 0 .../column-keyword-definition.test.js | 0 .../domain/database/database-exec.test.js} | 4 +-- .../engine-keyword-definition.test.js | 0 ...ngodb-object-id-keyword-definition.test.js | 0 .../database/type-keyword-definition.test.js | 0 .../boolean-keyword-definition.test.js | 0 .../domain/datatype/datatype-exec.test.js} | 4 +-- .../date/anytime-keyword-definition.test.js | 0 .../date/between-keyword-definition.test.js | 0 .../date/betweens-keyword-definition.test.js | 0 .../date/birthdate-keyword-definition.test.js | 0 .../domain/date/date-exec.test.js} | 4 +-- .../date/future-keyword-definition.test.js | 0 .../date/month-keyword-definition.test.js | 0 .../date/past-keyword-definition.test.js | 0 .../date/recent-keyword-definition.test.js | 0 .../date/soon-keyword-definition.test.js | 0 .../date/time-zone-keyword-definition.test.js | 0 .../date/weekday-keyword-definition.test.js | 0 .../define-domain-keyword-definition-tests.js | 6 ++-- .../account-name-keyword-definition.test.js | 0 .../account-number-keyword-definition.test.js | 0 .../finance/amount-keyword-definition.test.js | 0 .../finance/bic-keyword-definition.test.js | 0 ...bitcoin-address-keyword-definition.test.js | 0 ...credit-card-cvv-keyword-definition.test.js | 0 ...dit-card-issuer-keyword-definition.test.js | 0 ...dit-card-number-keyword-definition.test.js | 0 .../currency-code-keyword-definition.test.js | 0 .../currency-keyword-definition.test.js | 0 .../currency-name-keyword-definition.test.js | 0 ...cy-numeric-code-keyword-definition.test.js | 0 ...currency-symbol-keyword-definition.test.js | 0 ...thereum-address-keyword-definition.test.js | 0 .../domain/finance/finance-exec.test.js} | 6 ++-- .../finance/iban-keyword-definition.test.js | 0 ...itecoin-address-keyword-definition.test.js | 0 .../finance/pin-keyword-definition.test.js | 0 .../routing-number-keyword-definition.test.js | 0 ...ion-description-keyword-definition.test.js | 0 ...ransaction-type-keyword-definition.test.js | 0 .../food/adjective-keyword-definition.test.js | 0 .../description-keyword-definition.test.js | 0 .../food/dish-keyword-definition.test.js | 0 ...ethnic-category-keyword-definition.test.js | 0 .../domain/food/food-exec.test.js} | 4 +-- .../food/fruit-keyword-definition.test.js | 0 .../ingredient-keyword-definition.test.js | 0 .../food/meat-keyword-definition.test.js | 0 .../food/spice-keyword-definition.test.js | 0 .../food/vegetable-keyword-definition.test.js | 0 .../git/branch-keyword-definition.test.js | 0 .../commit-date-keyword-definition.test.js | 0 .../commit-entry-keyword-definition.test.js | 0 .../commit-message-keyword-definition.test.js | 0 .../git/commit-sha-keyword-definition.test.js | 0 .../domain/git/git-exec.test.js} | 4 +-- .../abbreviation-keyword-definition.test.js | 0 .../adjective-keyword-definition.test.js | 0 .../domain/hacker/hacker-exec.test.js} | 4 +-- .../hacker/ingverb-keyword-definition.test.js | 0 .../hacker/noun-keyword-definition.test.js | 0 .../hacker/phrase-keyword-definition.test.js | 0 .../hacker/verb-keyword-definition.test.js | 0 .../avatar-git-hub-keyword-definition.test.js | 0 .../image/avatar-keyword-definition.test.js | 0 .../image/data-uri-keyword-definition.test.js | 0 .../domain/image/image-exec.test.js} | 4 +-- ...person-portrait-keyword-definition.test.js | 0 .../image/url-keyword-definition.test.js | 0 ...l-picsum-photos-keyword-definition.test.js | 0 .../display-name-keyword-definition.test.js | 0 .../domain-name-keyword-definition.test.js | 0 .../domain-suffix-keyword-definition.test.js | 0 .../domain-word-keyword-definition.test.js | 0 .../internet/email-keyword-definition.test.js | 0 .../internet/emoji-keyword-definition.test.js | 0 .../example-email-keyword-definition.test.js | 0 .../domain/internet/http-method-exec.test.js | 27 +++++++++++++++++ .../http-method-keyword-definition.test.js | 0 ...ttp-status-code-keyword-definition.test.js | 0 .../domain/internet/internet-exec.test.js} | 29 ++----------------- .../internet}/internet-http-method.test.js | 2 +- .../internet/ip-keyword-definition.test.js | 0 .../internet/ipv4-keyword-definition.test.js | 0 .../internet/ipv6-keyword-definition.test.js | 0 .../jwt-algorithm-keyword-definition.test.js | 0 .../internet/jwt-keyword-definition.test.js | 0 .../internet/mac-keyword-definition.test.js | 0 .../password-keyword-definition.test.js | 0 .../internet/port-keyword-definition.test.js | 0 .../protocol-keyword-definition.test.js | 0 .../internet/url-keyword-definition.test.js | 0 .../user-agent-keyword-definition.test.js | 0 .../username-keyword-definition.test.js | 0 .../domain/literal/literal-exec.test.js} | 4 +-- .../literal/value-keyword-definition.test.js | 0 ...building-number-keyword-definition.test.js | 0 ...dinal-direction-keyword-definition.test.js | 0 .../location/city-keyword-definition.test.js | 0 .../continent-keyword-definition.test.js | 0 .../country-code-keyword-definition.test.js | 0 .../country-keyword-definition.test.js | 0 .../county-keyword-definition.test.js | 0 .../direction-keyword-definition.test.js | 0 .../language-keyword-definition.test.js | 0 .../latitude-keyword-definition.test.js | 0 .../domain/location/location-exec.test.js} | 6 ++-- .../longitude-keyword-definition.test.js | 0 ...y-gpscoordinate-keyword-definition.test.js | 0 ...dinal-direction-keyword-definition.test.js | 0 ...condary-address-keyword-definition.test.js | 0 .../location/state-keyword-definition.test.js | 0 .../street-address-keyword-definition.test.js | 0 .../street-keyword-definition.test.js | 0 .../time-zone-keyword-definition.test.js | 0 .../zip-code-keyword-definition.test.js | 0 .../lorem/lines-keyword-definition.test.js | 0 .../domain/lorem/lorem-exec.test.js} | 4 +-- .../paragraph-keyword-definition.test.js | 0 .../paragraphs-keyword-definition.test.js | 0 .../lorem/sentence-keyword-definition.test.js | 0 .../sentences-keyword-definition.test.js | 0 .../lorem/slug-keyword-definition.test.js | 0 .../lorem/text-keyword-definition.test.js | 0 .../lorem/word-keyword-definition.test.js | 0 .../lorem/words-keyword-definition.test.js | 0 .../music/album-keyword-definition.test.js | 0 .../music/artist-keyword-definition.test.js | 0 .../music/genre-keyword-definition.test.js | 0 .../domain/music/music-exec.test.js} | 4 +-- .../song-name-keyword-definition.test.js | 0 .../number/big-int-keyword-definition.test.js | 0 .../number/binary-keyword-definition.test.js | 0 .../number/float-keyword-definition.test.js | 0 .../number/hex-keyword-definition.test.js | 0 .../number/int-keyword-definition.test.js | 0 .../domain/number/number-exec.test.js} | 6 ++-- .../number/octal-keyword-definition.test.js | 0 .../roman-numeral-keyword-definition.test.js | 0 .../person/bio-keyword-definition.test.js | 0 .../first-name-keyword-definition.test.js | 0 .../full-name-keyword-definition.test.js | 0 .../person/gender-keyword-definition.test.js | 0 .../job-area-keyword-definition.test.js | 0 .../job-descriptor-keyword-definition.test.js | 0 .../job-title-keyword-definition.test.js | 0 .../job-type-keyword-definition.test.js | 0 .../last-name-keyword-definition.test.js | 0 .../middle-name-keyword-definition.test.js | 0 .../domain/person/person-exec.test.js} | 4 +-- .../person/prefix-keyword-definition.test.js | 0 .../person/sex-keyword-definition.test.js | 0 .../sex-type-keyword-definition.test.js | 0 .../person/suffix-keyword-definition.test.js | 0 .../zodiac-sign-keyword-definition.test.js | 0 .../phone/imei-keyword-definition.test.js | 0 .../phone/number-keyword-definition.test.js | 0 .../domain/phone/phone-exec.test.js} | 4 +-- ...t-atomic-number-keyword-definition.test.js | 0 ...hemical-element-keyword-definition.test.js | 0 ...al-element-name-keyword-definition.test.js | 0 ...-element-symbol-keyword-definition.test.js | 0 .../domain/science/science-exec.test.js} | 4 +-- .../science/unit-keyword-definition.test.js | 0 .../string/alpha-keyword-definition.test.js | 0 .../alphanumeric-keyword-definition.test.js | 0 .../string/binary-keyword-definition.test.js | 0 .../string/counter-string-exec.test.js} | 4 +-- .../counter-string-keyword-definition.test.js | 0 .../domain/string}/counterstring.test.js | 2 +- ...from-characters-keyword-definition.test.js | 0 .../hexadecimal-keyword-definition.test.js | 0 .../string/nanoid-keyword-definition.test.js | 0 .../string/numeric-keyword-definition.test.js | 0 .../string/octal-keyword-definition.test.js | 0 .../string/sample-keyword-definition.test.js | 0 .../domain/string/string-exec.test.js} | 4 +-- .../string/symbol-keyword-definition.test.js | 0 .../string/ulid-keyword-definition.test.js | 0 .../string/uuid-keyword-definition.test.js | 0 ...common-file-ext-keyword-definition.test.js | 0 ...ommon-file-name-keyword-definition.test.js | 0 ...ommon-file-type-keyword-definition.test.js | 0 .../system/cron-keyword-definition.test.js | 0 .../directory-path-keyword-definition.test.js | 0 .../file-ext-keyword-definition.test.js | 0 .../file-name-keyword-definition.test.js | 0 .../file-path-keyword-definition.test.js | 0 .../file-type-keyword-definition.test.js | 0 .../mime-type-keyword-definition.test.js | 0 ...twork-interface-keyword-definition.test.js | 0 .../system/semver-keyword-definition.test.js | 0 .../domain/system/system-exec.test.js} | 6 ++-- .../bicycle-keyword-definition.test.js | 0 .../vehicle/color-keyword-definition.test.js | 0 .../vehicle/fuel-keyword-definition.test.js | 0 .../manufacturer-keyword-definition.test.js | 0 .../vehicle/model-keyword-definition.test.js | 0 .../vehicle/type-keyword-definition.test.js | 0 .../domain/vehicle/vehicle-exec.test.js} | 4 +-- .../vehicle-keyword-definition.test.js | 0 .../vehicle/vin-keyword-definition.test.js | 0 .../vehicle/vrm-keyword-definition.test.js | 0 .../word/adjective-keyword-definition.test.js | 0 .../word/adverb-keyword-definition.test.js | 0 .../conjunction-keyword-definition.test.js | 0 .../interjection-keyword-definition.test.js | 0 .../word/noun-keyword-definition.test.js | 0 .../preposition-keyword-definition.test.js | 0 .../word/sample-keyword-definition.test.js | 0 .../word/verb-keyword-definition.test.js | 0 .../domain/word/word-exec.test.js} | 4 +-- .../word/words-keyword-definition.test.js | 0 .../array-element-keyword-definition.test.js | 0 .../array-elements-keyword-definition.test.js | 0 ...e-faker-helper-keyword-definition-tests.js | 6 ++-- .../enum-value-keyword-definition.test.js | 0 .../helpers/fake-keyword-definition.test.js | 0 .../from-reg-exp-keyword-definition.test.js | 0 .../helpers/maybe-keyword-definition.test.js | 0 .../multiple-keyword-definition.test.js | 0 .../mustache-keyword-definition.test.js | 0 .../object-entry-keyword-definition.test.js | 0 .../object-key-keyword-definition.test.js | 0 .../object-value-keyword-definition.test.js | 0 ...range-to-number-keyword-definition.test.js | 0 ...it-card-symbols-keyword-definition.test.js | 0 ...replace-symbols-keyword-definition.test.js | 0 .../shuffle-keyword-definition.test.js | 0 .../slugify-keyword-definition.test.js | 0 .../unique-array-keyword-definition.test.js | 0 ...d-array-element-keyword-definition.test.js | 0 .../keyword-definition-registries.test.js | 4 +-- scripts/generate-domain-docs.mjs | 3 ++ 315 files changed, 112 insertions(+), 105 deletions(-) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/aircraft-type-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-airline-exec.test.js => keywords/domain/airline/airline-exec.test.js} (94%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airline-iata-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airline-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airline-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airplane-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airplane-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airport-iata-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airport-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/airport-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/flight-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/record-locator-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/airline/seat-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-animal-exec.test.js => keywords/domain/animal/animal-exec.test.js} (94%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/bear-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/bird-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/cat-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/cetacean-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/cow-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/crocodilia-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/dog-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/fish-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/horse-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/insect-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/lion-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/pet-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/rabbit-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/rodent-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/snake-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/animal/type-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain => keywords/domain/autoincrement}/auto-increment-sequence.test.js (96%) rename packages/core/src/tests/data_generation/{unit/domain => keywords/domain/autoincrement}/auto-increment-timestamp.test.js (97%) rename packages/core/src/tests/data_generation/{unit/domain/domain-autoincrement-sequence-exec.test.js => keywords/domain/autoincrement/sequence-exec.test.js} (88%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/autoincrement/sequence-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-autoincrement-timestamp-exec.test.js => keywords/domain/autoincrement/timestamp-exec.test.js} (91%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/autoincrement/timestamp-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/book/author-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-book-exec.test.js => keywords/domain/book/book-exec.test.js} (87%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/book/format-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/book/genre-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/book/publisher-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/book/series-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/book/title-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/cmyk-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-color-exec.test.js => keywords/domain/color/color-exec.test.js} (94%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/css-supported-function-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/css-supported-space-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/hsl-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/human-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/hwb-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/lab-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/lch-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/rgb-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/color/space-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-commerce-exec.test.js => keywords/domain/commerce/commerce-exec.test.js} (90%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/department-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/isbn-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/price-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/product-adjective-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/product-description-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/product-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/product-material-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/product-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/commerce/upc-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/buzz-adjective-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/buzz-noun-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/buzz-phrase-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/buzz-verb-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/catch-phrase-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-company-exec.test.js => keywords/domain/company/company-exec.test.js} (92%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/company/name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/database/collation-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/database/column-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-database-exec.test.js => keywords/domain/database/database-exec.test.js} (86%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/database/engine-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/database/mongodb-object-id-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/database/type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/datatype/boolean-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-datatype-exec.test.js => keywords/domain/datatype/datatype-exec.test.js} (89%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/anytime-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/between-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/betweens-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/birthdate-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-date-exec.test.js => keywords/domain/date/date-exec.test.js} (95%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/future-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/month-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/past-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/recent-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/soon-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/time-zone-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/date/weekday-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/define-domain-keyword-definition-tests.js (89%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/account-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/account-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/amount-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/bic-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/bitcoin-address-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/credit-card-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/currency-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/currency-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/currency-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/currency-symbol-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/ethereum-address-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-finance-exec.test.js => keywords/domain/finance/finance-exec.test.js} (95%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/iban-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/litecoin-address-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/pin-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/routing-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/transaction-description-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/finance/transaction-type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/adjective-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/description-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/dish-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/ethnic-category-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-food-exec.test.js => keywords/domain/food/food-exec.test.js} (91%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/fruit-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/ingredient-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/meat-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/spice-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/food/vegetable-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/git/branch-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/git/commit-date-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/git/commit-entry-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/git/commit-message-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/git/commit-sha-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-git-exec.test.js => keywords/domain/git/git-exec.test.js} (86%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/hacker/abbreviation-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/hacker/adjective-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-hacker-exec.test.js => keywords/domain/hacker/hacker-exec.test.js} (88%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/hacker/ingverb-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/hacker/noun-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/hacker/phrase-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/hacker/verb-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/image/avatar-git-hub-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/image/avatar-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/image/data-uri-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-image-exec.test.js => keywords/domain/image/image-exec.test.js} (88%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/image/person-portrait-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/image/url-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/image/url-picsum-photos-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/display-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/domain-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/domain-suffix-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/domain-word-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/email-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/emoji-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/example-email-keyword-definition.test.js (100%) create mode 100644 packages/core/src/tests/data_generation/keywords/domain/internet/http-method-exec.test.js rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/http-method-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/http-status-code-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-internet-exec.test.js => keywords/domain/internet/internet-exec.test.js} (83%) rename packages/core/src/tests/data_generation/{unit/domain => keywords/domain/internet}/internet-http-method.test.js (95%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/ip-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/ipv4-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/ipv6-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/jwt-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/mac-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/password-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/port-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/protocol-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/url-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/user-agent-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/internet/username-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-literal-exec.test.js => keywords/domain/literal/literal-exec.test.js} (89%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/literal/value-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/building-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/cardinal-direction-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/city-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/continent-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/country-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/country-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/county-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/direction-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/language-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/latitude-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-location-exec.test.js => keywords/domain/location/location-exec.test.js} (96%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/longitude-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/ordinal-direction-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/secondary-address-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/state-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/street-address-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/street-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/time-zone-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/location/zip-code-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/lines-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-lorem-exec.test.js => keywords/domain/lorem/lorem-exec.test.js} (91%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/paragraph-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/paragraphs-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/sentence-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/sentences-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/slug-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/text-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/word-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/lorem/words-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/music/album-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/music/artist-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/music/genre-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-music-exec.test.js => keywords/domain/music/music-exec.test.js} (80%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/music/song-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/big-int-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/binary-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/float-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/hex-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/int-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-number-exec.test.js => keywords/domain/number/number-exec.test.js} (91%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/octal-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/number/roman-numeral-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/bio-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/first-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/full-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/gender-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/job-area-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/job-descriptor-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/job-title-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/job-type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/last-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/middle-name-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-person-exec.test.js => keywords/domain/person/person-exec.test.js} (94%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/prefix-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/sex-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/sex-type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/suffix-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/person/zodiac-sign-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/phone/imei-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/phone/number-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-phone-exec.test.js => keywords/domain/phone/phone-exec.test.js} (72%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/science/chemical-element-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/science/chemical-element-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-science-exec.test.js => keywords/domain/science/science-exec.test.js} (90%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/science/unit-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/alpha-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/alphanumeric-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/binary-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-string-counterstring-exec.test.js => keywords/domain/string/counter-string-exec.test.js} (86%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/counter-string-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain => keywords/domain/string}/counterstring.test.js (94%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/from-characters-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/hexadecimal-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/nanoid-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/numeric-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/octal-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/sample-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-string-exec.test.js => keywords/domain/string/string-exec.test.js} (97%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/symbol-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/ulid-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/string/uuid-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/common-file-ext-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/common-file-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/common-file-type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/cron-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/directory-path-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/file-ext-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/file-name-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/file-path-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/file-type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/mime-type-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/network-interface-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/system/semver-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-system-exec.test.js => keywords/domain/system/system-exec.test.js} (94%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/bicycle-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/color-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/fuel-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/manufacturer-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/model-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/type-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-vehicle-exec.test.js => keywords/domain/vehicle/vehicle-exec.test.js} (91%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/vehicle-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/vin-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/vehicle/vrm-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/adjective-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/adverb-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/conjunction-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/interjection-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/noun-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/preposition-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/sample-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/verb-keyword-definition.test.js (100%) rename packages/core/src/tests/data_generation/{unit/domain/domain-word-exec.test.js => keywords/domain/word/word-exec.test.js} (91%) rename packages/core/src/tests/{ => data_generation}/keywords/domain/word/words-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/array-element-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/array-elements-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js (91%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/enum-value-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/fake-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/maybe-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/multiple-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/mustache-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/object-entry-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/object-key-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/object-value-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/range-to-number-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/replace-symbols-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/shuffle-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/slugify-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/unique-array-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js (100%) rename packages/core/src/tests/{ => data_generation}/keywords/keyword-definition-registries.test.js (92%) diff --git a/docs-src/docs/040-test-data/domain/110-date.md b/docs-src/docs/040-test-data/domain/110-date.md index a2d5c665..2fe0ccbc 100644 --- a/docs-src/docs/040-test-data/domain/110-date.md +++ b/docs-src/docs/040-test-data/domain/110-date.md @@ -94,7 +94,7 @@ Shows date.betweens with only the required range boundaries. date.betweens(from=1577836800000, to=1609372800000) ``` -Returns: `["2020-02-03T16:53:09.924Z","2020-02-23T13:34:53.772Z","2020-04-20T08:26:00.010Z"]` +Returns: `["2020-01-01T01:00:06.924Z","2020-06-01T05:06:45.940Z","2020-09-19T22:02:33.225Z"]` Shows date.betweens returning two sorted dates within a range. diff --git a/docs-src/docs/040-test-data/domain/170-internet.md b/docs-src/docs/040-test-data/domain/170-internet.md index 9aaa6781..17d9d71a 100644 --- a/docs-src/docs/040-test-data/domain/170-internet.md +++ b/docs-src/docs/040-test-data/domain/170-internet.md @@ -99,7 +99,7 @@ Generates data using faker internet email. | Arg | Type | Required | Description | | --- | --- | --- | --- | -| `allowSpecialCharacters` | `boolean` | no | Whether special characters such as .!#$%&'*+-/=?^_`{\|}~ should be included in the email address. | +| `allowSpecialCharacters` | `boolean` | no | Whether special characters such as .!#$%&'*+-/=?^_`{\|}~ should be included in the email address. | | `firstName` | `string` | no | The optional first name to use. | | `lastName` | `string` | no | The optional last name to use. | | `provider` | `string` | no | The mail provider domain to use. If not specified, a random free mail provider will be chosen. | diff --git a/docs-src/docs/040-test-data/domain/260-string.md b/docs-src/docs/040-test-data/domain/260-string.md index afadf091..3e38c29d 100644 --- a/docs-src/docs/040-test-data/domain/260-string.md +++ b/docs-src/docs/040-test-data/domain/260-string.md @@ -252,7 +252,7 @@ Shows string.fromCharacters with only the required characters argument. string.fromCharacters(characters="ABC123") ``` -Returns: `B` +Returns: `C` Shows string.fromCharacters in use. @@ -462,7 +462,7 @@ Returns: `Gc!=.` ### `string.symbol` -Returns a string containing only ASCII symbol characters such as !, ", #, $, %, &, (, ), *, +, -, /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, and ~. +Returns a string containing only ASCII symbol characters such as !, ", #, $, %, &, (, ), *, +, -, /, :, ;, <, =, >, ?, @, [, \, ], ^, _, `, {, |, }, and ~. - Canonical: `awd.domain.string.symbol` - Faker docs: [https://fakerjs.dev/api/string](https://fakerjs.dev/api/string) diff --git a/packages/core/src/tests/keywords/domain/airline/aircraft-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/aircraft-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/aircraft-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/aircraft-type-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-airline-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airline-exec.test.js similarity index 94% rename from packages/core/src/tests/data_generation/unit/domain/domain-airline-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airline-exec.test.js index 255e4926..7ad46840 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-airline-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/airline/airline-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('airline domain keyword execution', () => { test('executes airline.aircraftType', () => { diff --git a/packages/core/src/tests/keywords/domain/airline/airline-iata-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airline-iata-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airline-iata-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airline-iata-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airline-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airline-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airline-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airline-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airline-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airline-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airline-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airline-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airplane-iata-type-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airplane-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airplane-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airplane-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airplane-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airplane-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airplane-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airplane-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airplane-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airport-iata-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airport-iata-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airport-iata-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airport-iata-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airport-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airport-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airport-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airport-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/airport-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/airport-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/airport-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/airport-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/flight-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/flight-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/flight-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/flight-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/record-locator-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/record-locator-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/record-locator-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/record-locator-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/airline/seat-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/airline/seat-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/airline/seat-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/airline/seat-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-animal-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/animal-exec.test.js similarity index 94% rename from packages/core/src/tests/data_generation/unit/domain/domain-animal-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/animal-exec.test.js index 6adf3f1b..0ddc8b8c 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-animal-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/animal/animal-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('animal domain keyword execution', () => { test('executes animal.bear', () => { diff --git a/packages/core/src/tests/keywords/domain/animal/bear-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/bear-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/bear-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/bear-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/bird-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/bird-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/bird-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/bird-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/cat-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/cat-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/cat-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/cat-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/cetacean-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/cetacean-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/cetacean-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/cetacean-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/cow-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/cow-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/cow-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/cow-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/crocodilia-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/crocodilia-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/crocodilia-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/crocodilia-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/dog-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/dog-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/dog-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/dog-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/fish-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/fish-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/fish-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/fish-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/horse-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/horse-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/horse-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/horse-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/insect-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/insect-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/insect-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/insect-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/lion-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/lion-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/lion-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/lion-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/pet-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/pet-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/pet-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/pet-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/rabbit-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/rabbit-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/rabbit-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/rabbit-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/rodent-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/rodent-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/rodent-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/rodent-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/snake-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/snake-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/snake-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/snake-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/animal/type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/animal/type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/animal/type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/animal/type-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/auto-increment-sequence.test.js similarity index 96% rename from packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js rename to packages/core/src/tests/data_generation/keywords/domain/autoincrement/auto-increment-sequence.test.js index 1ce92466..32833040 100644 --- a/packages/core/src/tests/data_generation/unit/domain/auto-increment-sequence.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/auto-increment-sequence.test.js @@ -1,7 +1,7 @@ import { executeCustomAutoIncrementSequence, formatAutoIncrementValue, -} from '../../../../../js/keywords/domain/autoincrement/auto-increment-sequence.js'; +} from '../../../../../../js/keywords/domain/autoincrement/auto-increment-sequence.js'; describe('custom auto increment sequence implementation', () => { test('formats padded values and preserves negative signs', () => { diff --git a/packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/auto-increment-timestamp.test.js similarity index 97% rename from packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js rename to packages/core/src/tests/data_generation/keywords/domain/autoincrement/auto-increment-timestamp.test.js index eb8d1acb..a82b994d 100644 --- a/packages/core/src/tests/data_generation/unit/domain/auto-increment-timestamp.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/auto-increment-timestamp.test.js @@ -1,4 +1,4 @@ -import { executeCustomAutoIncrementTimestamp } from '../../../../../js/keywords/domain/autoincrement/auto-increment-timestamp.js'; +import { executeCustomAutoIncrementTimestamp } from '../../../../../../js/keywords/domain/autoincrement/auto-increment-timestamp.js'; describe('custom auto increment timestamp implementation', () => { test('defaults to runStartedAt and increments by seconds using rowIndex', () => { diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/sequence-exec.test.js similarity index 88% rename from packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/autoincrement/sequence-exec.test.js index c14d2dcb..de728159 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-sequence-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/sequence-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; describe('autoIncrement.sequence domain keyword execution', () => { test('routes execution through the domain keyword interface', () => { diff --git a/packages/core/src/tests/keywords/domain/autoincrement/sequence-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/sequence-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/autoincrement/sequence-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/autoincrement/sequence-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/timestamp-exec.test.js similarity index 91% rename from packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/autoincrement/timestamp-exec.test.js index 8cf1949b..7b286591 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-autoincrement-timestamp-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/timestamp-exec.test.js @@ -1,5 +1,5 @@ -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; describe('autoIncrement.timestamp domain keyword execution', () => { test('routes execution through the domain keyword interface', () => { diff --git a/packages/core/src/tests/keywords/domain/autoincrement/timestamp-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/autoincrement/timestamp-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/autoincrement/timestamp-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/autoincrement/timestamp-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/book/author-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/author-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/book/author-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/author-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-book-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/book-exec.test.js similarity index 87% rename from packages/core/src/tests/data_generation/unit/domain/domain-book-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/book-exec.test.js index 5642fec0..e4ae8733 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-book-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/book/book-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('book domain keyword execution', () => { test('executes book.author', () => { diff --git a/packages/core/src/tests/keywords/domain/book/format-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/format-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/book/format-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/format-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/book/genre-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/genre-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/book/genre-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/genre-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/book/publisher-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/publisher-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/book/publisher-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/publisher-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/book/series-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/series-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/book/series-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/series-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/book/title-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/book/title-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/book/title-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/book/title-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/cmyk-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/cmyk-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/cmyk-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/cmyk-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/color-by-csscolor-space-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-color-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/color-exec.test.js similarity index 94% rename from packages/core/src/tests/data_generation/unit/domain/domain-color-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/color-exec.test.js index f9c3b018..e4de8c0a 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-color-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/color/color-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('color domain keyword execution', () => { test('executes color.cmyk', () => { diff --git a/packages/core/src/tests/keywords/domain/color/css-supported-function-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/css-supported-function-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/css-supported-function-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/css-supported-function-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/css-supported-space-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/css-supported-space-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/css-supported-space-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/css-supported-space-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/hsl-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/hsl-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/hsl-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/hsl-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/human-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/human-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/human-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/human-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/hwb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/hwb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/hwb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/hwb-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/lab-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/lab-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/lab-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/lab-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/lch-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/lch-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/lch-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/lch-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/rgb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/rgb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/rgb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/rgb-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/color/space-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/color/space-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/color/space-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/color/space-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-commerce-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/commerce-exec.test.js similarity index 90% rename from packages/core/src/tests/data_generation/unit/domain/domain-commerce-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/commerce-exec.test.js index fb94b84c..5d842fc6 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-commerce-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/commerce/commerce-exec.test.js @@ -1,7 +1,7 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('commerce domain keyword execution', () => { test('executes commerce.department', () => { diff --git a/packages/core/src/tests/keywords/domain/commerce/department-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/department-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/department-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/department-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/isbn-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/isbn-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/isbn-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/isbn-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/price-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/price-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/price-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/price-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/product-adjective-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/product-adjective-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/product-adjective-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/product-adjective-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/product-description-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/product-description-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/product-description-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/product-description-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/product-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/product-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/product-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/product-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/product-material-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/product-material-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/product-material-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/product-material-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/product-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/product-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/product-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/product-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/commerce/upc-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/commerce/upc-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/commerce/upc-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/commerce/upc-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/buzz-adjective-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/buzz-adjective-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/buzz-adjective-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/buzz-adjective-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/buzz-noun-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/buzz-noun-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/buzz-noun-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/buzz-noun-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/buzz-phrase-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/buzz-phrase-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/buzz-phrase-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/buzz-phrase-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/buzz-verb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/buzz-verb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/buzz-verb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/buzz-verb-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-adjective-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-descriptor-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/catch-phrase-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/catch-phrase-noun-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-company-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/company-exec.test.js similarity index 92% rename from packages/core/src/tests/data_generation/unit/domain/domain-company-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/company-exec.test.js index 29a2fbd7..0bb81521 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-company-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/company/company-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('company domain keyword execution', () => { test('executes company.buzzAdjective', () => { diff --git a/packages/core/src/tests/keywords/domain/company/name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/company/name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/company/name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/company/name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/database/collation-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/database/collation-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/database/collation-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/database/collation-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/database/column-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/database/column-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/database/column-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/database/column-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-database-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/database/database-exec.test.js similarity index 86% rename from packages/core/src/tests/data_generation/unit/domain/domain-database-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/database/database-exec.test.js index 8c10b83b..df5866ec 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-database-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/database/database-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('database domain keyword execution', () => { test('executes database.collation', () => { diff --git a/packages/core/src/tests/keywords/domain/database/engine-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/database/engine-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/database/engine-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/database/engine-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/database/mongodb-object-id-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/database/mongodb-object-id-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/database/mongodb-object-id-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/database/mongodb-object-id-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/database/type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/database/type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/database/type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/database/type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/datatype/boolean-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/datatype/boolean-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/datatype/boolean-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/datatype/boolean-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-datatype-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/datatype/datatype-exec.test.js similarity index 89% rename from packages/core/src/tests/data_generation/unit/domain/domain-datatype-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/datatype/datatype-exec.test.js index 11538580..56fd0994 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-datatype-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/datatype/datatype-exec.test.js @@ -1,6 +1,6 @@ import { Faker, en } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; describe('datatype domain keyword execution', () => { let faker; diff --git a/packages/core/src/tests/keywords/domain/date/anytime-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/anytime-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/anytime-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/anytime-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/between-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/between-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/between-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/between-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/betweens-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/betweens-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/betweens-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/betweens-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/birthdate-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/birthdate-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/birthdate-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/birthdate-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-date-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/date-exec.test.js similarity index 95% rename from packages/core/src/tests/data_generation/unit/domain/domain-date-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/date-exec.test.js index fe1fa603..5cd7fdfe 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-date-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/date/date-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; describe('date domain keyword execution', () => { test('executes date.anytime', () => { diff --git a/packages/core/src/tests/keywords/domain/date/future-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/future-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/future-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/future-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/month-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/month-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/month-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/month-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/past-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/past-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/past-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/past-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/recent-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/recent-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/recent-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/recent-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/soon-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/soon-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/soon-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/soon-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/time-zone-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/time-zone-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/time-zone-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/time-zone-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/date/weekday-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/date/weekday-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/date/weekday-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/date/weekday-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js b/packages/core/src/tests/data_generation/keywords/domain/define-domain-keyword-definition-tests.js similarity index 89% rename from packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js rename to packages/core/src/tests/data_generation/keywords/domain/define-domain-keyword-definition-tests.js index 25eb2885..2e9b2ac9 100644 --- a/packages/core/src/tests/keywords/domain/define-domain-keyword-definition-tests.js +++ b/packages/core/src/tests/data_generation/keywords/domain/define-domain-keyword-definition-tests.js @@ -1,10 +1,10 @@ -import { validateCommandHelpValue } from '../../../../js/command-help/command-help-contract.js'; -import { DOMAIN_KEYWORD_DEFINITIONS } from '../../../../js/domain/domain-keyword-definitions.js'; +import { validateCommandHelpValue } from '../../../../../js/command-help/command-help-contract.js'; +import { DOMAIN_KEYWORD_DEFINITIONS } from '../../../../../js/domain/domain-keyword-definitions.js'; import { buildValidationContext, executeDomainExample, normalizeExampleValue, -} from '../../command-help/command-help-examples.test-support.js'; +} from '../../../command-help/command-help-examples.test-support.js'; function getDomainKeywordDefinition(keyword) { return DOMAIN_KEYWORD_DEFINITIONS.find((definition) => definition.keyword === keyword) || null; diff --git a/packages/core/src/tests/keywords/domain/finance/account-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/account-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/account-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/account-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/account-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/account-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/account-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/account-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/amount-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/amount-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/amount-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/amount-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/bic-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/bic-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/bic-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/bic-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/bitcoin-address-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/bitcoin-address-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/bitcoin-address-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/bitcoin-address-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/credit-card-cvv-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/credit-card-issuer-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/credit-card-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/credit-card-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/credit-card-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/credit-card-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/currency-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/currency-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/currency-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/currency-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/currency-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/currency-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/currency-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/currency-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/currency-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/currency-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/currency-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/currency-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/currency-numeric-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/currency-symbol-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/currency-symbol-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/currency-symbol-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/currency-symbol-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/ethereum-address-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/ethereum-address-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/ethereum-address-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/ethereum-address-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-finance-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/finance-exec.test.js similarity index 95% rename from packages/core/src/tests/data_generation/unit/domain/domain-finance-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/finance-exec.test.js index 628be6ac..eef29398 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-finance-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/finance/finance-exec.test.js @@ -1,7 +1,7 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('finance domain keyword execution', () => { test('executes finance.accountName', () => { diff --git a/packages/core/src/tests/keywords/domain/finance/iban-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/iban-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/iban-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/iban-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/litecoin-address-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/litecoin-address-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/litecoin-address-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/litecoin-address-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/pin-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/pin-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/pin-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/pin-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/routing-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/routing-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/routing-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/routing-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/transaction-description-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/transaction-description-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/transaction-description-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/transaction-description-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/finance/transaction-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/finance/transaction-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/finance/transaction-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/finance/transaction-type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/adjective-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/adjective-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/adjective-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/adjective-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/description-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/description-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/description-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/description-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/dish-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/dish-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/dish-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/dish-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/ethnic-category-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/ethnic-category-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/ethnic-category-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/ethnic-category-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-food-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/food-exec.test.js similarity index 91% rename from packages/core/src/tests/data_generation/unit/domain/domain-food-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/food-exec.test.js index 5cad1340..0c3ac26b 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-food-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/food/food-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('food domain keyword execution', () => { test('executes food.adjective', () => { diff --git a/packages/core/src/tests/keywords/domain/food/fruit-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/fruit-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/fruit-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/fruit-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/ingredient-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/ingredient-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/ingredient-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/ingredient-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/meat-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/meat-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/meat-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/meat-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/spice-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/spice-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/spice-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/spice-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/food/vegetable-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/food/vegetable-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/food/vegetable-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/food/vegetable-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/git/branch-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/git/branch-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/git/branch-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/git/branch-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/git/commit-date-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/git/commit-date-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/git/commit-date-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/git/commit-date-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/git/commit-entry-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/git/commit-entry-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/git/commit-entry-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/git/commit-entry-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/git/commit-message-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/git/commit-message-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/git/commit-message-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/git/commit-message-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/git/commit-sha-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/git/commit-sha-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/git/commit-sha-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/git/commit-sha-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-git-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/git/git-exec.test.js similarity index 86% rename from packages/core/src/tests/data_generation/unit/domain/domain-git-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/git/git-exec.test.js index 54a08225..7cb4e810 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-git-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/git/git-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('git domain keyword execution', () => { test('executes git.branch', () => { diff --git a/packages/core/src/tests/keywords/domain/hacker/abbreviation-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/abbreviation-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/hacker/abbreviation-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/abbreviation-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/hacker/adjective-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/adjective-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/hacker/adjective-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/adjective-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-hacker-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/hacker-exec.test.js similarity index 88% rename from packages/core/src/tests/data_generation/unit/domain/domain-hacker-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/hacker-exec.test.js index 4171827e..7322a6ff 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-hacker-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/hacker/hacker-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('hacker domain keyword execution', () => { test('executes hacker.abbreviation', () => { diff --git a/packages/core/src/tests/keywords/domain/hacker/ingverb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/ingverb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/hacker/ingverb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/ingverb-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/hacker/noun-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/noun-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/hacker/noun-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/noun-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/hacker/phrase-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/phrase-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/hacker/phrase-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/phrase-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/hacker/verb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/hacker/verb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/hacker/verb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/hacker/verb-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/image/avatar-git-hub-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/avatar-git-hub-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/image/avatar-git-hub-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/avatar-git-hub-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/image/avatar-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/avatar-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/image/avatar-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/avatar-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/image/data-uri-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/data-uri-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/image/data-uri-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/data-uri-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/image-exec.test.js similarity index 88% rename from packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/image-exec.test.js index d09bfcb2..f4d44cf2 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-image-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/image/image-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('image domain keyword execution', () => { test('executes image.avatar', () => { diff --git a/packages/core/src/tests/keywords/domain/image/person-portrait-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/person-portrait-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/image/person-portrait-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/person-portrait-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/image/url-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/url-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/image/url-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/url-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/image/url-picsum-photos-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/image/url-picsum-photos-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/image/url-picsum-photos-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/image/url-picsum-photos-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/display-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/display-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/display-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/display-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/domain-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/domain-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/domain-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/domain-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/domain-suffix-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/domain-suffix-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/domain-suffix-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/domain-suffix-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/domain-word-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/domain-word-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/domain-word-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/domain-word-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/email-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/email-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/email-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/email-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/emoji-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/emoji-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/emoji-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/emoji-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/example-email-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/example-email-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/example-email-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/example-email-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/keywords/domain/internet/http-method-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/http-method-exec.test.js new file mode 100644 index 00000000..ef1c5fe7 --- /dev/null +++ b/packages/core/src/tests/data_generation/keywords/domain/internet/http-method-exec.test.js @@ -0,0 +1,27 @@ +import { faker } from '@faker-js/faker'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; + +describe('internet.httpMethod domain keyword execution', () => { + test('routes execution through the domain keyword interface', () => { + const result = executeDomainKeyword('internet.httpMethod', { faker, args: [] }); + expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']).toContain(result); + }); + + test('supports named parameters through the parser and execution interface', () => { + const parsed = parseKeywordInvocation('internet.httpMethod(commonOnly=true, excludes="head, delete")'); + expect(parsed.errors).toEqual([]); + + const result = executeDomainKeyword(parsed.keyword, { faker, args: parsed.args }); + expect(['GET', 'POST', 'PUT']).toContain(result); + }); + + test('surfaces helper validation errors through the execution interface', () => { + expect(() => + executeDomainKeyword('internet.httpMethod', { + faker, + args: [true, 'get, head, post, put, delete'], + }) + ).toThrow('Invalid argument for excludes: no HTTP methods remain after exclusions.'); + }); +}); diff --git a/packages/core/src/tests/keywords/domain/internet/http-method-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/http-method-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/http-method-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/http-method-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/http-status-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/http-status-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/http-status-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/http-status-code-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/internet-exec.test.js similarity index 83% rename from packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/internet-exec.test.js index c2b88853..771f9aa8 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-internet-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/internet/internet-exec.test.js @@ -1,7 +1,7 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; function decodeJwtPart(part) { const normalized = part.replace(/-/g, '+').replace(/_/g, '/'); @@ -52,29 +52,6 @@ describe('internet domain keyword execution', () => { expectMeaningfulString(result); }); - test('executes internet.httpMethod', () => { - const result = executeDomainKeyword('internet.httpMethod', { faker, args: [] }); - console.log('internet.httpMethod', result); - expect(['GET', 'HEAD', 'POST', 'PUT', 'DELETE', 'PATCH', 'OPTIONS', 'TRACE', 'CONNECT']).toContain(result); - }); - - test('internet.httpMethod supports named parameters through the parser and execution interface', () => { - const parsed = parseKeywordInvocation('internet.httpMethod(commonOnly=true, excludes="head, delete")'); - expect(parsed.errors).toEqual([]); - - const result = executeDomainKeyword(parsed.keyword, { faker, args: parsed.args }); - expect(['GET', 'POST', 'PUT']).toContain(result); - }); - - test('internet.httpMethod surfaces helper validation errors through the execution interface', () => { - expect(() => - executeDomainKeyword('internet.httpMethod', { - faker, - args: [true, 'get, head, post, put, delete'], - }) - ).toThrow('Invalid argument for excludes: no HTTP methods remain after exclusions.'); - }); - test('executes internet.httpStatusCode', () => { const result = executeDomainKeyword('internet.httpStatusCode', { faker, args: [] }); console.log('internet.httpStatusCode', result); diff --git a/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/internet-http-method.test.js similarity index 95% rename from packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/internet-http-method.test.js index e7312b8e..bd5c4996 100644 --- a/packages/core/src/tests/data_generation/unit/domain/internet-http-method.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/internet/internet-http-method.test.js @@ -5,7 +5,7 @@ import { getInternetHttpMethodPool, normalizeHttpMethodToken, parseExcludedHttpMethodsCsv, -} from '../../../../../js/keywords/domain/internet/internet-http-method.js'; +} from '../../../../../../js/keywords/domain/internet/internet-http-method.js'; describe('custom internet.httpMethod helpers', () => { test('normalizes http method tokens to trimmed uppercase values', () => { diff --git a/packages/core/src/tests/keywords/domain/internet/ip-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/ip-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/ip-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/ip-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/ipv4-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/ipv4-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/ipv4-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/ipv4-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/ipv6-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/ipv6-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/ipv6-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/ipv6-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/jwt-algorithm-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/jwt-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/jwt-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/jwt-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/jwt-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/mac-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/mac-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/mac-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/mac-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/password-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/password-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/password-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/password-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/port-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/port-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/port-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/port-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/protocol-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/protocol-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/protocol-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/protocol-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/url-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/url-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/url-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/url-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/user-agent-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/user-agent-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/user-agent-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/user-agent-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/internet/username-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/internet/username-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/internet/username-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/internet/username-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-literal-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/literal/literal-exec.test.js similarity index 89% rename from packages/core/src/tests/data_generation/unit/domain/domain-literal-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/literal/literal-exec.test.js index 21450822..7a637147 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-literal-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/literal/literal-exec.test.js @@ -1,5 +1,5 @@ -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; describe('literal domain keyword execution', () => { test('executes literal.value with provided value', () => { diff --git a/packages/core/src/tests/keywords/domain/literal/value-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/literal/value-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/literal/value-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/literal/value-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/building-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/building-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/building-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/building-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/cardinal-direction-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/cardinal-direction-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/cardinal-direction-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/cardinal-direction-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/city-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/city-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/city-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/city-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/continent-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/continent-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/continent-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/continent-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/country-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/country-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/country-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/country-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/country-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/country-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/country-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/country-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/county-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/county-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/county-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/county-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/direction-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/direction-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/direction-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/direction-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/language-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/language-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/language-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/language-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/latitude-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/latitude-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/latitude-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/latitude-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-location-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/location-exec.test.js similarity index 96% rename from packages/core/src/tests/data_generation/unit/domain/domain-location-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/location-exec.test.js index f94440e6..515eade8 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-location-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/location/location-exec.test.js @@ -1,7 +1,7 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('location domain keyword execution', () => { test('executes location.buildingNumber', () => { diff --git a/packages/core/src/tests/keywords/domain/location/longitude-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/longitude-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/longitude-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/longitude-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/nearby-gpscoordinate-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/ordinal-direction-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/ordinal-direction-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/ordinal-direction-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/ordinal-direction-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/secondary-address-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/secondary-address-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/secondary-address-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/secondary-address-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/state-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/state-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/state-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/state-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/street-address-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/street-address-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/street-address-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/street-address-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/street-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/street-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/street-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/street-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/time-zone-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/time-zone-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/time-zone-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/time-zone-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/location/zip-code-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/location/zip-code-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/location/zip-code-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/location/zip-code-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/lines-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/lines-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/lines-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/lines-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-lorem-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/lorem-exec.test.js similarity index 91% rename from packages/core/src/tests/data_generation/unit/domain/domain-lorem-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/lorem-exec.test.js index 35d60c03..314ce271 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-lorem-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/lorem/lorem-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('lorem domain keyword execution', () => { test('executes lorem.lines', () => { diff --git a/packages/core/src/tests/keywords/domain/lorem/paragraph-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/paragraph-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/paragraph-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/paragraph-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/paragraphs-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/paragraphs-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/paragraphs-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/paragraphs-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/sentence-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/sentence-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/sentence-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/sentence-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/sentences-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/sentences-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/sentences-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/sentences-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/slug-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/slug-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/slug-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/slug-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/text-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/text-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/text-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/text-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/word-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/word-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/word-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/word-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/lorem/words-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/lorem/words-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/lorem/words-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/lorem/words-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/music/album-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/music/album-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/music/album-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/music/album-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/music/artist-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/music/artist-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/music/artist-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/music/artist-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/music/genre-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/music/genre-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/music/genre-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/music/genre-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-music-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/music/music-exec.test.js similarity index 80% rename from packages/core/src/tests/data_generation/unit/domain/domain-music-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/music/music-exec.test.js index 23e4215a..5e53bcd4 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-music-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/music/music-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('music domain keyword execution', () => { test('executes music.album', () => { diff --git a/packages/core/src/tests/keywords/domain/music/song-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/music/song-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/music/song-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/music/song-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/number/big-int-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/big-int-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/big-int-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/big-int-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/number/binary-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/binary-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/binary-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/binary-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/number/float-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/float-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/float-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/float-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/number/hex-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/hex-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/hex-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/hex-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/number/int-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/int-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/int-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/int-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-number-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/number-exec.test.js similarity index 91% rename from packages/core/src/tests/data_generation/unit/domain/domain-number-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/number-exec.test.js index 3e1c1c23..37f7745c 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-number-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/number/number-exec.test.js @@ -1,7 +1,7 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('number domain keyword execution', () => { test('executes number.bigInt', () => { diff --git a/packages/core/src/tests/keywords/domain/number/octal-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/octal-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/octal-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/octal-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/number/roman-numeral-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/number/roman-numeral-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/number/roman-numeral-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/number/roman-numeral-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/bio-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/bio-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/bio-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/bio-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/first-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/first-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/first-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/first-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/full-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/full-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/full-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/full-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/gender-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/gender-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/gender-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/gender-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/job-area-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/job-area-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/job-area-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/job-area-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/job-descriptor-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/job-descriptor-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/job-descriptor-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/job-descriptor-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/job-title-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/job-title-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/job-title-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/job-title-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/job-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/job-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/job-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/job-type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/last-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/last-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/last-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/last-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/middle-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/middle-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/middle-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/middle-name-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-person-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/person-exec.test.js similarity index 94% rename from packages/core/src/tests/data_generation/unit/domain/domain-person-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/person-exec.test.js index 17808459..57b63c57 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-person-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/person/person-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('person domain keyword execution', () => { test('executes person.bio', () => { diff --git a/packages/core/src/tests/keywords/domain/person/prefix-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/prefix-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/prefix-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/prefix-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/sex-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/sex-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/sex-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/sex-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/sex-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/sex-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/sex-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/sex-type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/suffix-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/suffix-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/suffix-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/suffix-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/person/zodiac-sign-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/person/zodiac-sign-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/person/zodiac-sign-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/person/zodiac-sign-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/phone/imei-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/phone/imei-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/phone/imei-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/phone/imei-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/phone/number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/phone/number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/phone/number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/phone/number-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-phone-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/phone/phone-exec.test.js similarity index 72% rename from packages/core/src/tests/data_generation/unit/domain/domain-phone-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/phone/phone-exec.test.js index 415645b4..b4da0736 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-phone-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/phone/phone-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('phone domain keyword execution', () => { test('executes phone.imei', () => { diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-atomic-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/science/chemical-element-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/science/chemical-element-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/science/chemical-element-symbol-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-science-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/science/science-exec.test.js similarity index 90% rename from packages/core/src/tests/data_generation/unit/domain/domain-science-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/science/science-exec.test.js index 9e6a99bb..4c9fb86b 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-science-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/science/science-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('science domain keyword execution', () => { test('executes science.chemicalElement', () => { diff --git a/packages/core/src/tests/keywords/domain/science/unit-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/science/unit-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/science/unit-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/science/unit-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/alpha-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/alpha-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/alpha-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/alpha-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/alphanumeric-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/alphanumeric-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/alphanumeric-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/alphanumeric-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/binary-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/binary-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/binary-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/binary-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/counter-string-exec.test.js similarity index 86% rename from packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/counter-string-exec.test.js index 1f7eaf4c..b3138f8c 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-string-counterstring-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/string/counter-string-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; function runWithSeed(seed, keyword, args) { faker.seed(seed); diff --git a/packages/core/src/tests/keywords/domain/string/counter-string-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/counter-string-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/counter-string-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/counter-string-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/counterstring.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/counterstring.test.js similarity index 94% rename from packages/core/src/tests/data_generation/unit/domain/counterstring.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/counterstring.test.js index e2003184..ae40d7df 100644 --- a/packages/core/src/tests/data_generation/unit/domain/counterstring.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/string/counterstring.test.js @@ -1,5 +1,5 @@ import { jest } from '@jest/globals'; -import { executeCustomCounterString } from '../../../../../js/keywords/domain/string/counterstring.js'; +import { executeCustomCounterString } from '../../../../../../js/keywords/domain/string/counterstring.js'; describe('custom counterstring implementation', () => { afterEach(() => { diff --git a/packages/core/src/tests/keywords/domain/string/from-characters-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/from-characters-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/from-characters-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/from-characters-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/hexadecimal-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/hexadecimal-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/hexadecimal-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/hexadecimal-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/nanoid-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/nanoid-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/nanoid-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/nanoid-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/numeric-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/numeric-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/numeric-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/numeric-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/octal-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/octal-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/octal-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/octal-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/sample-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/sample-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/sample-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/sample-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/string-exec.test.js similarity index 97% rename from packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/string-exec.test.js index dc19384d..48c1fcfa 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-string-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/string/string-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; function runWithSeed(seed, keyword, args) { faker.seed(seed); diff --git a/packages/core/src/tests/keywords/domain/string/symbol-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/symbol-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/symbol-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/symbol-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/ulid-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/ulid-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/ulid-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/ulid-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/string/uuid-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/string/uuid-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/string/uuid-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/string/uuid-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/common-file-ext-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/common-file-ext-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/common-file-ext-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/common-file-ext-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/common-file-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/common-file-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/common-file-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/common-file-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/common-file-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/common-file-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/common-file-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/common-file-type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/cron-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/cron-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/cron-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/cron-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/directory-path-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/directory-path-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/directory-path-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/directory-path-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/file-ext-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/file-ext-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/file-ext-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/file-ext-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/file-name-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/file-name-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/file-name-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/file-name-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/file-path-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/file-path-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/file-path-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/file-path-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/file-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/file-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/file-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/file-type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/mime-type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/mime-type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/mime-type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/mime-type-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/network-interface-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/network-interface-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/network-interface-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/network-interface-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/system/semver-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/semver-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/system/semver-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/semver-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-system-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/system/system-exec.test.js similarity index 94% rename from packages/core/src/tests/data_generation/unit/domain/domain-system-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/system/system-exec.test.js index 60fff4ed..6e3f1bfc 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-system-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/system/system-exec.test.js @@ -1,8 +1,8 @@ import { jest } from '@jest/globals'; import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { parseKeywordInvocation } from '../../../../../js/domain/domain-keyword-parser.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { parseKeywordInvocation } from '../../../../../../js/domain/domain-keyword-parser.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('system domain keyword execution', () => { test('executes system.commonFileExt', () => { diff --git a/packages/core/src/tests/keywords/domain/vehicle/bicycle-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/bicycle-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/bicycle-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/bicycle-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/color-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/color-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/color-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/color-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/fuel-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/fuel-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/fuel-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/fuel-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/manufacturer-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/manufacturer-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/manufacturer-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/manufacturer-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/model-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/model-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/model-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/model-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/type-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/type-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/type-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/type-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-vehicle-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/vehicle-exec.test.js similarity index 91% rename from packages/core/src/tests/data_generation/unit/domain/domain-vehicle-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/vehicle-exec.test.js index ab2dada3..2bf459a3 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-vehicle-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/vehicle/vehicle-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('vehicle domain keyword execution', () => { test('executes vehicle.bicycle', () => { diff --git a/packages/core/src/tests/keywords/domain/vehicle/vehicle-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/vehicle-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/vehicle-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/vehicle-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/vin-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/vin-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/vin-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/vin-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/vehicle/vrm-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/vehicle/vrm-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/vehicle/vrm-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/vehicle/vrm-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/adjective-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/adjective-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/adjective-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/adjective-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/adverb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/adverb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/adverb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/adverb-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/conjunction-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/conjunction-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/conjunction-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/conjunction-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/interjection-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/interjection-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/interjection-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/interjection-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/noun-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/noun-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/noun-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/noun-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/preposition-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/preposition-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/preposition-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/preposition-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/sample-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/sample-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/sample-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/sample-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/domain/word/verb-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/verb-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/verb-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/verb-keyword-definition.test.js diff --git a/packages/core/src/tests/data_generation/unit/domain/domain-word-exec.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/word-exec.test.js similarity index 91% rename from packages/core/src/tests/data_generation/unit/domain/domain-word-exec.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/word-exec.test.js index b25be7b8..07b5ab6d 100644 --- a/packages/core/src/tests/data_generation/unit/domain/domain-word-exec.test.js +++ b/packages/core/src/tests/data_generation/keywords/domain/word/word-exec.test.js @@ -1,6 +1,6 @@ import { faker } from '@faker-js/faker'; -import { executeDomainKeyword } from '../../../../../js/domain/domain-keywords.js'; -import { expectMeaningfulString } from './domain-assertions.test-helper.js'; +import { executeDomainKeyword } from '../../../../../../js/domain/domain-keywords.js'; +import { expectMeaningfulString } from '../../../unit/domain/domain-assertions.test-helper.js'; describe('word domain keyword execution', () => { test('executes word.adjective', () => { diff --git a/packages/core/src/tests/keywords/domain/word/words-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/domain/word/words-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/domain/word/words-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/domain/word/words-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/array-element-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/array-element-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/array-element-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/array-element-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/array-elements-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/array-elements-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/array-elements-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/array-elements-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js similarity index 91% rename from packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js index 5a875a7a..9a8c2f25 100644 --- a/packages/core/src/tests/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js +++ b/packages/core/src/tests/data_generation/keywords/faker/helpers/define-faker-helper-keyword-definition-tests.js @@ -1,11 +1,11 @@ -import { validateCommandHelpValue } from '../../../../../js/command-help/command-help-contract.js'; -import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../../../js/faker/faker-helper-keyword-definitions.js'; +import { validateCommandHelpValue } from '../../../../../../js/command-help/command-help-contract.js'; +import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../../../../js/faker/faker-helper-keyword-definitions.js'; import { buildValidationContext, executeFakerExample, isForbiddenFakerCommand, normalizeExampleValue, -} from '../../../command-help/command-help-examples.test-support.js'; +} from '../../../../command-help/command-help-examples.test-support.js'; function defineFakerHelperKeywordDefinitionTests(command) { describe(`faker helper keyword definition ${command}`, () => { diff --git a/packages/core/src/tests/keywords/faker/helpers/enum-value-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/enum-value-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/enum-value-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/enum-value-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/fake-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/fake-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/fake-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/fake-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/from-reg-exp-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/maybe-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/maybe-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/maybe-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/maybe-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/multiple-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/multiple-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/multiple-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/multiple-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/mustache-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/mustache-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/mustache-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/mustache-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/object-entry-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/object-entry-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/object-entry-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/object-entry-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/object-key-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/object-key-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/object-key-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/object-key-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/object-value-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/object-value-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/object-value-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/object-value-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/range-to-number-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/range-to-number-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/range-to-number-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/range-to-number-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/replace-credit-card-symbols-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/replace-symbols-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/replace-symbols-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/replace-symbols-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/replace-symbols-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/shuffle-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/shuffle-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/shuffle-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/shuffle-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/slugify-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/slugify-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/slugify-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/slugify-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/unique-array-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/unique-array-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/unique-array-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/unique-array-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js b/packages/core/src/tests/data_generation/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js similarity index 100% rename from packages/core/src/tests/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js rename to packages/core/src/tests/data_generation/keywords/faker/helpers/weighted-array-element-keyword-definition.test.js diff --git a/packages/core/src/tests/keywords/keyword-definition-registries.test.js b/packages/core/src/tests/data_generation/keywords/keyword-definition-registries.test.js similarity index 92% rename from packages/core/src/tests/keywords/keyword-definition-registries.test.js rename to packages/core/src/tests/data_generation/keywords/keyword-definition-registries.test.js index e9ebefd9..0130d939 100644 --- a/packages/core/src/tests/keywords/keyword-definition-registries.test.js +++ b/packages/core/src/tests/data_generation/keywords/keyword-definition-registries.test.js @@ -1,8 +1,8 @@ import fs from 'node:fs'; import path from 'node:path'; import { pathToFileURL } from 'node:url'; -import { DOMAIN_KEYWORD_DEFINITIONS } from '../../../js/domain/domain-keyword-definitions.js'; -import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../js/faker/faker-helper-keyword-definitions.js'; +import { DOMAIN_KEYWORD_DEFINITIONS } from '../../../../js/domain/domain-keyword-definitions.js'; +import { FAKER_HELPER_KEYWORD_DEFINITIONS } from '../../../../js/faker/faker-helper-keyword-definitions.js'; const repoRoot = path.resolve(process.cwd()); const domainKeywordRoot = path.join(repoRoot, 'packages/core/js/keywords/domain'); diff --git a/scripts/generate-domain-docs.mjs b/scripts/generate-domain-docs.mjs index 6bbf2869..b5a3c61f 100644 --- a/scripts/generate-domain-docs.mjs +++ b/scripts/generate-domain-docs.mjs @@ -113,6 +113,9 @@ const domainIntroOverrides = { function escapeMdxText(value) { return String(value ?? '') + .replaceAll('&', '&') + .replaceAll('<', '<') + .replaceAll('>', '>') .replaceAll('{', '{') .replaceAll('}', '}'); } From c7a432c3081824d1ce565b4eb838b936e617e256 Mon Sep 17 00:00:00 2001 From: Alan Richardson Date: Sat, 20 Jun 2026 22:44:52 +0100 Subject: [PATCH 10/16] Tighten help metadata docs and generator feedback --- .codex-dev-web.pid | 1 + .codex-dev-web.stderr.log | 1 + .codex-dev-web.stdout.log | 5 + apps/web/styles.css | 51 ++++++ .../docs/040-test-data/domain/020-airline.md | 166 +++++++++--------- .../docs/040-test-data/domain/250-science.md | 44 ++--- docs-src/src/css/custom.css | 7 + .../data-generator-generation-actions.js | 5 + .../page/generator-page-shell-view.js | 6 +- .../preview/generator-preview-view.js | 5 + .../runtime/generator-page-actions-service.js | 1 + .../runtime/generator-page-view-state.js | 3 + .../shared/instructions/instructions-view.js | 2 +- .../shared-schema-definition-view.js | 5 +- .../ui-generation-status-presenter.js | 21 ++- .../test-data/help/help-model-builder.js | 7 +- .../shared/test-data/help/runtime-docs-url.js | 65 +++++++ .../test-data/schema/schema-row-mapper.js | 17 +- .../test-data/schema/schema-row-validation.js | 22 ++- .../schema/shared-schema-editor-controller.js | 4 +- .../test-data/ui/method-picker-modal.js | 79 ++++++++- .../test-data/ui/params-editor-modal.js | 7 +- packages/core-ui/js/help/help-tooltips.js | 9 + .../data-generator-generation-actions.test.js | 27 +++ .../test-data-generation-service.test.js | 2 +- .../generator-focused-schema-editing.test.js | 21 +++ .../tests/shared/help-model-builder.test.js | 28 +++ .../shared/page-shell-components.test.js | 3 + .../tests/shared/schema-row-mapper.test.js | 25 ++- .../shared/schema-row-validation.test.js | 14 ++ .../ui-generation-status-presenter.test.js | 15 +- .../src/tests/utils/help-tooltips.test.js | 3 + .../tests/utils/method-picker-modal.test.js | 62 +++++-- .../domain-doc-generator-output.test.js | 2 + scripts/generate-domain-docs.mjs | 22 ++- 35 files changed, 599 insertions(+), 158 deletions(-) create mode 100644 .codex-dev-web.pid create mode 100644 .codex-dev-web.stderr.log create mode 100644 .codex-dev-web.stdout.log create mode 100644 packages/core-ui/js/gui_components/shared/test-data/help/runtime-docs-url.js diff --git a/.codex-dev-web.pid b/.codex-dev-web.pid new file mode 100644 index 00000000..fd3f153d --- /dev/null +++ b/.codex-dev-web.pid @@ -0,0 +1 @@ +125008 diff --git a/.codex-dev-web.stderr.log b/.codex-dev-web.stderr.log new file mode 100644 index 00000000..45ea574f --- /dev/null +++ b/.codex-dev-web.stderr.log @@ -0,0 +1 @@ +$ vite --config ./apps/web/vite.config.mjs diff --git a/.codex-dev-web.stdout.log b/.codex-dev-web.stdout.log new file mode 100644 index 00000000..1055c245 --- /dev/null +++ b/.codex-dev-web.stdout.log @@ -0,0 +1,5 @@ + + VITE v8.0.16 ready in 284 ms + + ➜ Local: http://127.0.0.1:4173/ + ➜ press h + enter to show help diff --git a/apps/web/styles.css b/apps/web/styles.css index 0df310ec..9e1c13a6 100644 --- a/apps/web/styles.css +++ b/apps/web/styles.css @@ -49,6 +49,34 @@ body { font-family: Arial, Helvetica, sans-serif; } +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border: 0; +} + +.skip-link { + position: absolute; + left: 0.75rem; + top: -3rem; + z-index: 5000; + padding: 0.6rem 0.9rem; + border-radius: 0.45rem; + background: #0b6aa2; + color: #ffffff; + text-decoration: none; +} + +.skip-link:focus { + top: 0.75rem; +} + a { color: #0b63ce; } @@ -1865,6 +1893,22 @@ body.theme-dark .generator-status-text[data-severity='info'] { justify-self: start; } +.method-picker-usage-example { + padding: 0.55rem 0.7rem; + margin-bottom: 0.65rem; + border: 1px solid var(--border-color); + border-radius: 0.55rem; + background: color-mix(in srgb, var(--panel-bg) 90%, #ebf9f2 10%); +} + +.method-picker-usage-example p { + margin: 0 0 0.4rem; +} + +.method-picker-usage-example p:last-child { + margin-bottom: 0; +} + .option-help-icon { margin-right: 0.35rem; cursor: help; @@ -2092,6 +2136,13 @@ body.theme-dark .shared-schema-row-validation { } } +.theme-doc-markdown table { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} + .shared-schema-command-picker-button, .test-data-grid-command-picker-trigger { width: 100%; diff --git a/docs-src/docs/040-test-data/domain/020-airline.md b/docs-src/docs/040-test-data/domain/020-airline.md index f958e52d..36de79f5 100644 --- a/docs-src/docs/040-test-data/domain/020-airline.md +++ b/docs-src/docs/040-test-data/domain/020-airline.md @@ -52,229 +52,229 @@ airline.airline Returns: `{"name":"Flydubai","iataCode":"FZ"}` -### `airline.airline.iataCode` +### `airline.airplane` -Generate an airline IATA code. +Generate a value using faker airline.airplane. -- Canonical: `awd.domain.airline.airline.iataCode` +- Canonical: `awd.domain.airline.airplane` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.airline.iataCode call. +Shows the default airline.airplane call. ```txt -airline.airline.iataCode +airline.airplane ``` -Returns: `FZ` +Returns: `{"name":"Boeing 747-400D","iataTypeCode":"74J"}` -### `airline.airline.name` +### `airline.airport` -Generate an airline name. +Generate a value using faker airline.airport. -- Canonical: `awd.domain.airline.airline.name` +- Canonical: `awd.domain.airline.airport` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.airline.name call. +Shows the default airline.airport call. ```txt -airline.airline.name +airline.airport ``` -Returns: `Flydubai` +Returns: `{"name":"Hurgada International Airport","iataCode":"HRG"}` -### `airline.airplane` +### `airline.flightNumber` -Generate a value using faker airline.airplane. +Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros. -- Canonical: `awd.domain.airline.airplane` +- Canonical: `awd.domain.airline.flightNumber` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.airplane call. +Shows the default airline.flightNumber call. ```txt -airline.airplane +airline.flightNumber ``` -Returns: `{"name":"Boeing 747-400D","iataTypeCode":"74J"}` +Returns: `70` -### `airline.airplane.iataTypeCode` +### `airline.iataCode` -Generate an airplane IATA type code. +Generate an airline IATA code. -- Canonical: `awd.domain.airline.airplane.iataTypeCode` +- Canonical: `awd.domain.airline.airline.iataCode` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.airplane.iataTypeCode call. +Shows the default airline.airline.iataCode call. ```txt -airline.airplane.iataTypeCode +airline.airline.iataCode ``` -Returns: `74J` +Returns: `FZ` -### `airline.airplane.name` +### `airline.name` -Generate an airplane model name. +Generate an airline name. -- Canonical: `awd.domain.airline.airplane.name` +- Canonical: `awd.domain.airline.airline.name` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.airplane.name call. +Shows the default airline.airline.name call. ```txt -airline.airplane.name +airline.airline.name ``` -Returns: `Boeing 747-400D` +Returns: `Flydubai` -### `airline.airport` +### `airline.recordLocator` -Generate a value using faker airline.airport. +Generates a random record locator. Record locators are 6-character alphanumeric booking references. -- Canonical: `awd.domain.airline.airport` +- Canonical: `awd.domain.airline.recordLocator` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.airport call. +Shows the default airline.recordLocator call. ```txt -airline.airport +airline.recordLocator ``` -Returns: `{"name":"Hurgada International Airport","iataCode":"HRG"}` +Returns: `KTAGDC` -### `airline.airport.iataCode` +### `airline.seat` -Generate an airport IATA code. +Generates a random seat. -- Canonical: `awd.domain.airline.airport.iataCode` +- Canonical: `awd.domain.airline.seat` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) -No parameters. +| Arg | Type | Required | Description | +| --- | --- | --- | --- | +| `aircraftType` | `narrowbody\|regional\|widebody` | no | The aircraft type. Can be one of narrowbody, regional, widebody. | Examples: -Shows the default airline.airport.iataCode call. +Shows airline.seat in use. ```txt -airline.airport.iataCode +airline.seat ``` -Returns: `HRG` - -### `airline.airport.name` - -Generate an airport name. +Returns: `15E` -- Canonical: `awd.domain.airline.airport.name` -- Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) +Shows airline.seat in use. -No parameters. +```txt +airline.seat(aircraftType="widebody") +``` -Examples: +Returns: `26H` -Shows the default airline.airport.name call. +Shows airline.seat when optional params are omitted. ```txt -airline.airport.name +airline.seat() ``` -Returns: `Hurgada International Airport` +Returns: `15E` -### `airline.flightNumber` +### `airplane.iataTypeCode` -Returns a random flight number. Flight numbers are always 1 to 4 digits long and may include leading zeros. +Generate an airplane IATA type code. -- Canonical: `awd.domain.airline.flightNumber` +- Canonical: `awd.domain.airline.airplane.iataTypeCode` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.flightNumber call. +Shows the default airline.airplane.iataTypeCode call. ```txt -airline.flightNumber +airline.airplane.iataTypeCode ``` -Returns: `70` +Returns: `74J` -### `airline.recordLocator` +### `airplane.name` -Generates a random record locator. Record locators are 6-character alphanumeric booking references. +Generate an airplane model name. -- Canonical: `awd.domain.airline.recordLocator` +- Canonical: `awd.domain.airline.airplane.name` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) No parameters. Examples: -Shows the default airline.recordLocator call. +Shows the default airline.airplane.name call. ```txt -airline.recordLocator +airline.airplane.name ``` -Returns: `KTAGDC` +Returns: `Boeing 747-400D` -### `airline.seat` +### `airport.iataCode` -Generates a random seat. +Generate an airport IATA code. -- Canonical: `awd.domain.airline.seat` +- Canonical: `awd.domain.airline.airport.iataCode` - Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) -| Arg | Type | Required | Description | -| --- | --- | --- | --- | -| `aircraftType` | `narrowbody\|regional\|widebody` | no | The aircraft type. Can be one of narrowbody, regional, widebody. | +No parameters. Examples: -Shows airline.seat in use. +Shows the default airline.airport.iataCode call. ```txt -airline.seat +airline.airport.iataCode ``` -Returns: `15E` +Returns: `HRG` -Shows airline.seat in use. +### `airport.name` -```txt -airline.seat(aircraftType="widebody") -``` +Generate an airport name. -Returns: `26H` +- Canonical: `awd.domain.airline.airport.name` +- Faker docs: [https://fakerjs.dev/api/airline](https://fakerjs.dev/api/airline) -Shows airline.seat when optional params are omitted. +No parameters. + +Examples: + +Shows the default airline.airport.name call. ```txt -airline.seat() +airline.airport.name ``` -Returns: `15E` +Returns: `Hurgada International Airport` diff --git a/docs-src/docs/040-test-data/domain/250-science.md b/docs-src/docs/040-test-data/domain/250-science.md index eda62cad..440cbc2b 100644 --- a/docs-src/docs/040-test-data/domain/250-science.md +++ b/docs-src/docs/040-test-data/domain/250-science.md @@ -14,26 +14,7 @@ The `science` domain maps domain keywords to underlying faker implementations. ## Methods -### `science.chemicalElement` - -Generate a value using faker science.chemicalElement. - -- Canonical: `awd.domain.science.chemicalElement` -- Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) - -No parameters. - -Examples: - -Shows the default science.chemicalElement call. - -```txt -science.chemicalElement -``` - -Returns: `{"symbol":"Sn","name":"Tin","atomicNumber":50}` - -### `science.chemicalElement.atomicNumber` +### `chemicalElement.atomicNumber` Generate a chemical element atomic number. @@ -52,7 +33,7 @@ science.chemicalElement.atomicNumber Returns: `50` -### `science.chemicalElement.name` +### `chemicalElement.name` Generate a chemical element name. @@ -71,7 +52,7 @@ science.chemicalElement.name Returns: `Tin` -### `science.chemicalElement.symbol` +### `chemicalElement.symbol` Generate a chemical element symbol. @@ -90,6 +71,25 @@ science.chemicalElement.symbol Returns: `Sn` +### `science.chemicalElement` + +Generate a value using faker science.chemicalElement. + +- Canonical: `awd.domain.science.chemicalElement` +- Faker docs: [https://fakerjs.dev/api/science](https://fakerjs.dev/api/science) + +No parameters. + +Examples: + +Shows the default science.chemicalElement call. + +```txt +science.chemicalElement +``` + +Returns: `{"symbol":"Sn","name":"Tin","atomicNumber":50}` + ### `science.unit` Returns a random scientific unit. diff --git a/docs-src/src/css/custom.css b/docs-src/src/css/custom.css index 2bc6a4cf..a561e781 100644 --- a/docs-src/src/css/custom.css +++ b/docs-src/src/css/custom.css @@ -28,3 +28,10 @@ --ifm-color-primary-lightest: #4fddbf; --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); } + +.theme-doc-markdown table { + display: block; + width: 100%; + overflow-x: auto; + -webkit-overflow-scrolling: touch; +} diff --git a/packages/core-ui/js/gui_components/generator/generation/data-generator-generation-actions.js b/packages/core-ui/js/gui_components/generator/generation/data-generator-generation-actions.js index 7caa5761..a3d62b16 100644 --- a/packages/core-ui/js/gui_components/generator/generation/data-generator-generation-actions.js +++ b/packages/core-ui/js/gui_components/generator/generation/data-generator-generation-actions.js @@ -88,6 +88,7 @@ function previewGeneratorData({ getPreviewRowCount, schemaGenerationService, setPreviewDataTable, + clearOutputPreview, renderOutputPreviewForCurrentSelection, surfacePageError, clearPageError, @@ -95,6 +96,8 @@ function previewGeneratorData({ }) { function applyResult(result) { if (!result?.ok) { + setPreviewDataTable?.(null); + clearOutputPreview?.(); surfaceGenerationResult({ operationKind: 'generateRows', result: result || {}, @@ -111,6 +114,8 @@ function previewGeneratorData({ const rowCount = getPreviewRowCount(); if (rowCount.errors.length > 0) { + setPreviewDataTable?.(null); + clearOutputPreview?.(); surfacePageError(rowCount.errors.join('\n')); return; } diff --git a/packages/core-ui/js/gui_components/generator/page/generator-page-shell-view.js b/packages/core-ui/js/gui_components/generator/page/generator-page-shell-view.js index b16c9a23..c618d581 100644 --- a/packages/core-ui/js/gui_components/generator/page/generator-page-shell-view.js +++ b/packages/core-ui/js/gui_components/generator/page/generator-page-shell-view.js @@ -14,10 +14,12 @@ class GeneratorPageShellView { template() { return ` -
+ +
+

Data Generator

-
+ `; } diff --git a/packages/core-ui/js/gui_components/generator/preview/generator-preview-view.js b/packages/core-ui/js/gui_components/generator/preview/generator-preview-view.js index 9fd6ed9e..e1e4e240 100644 --- a/packages/core-ui/js/gui_components/generator/preview/generator-preview-view.js +++ b/packages/core-ui/js/gui_components/generator/preview/generator-preview-view.js @@ -135,6 +135,11 @@ class GeneratorPreviewView { setPreviewDataTable(dataTable) { this.controller.setPreviewDataTable(dataTable); + if (!dataTable) { + this.previewGrid?.clearGrid?.(); + this.previewGridAdapter?.getGridApi?.()?.clearGrid?.(); + return; + } if (this.previewGrid?.setGridFromGenericDataTable) { this.previewGrid.setGridFromGenericDataTable(dataTable); return; diff --git a/packages/core-ui/js/gui_components/generator/runtime/generator-page-actions-service.js b/packages/core-ui/js/gui_components/generator/runtime/generator-page-actions-service.js index 84b37f65..b3bd0bea 100644 --- a/packages/core-ui/js/gui_components/generator/runtime/generator-page-actions-service.js +++ b/packages/core-ui/js/gui_components/generator/runtime/generator-page-actions-service.js @@ -55,6 +55,7 @@ function createGeneratorPageActionsService({ getPreviewRowCount: () => getResolvedViewState()?.getPreviewRowCount?.(), schemaGenerationService: getResolvedSchemaGenerationService(), setPreviewDataTable: (dataTable) => getResolvedViewState()?.setPreviewDataTable?.(dataTable), + clearOutputPreview: () => getResolvedViewState()?.clearOutputPreview?.(), renderOutputPreviewForCurrentSelection: () => getResolvedViewState()?.renderOutputPreviewForCurrentSelection?.(), surfacePageError: (message, options) => getResolvedSchemaRuntime()?.surfacePageError?.(message, options), diff --git a/packages/core-ui/js/gui_components/generator/runtime/generator-page-view-state.js b/packages/core-ui/js/gui_components/generator/runtime/generator-page-view-state.js index 6746fb17..b931b7ba 100644 --- a/packages/core-ui/js/gui_components/generator/runtime/generator-page-view-state.js +++ b/packages/core-ui/js/gui_components/generator/runtime/generator-page-view-state.js @@ -35,6 +35,9 @@ function createGeneratorPageViewState({ runtime, createUnavailableRowCountResult setPreviewDataTable(dataTable) { runtime?.generatorPreview?.setPreviewDataTable?.(dataTable); }, + clearOutputPreview() { + runtime?.generatorPreview?.clearOutputPreview?.(); + }, renderOutputPreviewForCurrentSelection() { runtime?.generatorPreview?.renderOutputPreview?.(getSelectedOutputType(), runtime?.exporter || null); }, diff --git a/packages/core-ui/js/gui_components/shared/instructions/instructions-view.js b/packages/core-ui/js/gui_components/shared/instructions/instructions-view.js index 6e70ca00..8d0f5d6c 100644 --- a/packages/core-ui/js/gui_components/shared/instructions/instructions-view.js +++ b/packages/core-ui/js/gui_components/shared/instructions/instructions-view.js @@ -71,7 +71,7 @@ class InstructionsView { ${escapeHtml(state.title)} - +
    ${itemsHtml}
${actionsHtml} diff --git a/packages/core-ui/js/gui_components/shared/schema-definition/shared-schema-definition-view.js b/packages/core-ui/js/gui_components/shared/schema-definition/shared-schema-definition-view.js index a174379d..91f744f1 100644 --- a/packages/core-ui/js/gui_components/shared/schema-definition/shared-schema-definition-view.js +++ b/packages/core-ui/js/gui_components/shared/schema-definition/shared-schema-definition-view.js @@ -119,12 +119,13 @@ class SharedSchemaDefinitionView { ${headingMarkup} - + data-help="${viewModel.helpIconDataHelp}">