github.com/urso/go-structform@v0.0.2/map.go (about)

     1  package structform
     2  
     3  type extObjVisitor struct {
     4  	Visitor
     5  }
     6  
     7  func (e extObjVisitor) OnStringObject(m map[string]string) error {
     8  	if err := e.OnObjectStart(len(m), StringType); err != nil {
     9  		return err
    10  	}
    11  
    12  	for k, v := range m {
    13  		if err := e.OnKey(k); err != nil {
    14  			return err
    15  		}
    16  		if err := e.OnString(v); err != nil {
    17  			return err
    18  		}
    19  	}
    20  
    21  	return e.OnObjectFinished()
    22  }
    23  
    24  func (e extObjVisitor) OnBoolObject(m map[string]bool) error {
    25  	if err := e.OnObjectStart(len(m), BoolType); err != nil {
    26  		return err
    27  	}
    28  
    29  	for k, v := range m {
    30  		if err := e.OnKey(k); err != nil {
    31  			return err
    32  		}
    33  		if err := e.OnBool(v); err != nil {
    34  			return err
    35  		}
    36  	}
    37  
    38  	return e.OnObjectFinished()
    39  }
    40  
    41  func (e extObjVisitor) OnInt8Object(m map[string]int8) error {
    42  	if err := e.OnObjectStart(len(m), Int8Type); err != nil {
    43  		return err
    44  	}
    45  
    46  	for k, v := range m {
    47  		if err := e.OnKey(k); err != nil {
    48  			return err
    49  		}
    50  		if err := e.OnInt8(v); err != nil {
    51  			return err
    52  		}
    53  	}
    54  
    55  	return e.OnObjectFinished()
    56  }
    57  
    58  func (e extObjVisitor) OnInt16Object(m map[string]int16) error {
    59  	if err := e.OnObjectStart(len(m), Int16Type); err != nil {
    60  		return err
    61  	}
    62  
    63  	for k, v := range m {
    64  		if err := e.OnKey(k); err != nil {
    65  			return err
    66  		}
    67  		if err := e.OnInt16(v); err != nil {
    68  			return err
    69  		}
    70  	}
    71  
    72  	return e.OnObjectFinished()
    73  }
    74  
    75  func (e extObjVisitor) OnInt32Object(m map[string]int32) error {
    76  	if err := e.OnObjectStart(len(m), Int32Type); err != nil {
    77  		return err
    78  	}
    79  
    80  	for k, v := range m {
    81  		if err := e.OnKey(k); err != nil {
    82  			return err
    83  		}
    84  		if err := e.OnInt32(v); err != nil {
    85  			return err
    86  		}
    87  	}
    88  
    89  	return e.OnObjectFinished()
    90  }
    91  
    92  func (e extObjVisitor) OnInt64Object(m map[string]int64) error {
    93  	if err := e.OnObjectStart(len(m), Int64Type); err != nil {
    94  		return err
    95  	}
    96  
    97  	for k, v := range m {
    98  		if err := e.OnKey(k); err != nil {
    99  			return err
   100  		}
   101  		if err := e.OnInt64(v); err != nil {
   102  			return err
   103  		}
   104  	}
   105  
   106  	return e.OnObjectFinished()
   107  }
   108  
   109  func (e extObjVisitor) OnIntObject(m map[string]int) error {
   110  	if err := e.OnObjectStart(len(m), IntType); err != nil {
   111  		return err
   112  	}
   113  
   114  	for k, v := range m {
   115  		if err := e.OnKey(k); err != nil {
   116  			return err
   117  		}
   118  		if err := e.OnInt(v); err != nil {
   119  			return err
   120  		}
   121  	}
   122  
   123  	return e.OnObjectFinished()
   124  }
   125  
   126  func (e extObjVisitor) OnUint8Object(m map[string]uint8) error {
   127  	if err := e.OnObjectStart(len(m), Uint8Type); err != nil {
   128  		return err
   129  	}
   130  
   131  	for k, v := range m {
   132  		if err := e.OnKey(k); err != nil {
   133  			return err
   134  		}
   135  		if err := e.OnUint8(v); err != nil {
   136  			return err
   137  		}
   138  	}
   139  
   140  	return e.OnObjectFinished()
   141  }
   142  
   143  func (e extObjVisitor) OnUint16Object(m map[string]uint16) error {
   144  	if err := e.OnObjectStart(len(m), Uint16Type); err != nil {
   145  		return err
   146  	}
   147  
   148  	for k, v := range m {
   149  		if err := e.OnKey(k); err != nil {
   150  			return err
   151  		}
   152  		if err := e.OnUint16(v); err != nil {
   153  			return err
   154  		}
   155  	}
   156  
   157  	return e.OnObjectFinished()
   158  }
   159  
   160  func (e extObjVisitor) OnUint32Object(m map[string]uint32) error {
   161  	if err := e.OnObjectStart(len(m), Uint32Type); err != nil {
   162  		return err
   163  	}
   164  
   165  	for k, v := range m {
   166  		if err := e.OnKey(k); err != nil {
   167  			return err
   168  		}
   169  		if err := e.OnUint32(v); err != nil {
   170  			return err
   171  		}
   172  	}
   173  
   174  	return e.OnObjectFinished()
   175  }
   176  
   177  func (e extObjVisitor) OnUint64Object(m map[string]uint64) error {
   178  	if err := e.OnObjectStart(len(m), Uint64Type); err != nil {
   179  		return err
   180  	}
   181  
   182  	for k, v := range m {
   183  		if err := e.OnKey(k); err != nil {
   184  			return err
   185  		}
   186  		if err := e.OnUint64(v); err != nil {
   187  			return err
   188  		}
   189  	}
   190  
   191  	return e.OnObjectFinished()
   192  }
   193  
   194  func (e extObjVisitor) OnUintObject(m map[string]uint) error {
   195  	if err := e.OnObjectStart(len(m), UintType); err != nil {
   196  		return err
   197  	}
   198  
   199  	for k, v := range m {
   200  		if err := e.OnKey(k); err != nil {
   201  			return err
   202  		}
   203  		if err := e.OnUint(v); err != nil {
   204  			return err
   205  		}
   206  	}
   207  
   208  	return e.OnObjectFinished()
   209  }
   210  
   211  func (e extObjVisitor) OnFloat32Object(m map[string]float32) error {
   212  	if err := e.OnObjectStart(len(m), Float32Type); err != nil {
   213  		return err
   214  	}
   215  
   216  	for k, v := range m {
   217  		if err := e.OnKey(k); err != nil {
   218  			return err
   219  		}
   220  		if err := e.OnFloat32(v); err != nil {
   221  			return err
   222  		}
   223  	}
   224  
   225  	return e.OnObjectFinished()
   226  }
   227  
   228  func (e extObjVisitor) OnFloat64Object(m map[string]float64) error {
   229  	if err := e.OnObjectStart(len(m), Float64Type); err != nil {
   230  		return err
   231  	}
   232  
   233  	for k, v := range m {
   234  		if err := e.OnKey(k); err != nil {
   235  			return err
   236  		}
   237  		if err := e.OnFloat64(v); err != nil {
   238  			return err
   239  		}
   240  	}
   241  
   242  	return e.OnObjectFinished()
   243  }