File

teal-src/util/encodings.d.tl @ 12254:5b0c8e499288

modulemanager: Add plugin load filter that reads module metadata from source Metadata in modules is added using lines formatted as: --% key: value Where key is a valid identifier string, and value is also a string (leading and trailing whitespace are trimmed during parsing). The initial supported keys are: --% requires_core_features: feature1, feature2, ... --% conflicts_core_features: feature1, feature2. ... These 'features' map to features reported by the new core.features module. A benefit of this load-time metadata approach compared to e.g. something like module:requires()/module:conflicts() is that we can continue to look in module search paths for a suitable module. Aborting an already-loaded module due to a version conflict would be too late.
author Matthew Wild <mwild1@gmail.com>
date Fri, 04 Feb 2022 14:20:00 +0000
parent 11459:86904555bffc
child 12387:05c250fa335a
line wrap: on
line source

-- TODO many actually return Maybe(String)
local record lib
	record base64
		encode : function (s : string) : string
		decode : function (s : string) : string
	end
	record stringprep
		nameprep : function (s : string, strict : boolean) : string
		nodeprep : function (s : string, strict : boolean) : string
		resourceprep : function (s : string, strict : boolean) : string
		saslprep : function (s : string, strict : boolean) : string
	end
	record idna
		to_ascii : function (s : string) : string
		to_unicode : function (s : string) : string
	end
	record utf8
		valid : function (s : string) : boolean
		length : function (s : string) : integer
	end
	record confusable
		skeleteon : function (s : string) : string
	end
	version : string
end
return lib