/ piacw.com / dev / final / node_modules / glsl-token-inject-block /

[ICO]NameLast modifiedSizeDescription
[PARENTDIR]Parent Directory  -  
[TXT]LICENSE.md2 years ago1.0K0fb859dc fixed mobile overflwo options [كارل مبارك]
[TXT]README.md2 years ago1.6K0fb859dc fixed mobile overflwo options [كارل مبارك]
[   ]index.js2 years ago1.4K0fb859dc fixed mobile overflwo options [كارل مبارك]
[   ]package.json2 years ago1.7K0fb859dc fixed mobile overflwo options [كارل مبارك]
README.md

glsl-token-inject-block

unstable

Injects a "block" of GLSL tokens into a shader, after any #version, #extension and precision statements. This will pad the new tokens with the necessary amount of newlines (but no more).

This module ignores token line, column and position.

Example

Your source:

var tokenizer = require('glsl-tokenizer')
var inject = require('glsl-token-inject-block')
var stringify = require('glsl-token-string')

var tokens = tokenizer(shaderInput)
var newToken = { 
  type: 'preprocessor', 
  data: '#define FOOBAR' 
}

var source = stringify(inject(tokens, newToken))
console.log(source)

The following shader input:

// some comment
#version 300 es
#extension SOME_EXTENSION : enable

void main() {}

Results in the following injected define:

// some comment
#version 300 es
#extension SOME_EXTENSION : enable
#define FOOBAR

void main() {}

Usage

NPM

tokens = inject(tokens, newTokens)

For the given shader source (tokens), injects newTokens into them, assuming the new tokens are a "block" of code that should be placed on its own line.

newTokens can be a single token object, or an array of token objects.

Modifies tokens in place and returns it.

License

MIT, see LICENSE.md for details.

Apache/2.4.38 (Debian) Server at www.karls.computer Port 80