// Load loads the Pattern, choosing the correct Loader by the leading id byte. func Load(ls *persist.LoadSaver) Pattern { id := ls.LoadByte() l := loaders[int(id)] if l == nil { if ls.Err == nil { ls.Err = errors.New("bad pattern loader") } return nil } return l(ls) }
// LoadIdentifier applies the appropriate IdentifierLoader to load an identifier. func LoadIdentifier(ls *persist.LoadSaver) Identifier { id := ls.LoadByte() l := loaders[int(id)] if l == nil { if ls.Err == nil { ls.Err = errors.New("bad identifier loader") } return nil } return l(ls) }