MCPcopy Create free account
hub / github.com/charto/cxml / registerTokens

Method registerTokens

src/parser/ParserConfig.ts:230–260  ·  view source on GitHub ↗
(tbl: TokenTbl)

Source from the content-addressed store, hash-verified

228 }
229
230 registerTokens(tbl: TokenTbl): Registry {
231 const registry = this.registry;
232 let token: MemberToken;
233 let qname: string;
234
235 for(let prefix of Object.keys(tbl)) {
236 const spec = tbl[prefix];
237 const uri = spec.uri;
238 const ns = this.getNamespace(uri) || new Namespace(prefix, uri);
239
240 for(let name of spec.elements || []) {
241 const tokens = this.getElementTokens(ns, name);
242 token = tokens[TokenKind.open]!;
243 qname = prefix + ':' + name;
244
245 registry.tokens[qname] = token;
246 registry.elements[token.id!] = qname;
247 }
248
249 for(let name of spec.attributes || []) {
250 const tokens = this.getAttributeTokens(ns, name);
251 token = tokens[TokenKind.string]!;
252 qname = prefix + ':' + name;
253
254 registry.tokens[qname] = token;
255 registry.attributes[token.id!] = qname;
256 }
257 }
258
259 return(this.registry);
260 }
261
262 jsxRegister<Module extends XModuleTable>(spec: Module): Module;
263

Callers

nothing calls this directly

Calls 3

getNamespaceMethod · 0.95
getElementTokensMethod · 0.95
getAttributeTokensMethod · 0.95

Tested by

no test coverage detected