data.newArrayGenerator   A
last analyzed

Complexity

Conditions 1

Size

Total Lines 4
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
cc 1
eloc 4
nop 1
dl 0
loc 4
ccs 0
cts 1
cp 0
crap 2
rs 10
c 0
b 0
f 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: &regularArrayGenerator{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