MCPcopy Create free account
hub / github.com/imgproxy/imgproxy / parseGravityType

Method parseGravityType

options/parser/parse.go:310–333  ·  view source on GitHub ↗
(
	ctx context.Context,
	o *options.Options,
	key string,
	allowedTypes []processing.GravityType,
	args ...string,
)

Source from the content-addressed store, hash-verified

308}
309
310func (p *Parser) parseGravityType(
311 ctx context.Context,
312 o *options.Options,
313 key string,
314 allowedTypes []processing.GravityType,
315 args ...string,
316) (processing.GravityType, error) {
317 if err := p.ensureMaxArgs(ctx, key, args, 1); err != nil {
318 return processing.GravityUnknown, err
319 }
320
321 gType, ok := processing.GravityTypes[args[0]]
322 if !ok || !slices.Contains(allowedTypes, gType) {
323 types := make([]string, len(allowedTypes))
324 for i, at := range allowedTypes {
325 types[i] = at.String()
326 }
327 return processing.GravityUnknown, newInvalidArgumentError(ctx, key, args[0], types...)
328 }
329
330 o.Set(key, gType)
331
332 return gType, nil
333}
334
335func (p *Parser) isGravityOffsetValid(
336 gravity processing.GravityType,

Callers 2

applyWatermarkOptionMethod · 0.95
parseGravityMethod · 0.95

Calls 4

ensureMaxArgsMethod · 0.95
newInvalidArgumentErrorFunction · 0.85
StringMethod · 0.45
SetMethod · 0.45

Tested by

no test coverage detected