MCPcopy Create free account
hub / github.com/glslify/glslify / onnode

Function onnode

transform.js:79–126  ·  view source on GitHub ↗
(node)

Source from the content-addressed store, hash-verified

77 done()
78
79 function onnode (node) {
80 // case: path = require('path')
81 if (isRequirePath(node)) {
82 evars.path = path
83 } else if (isRequireGlslify(node, dir)) {
84 var p = node.parent.parent, pp = p.parent
85 if (isReqCallExpression(p, pp)) {
86 // case: require('glslify')(...)
87 pending++
88 callexpr(p, done)
89 } else if (p.type === 'AssignmentExpression') {
90 // case: var glvar;
91 // glvar = require('glslify')
92 glvar = p.left.name
93 } else if (p.type === 'VariableDeclarator') {
94 // case: var glvar = require('glslify')
95 glvar = p.id.name
96 } else if (isReqCallFile(p, pp)) {
97 // case: require('glslify').file(...)
98 pending++
99 callfile(pp, pp.callee.object.source(), done)
100 } else if (isReqCallCompile(p, pp)) {
101 // case: require('glslify').compile(...)
102 pending++
103 callcompile(pp, pp.callee.object.source(), done)
104 } else if (p.type === 'TaggedTemplateExpression') {
105 // case: require('glslify')`...`
106 pending++
107 tagexpr(p, done)
108 }
109 } else if (isCallExpression(node, glvar)) {
110 // case: glvar(...)
111 pending++
112 callexpr(node.parent, done)
113 } else if (isTagExpression(node, glvar)) {
114 // case: glvar`...`
115 pending++
116 tagexpr(node, done)
117 } else if (isCallFile(node, glvar)) {
118 // case: glvar.file(...)
119 pending++
120 callfile(node.parent.parent, glvar, done)
121 } else if (isCallCompile(node, glvar)) {
122 // case: glvar.compile(...)
123 pending++
124 callcompile(node.parent.parent, glvar, done)
125 }
126 }
127
128 function tagexpr (node, cb) {
129 var q = node.quasi

Callers

nothing calls this directly

Calls 13

isRequirePathFunction · 0.85
isRequireGlslifyFunction · 0.85
isReqCallExpressionFunction · 0.85
callexprFunction · 0.85
isReqCallFileFunction · 0.85
callfileFunction · 0.85
isReqCallCompileFunction · 0.85
callcompileFunction · 0.85
tagexprFunction · 0.85
isCallExpressionFunction · 0.85
isTagExpressionFunction · 0.85
isCallFileFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…