24 lines
416 B
Go
24 lines
416 B
Go
//go:build js
|
|
|
|
// SPDX-Licence-Identifier: EUPL-1.2
|
|
|
|
package html
|
|
|
|
func cloneTranslator(svc Translator, _ string) Translator {
|
|
if svc == nil {
|
|
return nil
|
|
}
|
|
|
|
if cloner, ok := svc.(translatorCloner); ok && cloner != nil {
|
|
if clone := cloner.Clone(); clone != nil {
|
|
return clone
|
|
}
|
|
}
|
|
|
|
if current, ok := svc.(*defaultTranslator); ok && current != nil {
|
|
clone := *current
|
|
return &clone
|
|
}
|
|
|
|
return svc
|
|
}
|