MCPcopy Create free account
hub / github.com/bathos/Ecmascript-Sublime / stack_top

Function stack_top

nested/src/modify-ecmascript.js:94–114  ·  view source on GitHub ↗
(g_rule, f_set=null)

Source from the content-addressed store, hash-verified

92 };
93
94 const stack_top = (g_rule, f_set=null) => {
95 let s_action;
96 if(g_rule.set) s_action = 'set';
97 else if(g_rule.push) s_action = 'push';
98
99 if(s_action) {
100 let z_action = g_rule[s_action];
101
102 if(Array.isArray(g_rule[s_action])) {
103 let a_stack = z_action;
104 let si_scope_top = a_stack.pop();
105 a_stack.push(f_set? f_set(si_scope_top): si_scope_top);
106 return si_scope_top;
107 }
108 else {
109 return g_rule[s_action] = f_set? f_set(g_rule[s_action]): g_rule[s_action];
110 }
111 }
112
113 return null;
114 };
115
116 const distinct_id = n_id => Buffer.from(n_id+'').toString('base64').replace(/=+$/, '');
117

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected