github.com/lmorg/murex@v0.0.0-20240217211045-e081c89cd4ef/builtins/types/string/init.go (about)

     1  package string
     2  
     3  import (
     4  	"github.com/lmorg/murex/lang"
     5  	"github.com/lmorg/murex/lang/stdio"
     6  	"github.com/lmorg/murex/lang/types"
     7  )
     8  
     9  func init() {
    10  	// Register data type
    11  	stdio.RegisterReadArray(types.String, readArray)
    12  	stdio.RegisterReadArrayWithType(types.String, readArrayWithType)
    13  	stdio.RegisterReadMap(types.String, readMap)
    14  	stdio.RegisterWriteArray(types.String, newArrayWriter)
    15  
    16  	lang.ReadIndexes[types.String] = index
    17  	lang.ReadNotIndexes[types.String] = index
    18  	lang.Marshallers[types.String] = marshal
    19  	lang.Unmarshallers[types.String] = unmarshal
    20  
    21  	lang.SetMime(types.String,
    22  		"application/x-latex",
    23  		"www/mime",
    24  		"application/base64",
    25  		"application/postscript",
    26  		"application/rtf", "application/x-rtf",
    27  		"application/x-sh", "application/x-bsh", "application/x-shar",
    28  		"application/plain",
    29  		"application/x-tcl",
    30  		"model/vrml", "x-world/x-vrml", "application/x-vrml",
    31  		"image/svg+xml",
    32  		"application/javascript", "application/x-javascript",
    33  		"application/xml",
    34  	)
    35  
    36  	// descriptive name
    37  	stdio.RegisterReadArray("string", readArray)
    38  	stdio.RegisterReadMap("string", readMap)
    39  	stdio.RegisterWriteArray("string", newArrayWriter)
    40  
    41  	lang.ReadIndexes["string"] = index
    42  	lang.ReadNotIndexes["string"] = index
    43  	lang.Marshallers["string"] = marshal
    44  	lang.Unmarshallers["string"] = unmarshal
    45  
    46  }