You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
21 lines
689 B
21 lines
689 B
// Copyright 2018 by David A. Golden. All rights reserved. |
|
// |
|
// Licensed under the Apache License, Version 2.0 (the "License"); you may |
|
// not use this file except in compliance with the License. You may obtain |
|
// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 |
|
|
|
package stringprep |
|
|
|
// Mapping represents a stringprep mapping, from a single rune to zero or more |
|
// runes. |
|
type Mapping map[rune][]rune |
|
|
|
// Map maps a rune to a (possibly empty) rune slice via a stringprep Mapping. |
|
// The ok return value is false if the rune was not found. |
|
func (m Mapping) Map(r rune) (replacement []rune, ok bool) { |
|
rs, ok := m[r] |
|
if !ok { |
|
return nil, false |
|
} |
|
return rs, true |
|
}
|
|
|