Total Lines | 31 |
Duplicated Lines | 0 % |
Coverage | 50% |
Changes | 0 |
1 | package data |
||
2 | |||
3 | import ( |
||
4 | "context" |
||
5 | |||
6 | "github.com/getkin/kin-openapi/openapi3" |
||
7 | ) |
||
8 | |||
9 | type arrayGenerationDelegator struct { |
||
10 | uniqueGenerator schemaGenerator |
||
11 | regularGenerator schemaGenerator |
||
12 | } |
||
13 | |||
14 | func newArrayGenerator(lengthGenerator arrayLengthGenerator) schemaGenerator { |
||
15 | return &arrayGenerationDelegator{ |
||
16 | uniqueGenerator: &uniqueArrayGenerator{lengthGenerator: lengthGenerator}, |
||
17 | regularGenerator: ®ularArrayGenerator{lengthGenerator: lengthGenerator}, |
||
18 | } |
||
19 | } |
||
20 | |||
21 | func (delegator *arrayGenerationDelegator) SetSchemaGenerator(schemaGenerator schemaGenerator) { |
||
22 | delegator.uniqueGenerator.(recursiveGenerator).SetSchemaGenerator(schemaGenerator) |
||
23 | delegator.regularGenerator.(recursiveGenerator).SetSchemaGenerator(schemaGenerator) |
||
24 | } |
||
25 | |||
26 | func (delegator *arrayGenerationDelegator) GenerateDataBySchema(ctx context.Context, schema *openapi3.Schema) (Data, error) { |
||
27 | 1 | if schema.UniqueItems { |
|
28 | 1 | return delegator.uniqueGenerator.GenerateDataBySchema(ctx, schema) |
|
29 | } |
||
30 | |||
31 | 1 | return delegator.regularGenerator.GenerateDataBySchema(ctx, schema) |
|
32 | } |
||
33 |