Given a series of GLSL tokens, dedupes any extension declarations and places them at the top of the shader source.
Modifies tokens
in place to remove duplicate extension declarations.
Declarations take the following priority from lowest to highest:
disable
enable
warn
require
If a declaration of higher priority in the list exists it will
replace any other declarations. This can cause issues,
for example, if both disable
and enable
are used for the
same extension. As such it's recommended that you avoid using
disable
at all in
glslify packages
published to npm.
See stackgl/contributing for details.
MIT. See LICENSE.md for details.