1 // Copyright 2016 Unknwon
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License"): you may
4 // not use this file except in compliance with the License. You may obtain
5 // a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
11 // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
12 // License for the specific language governing permissions and limitations
13 // under the License.
14 15 package ini
16 17 import (
18 "fmt"
19 )
20 21 // ErrDelimiterNotFound indicates the error type of no delimiter is found which there should be one.
22 type ErrDelimiterNotFound struct {
23 Line string
24 }
25 26 // IsErrDelimiterNotFound returns true if the given error is an instance of ErrDelimiterNotFound.
27 func IsErrDelimiterNotFound(err error) bool {
28 _, ok := err.(ErrDelimiterNotFound)
29 return ok
30 }
31 32 func (err ErrDelimiterNotFound) Error() string {
33 return fmt.Sprintf("key-value delimiter not found: %s", err.Line)
34 }
35 36 // ErrEmptyKeyName indicates the error type of no key name is found which there should be one.
37 type ErrEmptyKeyName struct {
38 Line string
39 }
40 41 // IsErrEmptyKeyName returns true if the given error is an instance of ErrEmptyKeyName.
42 func IsErrEmptyKeyName(err error) bool {
43 _, ok := err.(ErrEmptyKeyName)
44 return ok
45 }
46 47 func (err ErrEmptyKeyName) Error() string {
48 return fmt.Sprintf("empty key name: %s", err.Line)
49 }
50