SYMBOL INDEX (1894 symbols across 101 files) FILE: dist-test/prep.js function prep (line 5) | function prep() { return null; } FILE: dist/bnf.d.ts type BnfElement (line 2) | type BnfElement = { type BnfSequence (line 31) | type BnfSequence = BnfElement[]; type BnfProduction (line 32) | type BnfProduction = { type ProbeDispatchSpec (line 42) | type ProbeDispatchSpec = { type BnfGrammar (line 48) | type BnfGrammar = { type AmbiguityReport (line 52) | type AmbiguityReport = { class BnfParseError (line 66) | class BnfParseError extends Error { FILE: dist/bnf.js function getBnfParser (line 350) | function getBnfParser() { function eliminateLeftRecursion (line 460) | function eliminateLeftRecursion(grammar) { function findLeadingRefCycleMembers (line 511) | function findLeadingRefCycleMembers(prods) { function topoOrderForPaull (line 576) | function topoOrderForPaull(prods) { function substituteLeadingRef (line 606) | function substituteLeadingRef(target, source) { function eliminateDirectLeftRec (line 626) | function eliminateDirectLeftRec(prod) { function desugar (line 666) | function desugar(grammar) { class BnfParseError (line 793) | class BnfParseError extends Error { method constructor (line 794) | constructor(message, location, cause) { function parseBnf (line 804) | function parseBnf(src) { constant CORE_RULES_ABNF (line 830) | const CORE_RULES_ABNF = ` function getCoreRules (line 848) | function getCoreRules() { function refsIn (line 861) | function refsIn(alt, out) { function withCoreRules (line 879) | function withCoreRules(user) { function mergeIncrementals (line 912) | function mergeIncrementals(prods) { function isProbeableOpt (line 969) | function isProbeableOpt(el) { function collectTerminalVocabElements (line 989) | function collectTerminalVocabElements(el, grammar, out, visited) { function collectSeqVocabElements (line 1026) | function collectSeqVocabElements(seq, grammar) { function mapsOverlap (line 1033) | function mapsOverlap(a, b) { function rewriteProbeDispatches (line 1045) | function rewriteProbeDispatches(grammar) { function emitProbeHelper (line 1175) | function emitProbeHelper(prod, tag, ruleSpec, literals, regexTokens) { function emitProbeDispatch (line 1193) | function emitProbeDispatch(prod, tag, ruleSpec, refs, literals, regexTok... function emitGrammarSpec (line 1256) | function emitGrammarSpec(grammar, opts) { function segmentize (line 1399) | function segmentize(alt, literals, regexTokens) { function regexKey (line 1426) | function regexKey(el) { function isSingleSegment (line 1429) | function isSingleSegment(alt) { function validateRefs (line 1448) | function validateRefs(alt, knownRules, ruleName) { class RefRegistry (line 1459) | class RefRegistry { method constructor (line 1460) | constructor() { method register (line 1464) | register(fn) { method map (line 1469) | get map() { function mkAstNode (line 1473) | function mkAstNode(ruleName, nodeKind) { function segmentToAlt (line 1478) | function segmentToAlt(seg, tag, refs, initNode, ruleName, nodeKind) { function captureChildRef (line 1505) | function captureChildRef(refs, ruleName, nodeKind) { function emitProduction (line 1530) | function emitProduction(prod, grammar, literals, regexTokens, knownRules... function emitChain (line 1690) | function emitChain(headName, alt, literals, regexTokens, tag, ruleSpec, ... function computeFirstSets (line 1723) | function computeFirstSets(grammar, literals, regexTokens) { function firstOfAlt (line 1778) | function firstOfAlt(alt, literals, regexTokens, firstSets, nullable) { function ruleLiteralPrefix (line 1809) | function ruleLiteralPrefix(name, grammar, literals, regexTokens, visited) { function altLiteralPrefix (line 1831) | function altLiteralPrefix(alt, grammar, literals, regexTokens, visited) { function altPrefixesRaw (line 1862) | function altPrefixesRaw(alt, grammar, literals, regexTokens, maxK, visit... function altPrefixes (line 1918) | function altPrefixes(alt, grammar, literals, regexTokens, maxK) { function isEffectivelyCaseSensitive (line 1935) | function isEffectivelyCaseSensitive(el) { function termKey (line 1944) | function termKey(el) { function escapeRegExp (line 1947) | function escapeRegExp(s) { function parseNumericValue (line 1960) | function parseNumericValue(src) { function allocTokenName (line 1982) | function allocTokenName(literal, used) { function bnf (line 2000) | function bnf(src, opts) { FILE: dist/debug.js constant DEFAULTS (line 6) | const DEFAULTS = { function descAlt (line 118) | function descAlt(jsonic, rs, kind) { function ruleTree (line 163) | function ruleTree(jsonic, rn, rsm) { function ruleTreeStep (line 181) | function ruleTreeStep(rsm, name, state, step) { function descTokenState (line 189) | function descTokenState(ctx) { function descParseState (line 198) | function descParseState(ctx, rule, lex) { function descRuleState (line 205) | function descRuleState(ctx, rule) { function descAltSeq (line 225) | function descAltSeq(alt, cfg) { constant LOG (line 236) | const LOG = { constant LOGKIND (line 242) | const LOGKIND = { FILE: dist/error.d.ts class JsonicError (line 2) | class JsonicError extends SyntaxError { FILE: dist/error.js class JsonicError (line 25) | class JsonicError extends SyntaxError { method constructor (line 26) | constructor(code, details, token, rule, ctx) { function errinject (line 37) | function errinject(s, code, details, token, rule, ctx) { function trimstk (line 51) | function trimstk(err) { function errsite (line 61) | function errsite(spec) { function errmsg (line 105) | function errmsg(spec) { function errdesc (line 175) | function errdesc(code, details, token, rule, ctx) { function strinject (line 269) | function strinject(s, m, f) { function prop (line 311) | function prop(obj, path, val) { function str (line 343) | function str(o, len = 44) { function snip (line 353) | function snip(s, len = 5) { FILE: dist/grammar.js function mark (line 7) | function mark(node, marker, data) { function grammar (line 12) | function grammar(jsonic) { function makeJSON (line 845) | function makeJSON(jsonic) { FILE: dist/jsonic-bnf-cli.js function run (line 14) | async function run(argv, console) { function readStdin (line 109) | async function readStdin(console) { function help (line 121) | function help(console) { FILE: dist/jsonic-cli.js function run (line 11) | async function run(argv, console) { function read_stdin (line 102) | async function read_stdin(console) { function handle_props (line 116) | function handle_props(propvals) { function handle_plugins (line 127) | function handle_plugins(plugins) { function camel (line 173) | function camel(s) { function help (line 179) | function help(console) { FILE: dist/jsonic.d.ts type Jsonic (line 38) | type Jsonic = JsonicParse & // A function that parses. FILE: dist/jsonic.js function make (line 65) | function make(param_options, parent) { FILE: dist/lexer.d.ts class PointImpl (line 3) | class PointImpl implements Point { class TokenImpl (line 15) | class TokenImpl implements Token { class LexImpl (line 44) | class LexImpl implements Lex { FILE: dist/lexer.js class PointImpl (line 7) | class PointImpl { method constructor (line 8) | constructor(len, sI, rI, cI) { method toString (line 25) | toString() { method [types_1.INSPECT] (line 31) | [types_1.INSPECT]() { class TokenImpl (line 38) | class TokenImpl { method constructor (line 39) | constructor(name, tin, val, src, pnt, use, why) { method resolveVal (line 60) | resolveVal(rule, ctx) { method bad (line 64) | bad(err, details) { method toString (line 71) | toString() { method [types_1.INSPECT] (line 90) | [types_1.INSPECT]() { function normalizeCommentSuffix (line 384) | function normalizeCommentSuffix(raw) { function commentSuffixMatch (line 413) | function commentSuffixMatch(fwd, fI, suffixes) { function commentSuffixFnMatch (line 426) | function commentSuffixFnMatch(lex, fI, fn) { function subMatchFixed (line 849) | function subMatchFixed(lex, first, tsrc) { class LexImpl (line 874) | class LexImpl { method refwd (line 875) | refwd() { method constructor (line 879) | constructor(ctx) { method token (line 890) | token(ref, val, src, pnt, use, why) { method next (line 904) | next(rule, alt, altI, tI) { method tokenize (line 947) | tokenize(ref) { method bad (line 950) | bad(why, pstart, pend) { FILE: dist/parser.d.ts class ParserImpl (line 3) | class ParserImpl implements Parser { FILE: dist/parser.js function defineLookaheadAliases (line 15) | function defineLookaheadAliases(ctx, notoken) { function attachRewind (line 76) | function attachRewind(ctx) { class ParserImpl (line 128) | class ParserImpl { method constructor (line 129) | constructor(options, cfg, j) { method rule (line 137) | rule(name, define) { method start (line 158) | start(src, jsonic, meta, parent_ctx) { method clone (line 258) | clone(options, config, j) { method norm (line 265) | norm() { FILE: dist/rules.d.ts class RuleImpl (line 2) | class RuleImpl implements Rule { class RuleSpecImpl (line 49) | class RuleSpecImpl implements RuleSpec { FILE: dist/rules.js class RuleImpl (line 8) | class RuleImpl { method constructor (line 9) | constructor(spec, ctx, node) { method o0 (line 45) | get o0() { return this.o[0] ?? this._NOTOKEN; } method o0 (line 46) | set o0(v) { this.o[0] = v; } method o1 (line 47) | get o1() { return this.o[1] ?? this._NOTOKEN; } method o1 (line 48) | set o1(v) { this.o[1] = v; } method c0 (line 49) | get c0() { return this.c[0] ?? this._NOTOKEN; } method c0 (line 50) | set c0(v) { this.c[0] = v; } method c1 (line 51) | get c1() { return this.c[1] ?? this._NOTOKEN; } method c1 (line 52) | set c1(v) { this.c[1] = v; } method os (line 53) | get os() { return this.oN; } method os (line 54) | set os(v) { this.oN = v; } method cs (line 55) | get cs() { return this.cN; } method cs (line 56) | set cs(v) { this.cN = v; } method process (line 57) | process(ctx, lex) { method eq (line 61) | eq(counter, limit = 0) { method lt (line 65) | lt(counter, limit = 0) { method gt (line 69) | gt(counter, limit = 0) { method lte (line 73) | lte(counter, limit = 0) { method gte (line 77) | gte(counter, limit = 0) { method toString (line 81) | toString() { class AltMatchImpl (line 90) | class AltMatchImpl { method constructor (line 91) | constructor() { constant PALT (line 98) | const PALT = makeAltMatch(); constant EMPTY_ALT (line 99) | const EMPTY_ALT = makeAltMatch(); class RuleSpecImpl (line 100) | class RuleSpecImpl { method constructor (line 101) | constructor(j, cfg, def) { method tin (line 136) | tin(ref) { method fnref (line 139) | fnref(frm) { method add (line 173) | add(rs, a, mods) { method open (line 186) | open(a, mods) { method close (line 189) | close(a, mods) { method action (line 192) | action(append, step, state, action) { method bo (line 202) | bo(append, action) { method ao (line 206) | ao(append, action) { method bc (line 210) | bc(append, action) { method ac (line 214) | ac(append, action) { method clear (line 218) | clear() { method norm (line 227) | norm() { method process (line 271) | process(rule, ctx, lex, state) { method bad (line 439) | bad(tkn, rule, ctx, parse) { method unknownRule (line 445) | unknownRule(tkn, name) { function parse_alts (line 456) | function parse_alts(is_open, alts, lex, rule, ctx) { constant GROUP_TAG_RE (line 589) | const GROUP_TAG_RE = /^[a-z][a-z0-9-]+$/; function normalt (line 591) | function normalt(a, rs, r) { function isfnref (line 754) | function isfnref(v) { function resolveFunctionRef (line 757) | function resolveFunctionRef(fkind, rs, r, a, k) { constant COND_OPS (line 768) | const COND_OPS = { function makeRuleCond (line 776) | function makeRuleCond(co, prop, val) { FILE: dist/types.d.ts type JsonicParse (line 9) | type JsonicParse = (src: any, meta?: any, parent_ctx?: any) => any; type JsonicAPI (line 10) | interface JsonicAPI { type BnfConvertOptions (line 33) | type BnfConvertOptions = { type GrammarSetting (line 37) | type GrammarSetting = { type Jsonic (line 44) | type Jsonic = JsonicParse & // A function that parses. type Plugin (line 48) | type Plugin = ((jsonic: Jsonic, plugin_options?: any) => void | Jsonic) & { type Options (line 52) | type Options = { type RuleSpec (line 224) | interface RuleSpec { type Rule (line 254) | interface Rule { type Context (line 291) | type Context = { type Lex (line 328) | interface Lex { type NextToken (line 340) | type NextToken = (rule: Rule) => Token; type Config (line 341) | type Config = { type Point (line 505) | interface Point { type Token (line 513) | interface Token { type AltSpec (line 530) | interface AltSpec { type AltSpecish (line 544) | type AltSpecish = AltSpec | undefined | null | false | 0 | typeof NaN; type ListMods (line 545) | type ListMods = { type AltMatch (line 551) | interface AltMatch { type Bag (line 564) | type Bag = { type FuncRef (line 567) | type FuncRef = `@${string}`; type FuncRefMap (line 568) | type FuncRefMap = Record; type Counters (line 569) | type Counters = { type Tin (line 572) | type Tin = number; type TokenMap (line 573) | type TokenMap = { type TokenSetMap (line 576) | type TokenSetMap = { type TinMap (line 579) | type TinMap = { type TinSetMap (line 582) | type TinSetMap = { type MatchMap (line 585) | type MatchMap = { type Chars (line 588) | type Chars = { type StrMap (line 591) | type StrMap = { type RuleState (line 594) | type RuleState = 'o' | 'c'; type RuleStep (line 595) | type RuleStep = 'b' | 'a'; type LexMatcher (line 596) | type LexMatcher = (lex: Lex, rule: Rule, tI?: number) => Token | undefined; type MakeLexMatcher (line 597) | type MakeLexMatcher = (cfg: Config, opts: Options) => LexMatcher | null ... type LexCheck (line 598) | type LexCheck = (lex: Lex) => void | undefined | { type ParsePrepare (line 602) | type ParsePrepare = (jsonic: Jsonic, ctx: Context, meta?: any) => void; type RuleSpecMap (line 603) | type RuleSpecMap = { type RuleDefiner (line 606) | type RuleDefiner = (rs: RuleSpec, p: Parser) => void | RuleSpec; type NormAltSpec (line 607) | interface NormAltSpec extends AltSpec { type AltCond (line 620) | type AltCond = ((rule: Rule, ctx: Context, alt: AltMatch) => boolean) | ... type NormAltCond (line 621) | type NormAltCond = ((rule: Rule, ctx: Context, alt: AltMatch) => boolean); type AltModifier (line 622) | type AltModifier = (rule: Rule, ctx: Context, alt: AltMatch, next: Rule)... type AltAction (line 623) | type AltAction = (rule: Rule, ctx: Context, alt: AltMatch) => any; type AltNext (line 624) | type AltNext = (rule: Rule, ctx: Context, alt: AltMatch) => string | nul... type AltBack (line 625) | type AltBack = (rule: Rule, ctx: Context, alt: AltMatch) => number | nul... type StateAction (line 626) | type StateAction = (rule: Rule, ctx: Context, next: Rule, out?: Token | ... type AltError (line 627) | type AltError = (rule: Rule, ctx: Context, alt: AltMatch) => Token | und... type ValModifier (line 628) | type ValModifier = (val: any, lex: Lex, cfg: Config, opts: Options) => s... type LexSub (line 629) | type LexSub = (tkn: Token, rule: Rule, ctx: Context) => void; type RuleSub (line 630) | type RuleSub = (rule: Rule, ctx: Context) => void; type Parser (line 631) | interface Parser { type GrammarSpec (line 640) | type GrammarSpec = { type GrammarAltSpec (line 662) | type GrammarAltSpec = { FILE: dist/utility.js function configure (line 111) | function configure(jsonic, incfg, opts) { function tokenize (line 381) | function tokenize(ref, cfg, jsonic) { function findTokenSet (line 396) | function findTokenSet(ref, cfg) { function mesc (line 403) | function mesc(s, _) { function regexp (line 408) | function regexp(flags, ...parts) { function escre (line 416) | function escre(s) { function deep (line 429) | function deep(base, ...rest) { function badlex (line 463) | function badlex(lex, BD, ctx) { function makelog (line 481) | function makelog(ctx, meta) { function srcfmt (line 511) | function srcfmt(config) { function str (line 532) | function str(o, len = 44) { function snip (line 542) | function snip(s, len = 5) { function clone (line 547) | function clone(class_instance) { function charset (line 551) | function charset(...parts) { function clean (line 562) | function clean(o) { function filterRules (line 571) | function filterRules(rs, cfg) { function prop (line 589) | function prop(obj, path, val) { function modlist (line 622) | function modlist(list, mods) { function parserwrap (line 663) | function parserwrap(parser) { function getpath (line 730) | function getpath(root, path) { function resolveFuncRefs (line 740) | function resolveFuncRefs(obj, ref) { FILE: docs/assets/js/2.34930047.js function o (line 1) | function o(t){return decodeURI(t).replace(s,"").replace(i,"")} function l (line 1) | function l(t){return r.test(t)} function u (line 1) | function u(t){return/^mailto:/.test(t)} function c (line 1) | function c(t){return/^tel:/.test(t)} function h (line 1) | function h(t){if(l(t))return t;const e=t.match(s),n=e?e[0]:"",i=o(t);ret... function p (line 1) | function p(t,e){const n=decodeURIComponent(t.hash),i=function(t){const e... function d (line 1) | function d(t,e,n){if(l(e))return{type:"external",path:e};n&&(e=function(... function f (line 1) | function f(t,e,n,s){const{pages:i,themeConfig:a}=n,r=s&&a.locales&&a.loc... function g (line 1) | function g(t){const e=m(t.headers||[]);return[{type:"group",collapsable:... function m (line 1) | function m(t){let e;return(t=t.map(t=>Object.assign({},t))).forEach(t=>{... function b (line 1) | function b(t){return Object.assign(t,{type:t.items&&t.items.length?"link... method beforeCreate (line 1) | beforeCreate(){this.$options.components.SidebarLinks=n(168).default} function o (line 1) | function o(t,e,n,s,i){const a={props:{to:e,activeClass:"",exactActiveCla... function l (line 1) | function l(t,e,n,i,a,r=1){return!e||r>a?null:t("ul",{class:"sidebar-sub-... method render (line 1) | render(t,{parent:{$page:e,$site:n,$route:i,$themeConfig:a,$themeLocaleCo... function c (line 1) | function c(t,e){if("group"===e.type){const n=e.path&&Object(s.e)(t,e.pat... method data (line 1) | data(){return{openGroupIndex:this.initialOpenGroupIndex||0}} method $route (line 1) | $route(){this.refreshIndex()} method created (line 1) | created(){this.refreshIndex()} method refreshIndex (line 1) | refreshIndex(){const t=function(t,e){for(let n=0;n0?this.focusIndex--:this.f... method onDown (line 1) | onDown(){this.showSuggestions&&(this.focusIndex1){const e... method userLinks (line 1) | userLinks(){return(this.nav||[]).map(t=>Object.assign(Object(s.j)(t),{it... method repoLink (line 1) | repoLink(){const{repo:t}=this.$site.themeConfig;return t?/^https?:/.test... method repoLabel (line 1) | repoLabel(){if(!this.repoLink)return;if(this.$site.themeConfig.repoLabel... function C (line 1) | function C(t,e){return t.ownerDocument.defaultView.getComputedStyle(t,nu... method algolia (line 1) | algolia(){return this.$themeLocaleConfig.algolia||this.$site.themeConfig... method isAlgoliaSearch (line 1) | isAlgoliaSearch(){return this.algolia&&this.algolia.apiKey&&this.algolia... method mounted (line 1) | mounted(){const t=parseInt(C(this.$el,"paddingLeft"))+parseInt(C(this.$e... method lastUpdated (line 1) | lastUpdated(){return this.$page.lastUpdated} method lastUpdatedText (line 1) | lastUpdatedText(){return"string"==typeof this.$themeLocaleConfig.lastUpd... method editLink (line 1) | editLink(){const t=w()(this.$page.frontmatter.editLink)?this.$site.theme... method editLinkText (line 1) | editLinkText(){return this.$themeLocaleConfig.editLinkText||this.$site.t... method createEditLink (line 1) | createEditLink(t,e,n,i,a){if(/bitbucket.org/.test(e)){return e.replace(s... method prev (line 1) | prev(){return P(T.PREV,this)} method next (line 1) | next(){return P(T.NEXT,this)} function P (line 1) | function P(t,{$themeConfig:e,$page:n,$route:i,$site:a,sidebarItems:r}){c... function A (line 1) | function A(t,e,n){const s=[];!function t(e,n){for(let s=0,i=e.length;s{this.isSidebarOpen=!1})} method toggleSidebar (line 1) | toggleSidebar(t){this.isSidebarOpen="boolean"==typeof t?t:!this.isSideba... method onTouchStart (line 1) | onTouchStart(t){this.touchStart={x:t.changedTouches[0].clientX,y:t.chang... method onTouchEnd (line 1) | onTouchEnd(t){const e=t.changedTouches[0].clientX-this.touchStart.x,n=t.... FILE: docs/assets/js/5.46815478.js method mounted (line 1) | mounted(){this.$parent&&this.$parent.loadTabs&&this.$parent.loadTabs()} FILE: docs/assets/js/6.f03d59ff.js method activeCodeTabIndex (line 1) | activeCodeTabIndex(e){this.activateCodeTab(e)} method mounted (line 1) | mounted(){this.loadTabs()} method changeCodeTab (line 1) | changeCodeTab(e){this.activeCodeTabIndex=e} method loadTabs (line 1) | loadTabs(){this.codeTabs=(this.$slots.default||[]).filter(e=>Boolean(e.c... method activateCodeTab (line 1) | activateCodeTab(e){this.codeTabs.forEach(e=>{e.elm&&e.elm.classList.remo... FILE: docs/assets/js/app.0c621e62.js function e (line 1) | function e(e){for(var r,a,s=e[0],u=e[1],l=e[2],f=0,p=[];fn?n:t} function i (line 3) | function i(t){return 100*(-1+t)} function e (line 3) | function e(){var n=t.shift();n&&n(e)} function n (line 3) | function n(n){return n=n.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(... function r (line 3) | function r(t,e,r){e=n(e),t.style[e]=r} function u (line 3) | function u(t,e){return("string"==typeof t?t:f(t)).indexOf(" "+e+" ")>=0} function l (line 3) | function l(t,e){var n=f(t),r=n+e;u(n,e)||(t.className=r.substring(1))} function c (line 3) | function c(t,e){var n,r=f(t);u(t,e)&&(n=r.replace(" "+e+" "," "),t.class... function f (line 3) | function f(t){return(" "+(t.className||"")+" ").replace(/\s+/gi," ")} function p (line 3) | function p(t){t&&t.parentNode&&t.parentNode.removeChild(t)} function u (line 3) | function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=e||n<0||m&&t-l>=i} function x (line 10) | function x(){var t=d();if(_(t))return w(t);s=setTimeout(x,function(t){va... function w (line 10) | function w(t){return s=void 0,g&&r?y(t):(r=o=void 0,a)} function k (line 10) | function k(){var t=d(),n=_(t);if(r=arguments,o=this,u=t,n){if(void 0===s... function u (line 10) | function u(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e=0&&Math.floor(e)===e... function v (line 16) | function v(t){return a(t)&&"function"==typeof t.then&&"function"==typeof... function m (line 16) | function m(t){return null==t?"":Array.isArray(t)||p(t)&&t.toString===f?J... function g (line 16) | function g(t){var e=parseFloat(t);return isNaN(e)?t:e} function y (line 16) | function y(t,e){for(var n=Object.create(null),r=t.split(","),o=0;o1?t.apply(e,arguments):t... function P (line 16) | function P(t,e){e=e||0;for(var n=t.length-e,r=new Array(n);n--;)r[n]=t[n... function A (line 16) | function A(t,e){for(var n in e)t[n]=e[n];return t} function T (line 16) | function T(t){for(var e={},n=0;n0,s=e?!!e.$stable:!a,... function ve (line 16) | function ve(t,e,n,r){var i=function(){var e=ct;ft(t);var n=arguments.len... function me (line 16) | function me(t,e){return function(){return t[e]}} function ge (line 16) | function ge(t){return{get attrs(){if(!t._attrsProxy){var e=t._attrsProxy... function ye (line 16) | function ye(t,e,n,r,o){var i=!1;for(var a in e)a in t?e[a]!==n[a]&&(i=!0... function be (line 16) | function be(t,e,n,r){Object.defineProperty(t,e,{enumerable:!0,configurab... function _e (line 16) | function _e(t,e){for(var n in e)t[n]=e[n];for(var n in t)n in e||delete ... function we (line 16) | function we(t,e){return(t.__esModule||lt&&"Module"===t[Symbol.toStringTa... function ke (line 16) | function ke(t){if(o(t))for(var e=0;e-1:"string"==typeof t?t.split(... function Qn (line 16) | function Qn(t,e){var n=t.cache,r=t.keys,o=t._vnode;for(var i in n){var a... function Xn (line 16) | function Xn(t,e,n,r){var o=t[e];!o||r&&o.tag===r.tag||o.componentInstanc... function r (line 16) | function r(){n.$off(t,r),e.apply(n,arguments)} function lr (line 16) | function lr(t){for(var e=t.data,n=t,r=t;a(r.componentInstance);)(r=r.com... function cr (line 16) | function cr(t,e){return{staticClass:fr(t.staticClass,e.staticClass),clas... function fr (line 16) | function fr(t,e){return t?e?t+" "+e:t:e||""} function pr (line 16) | function pr(t){return Array.isArray(t)?function(t){for(var e,n="",r=0,o=... function xr (line 16) | function xr(t,e){var n=t.data.ref;if(a(n)){var r=t.context,i=t.component... function wr (line 16) | function wr(t,e,n){var r=t._setupState;r&&w(r,e)&&(Nt(r[e])?r[e].value=n... function Cr (line 16) | function Cr(t,e){return t.key===e.key&&t.asyncFactory===e.asyncFactory&&... function Or (line 16) | function Or(t,e,n){var r,o,i={};for(r=e;r<=n;++r)a(o=t[r].key)&&(i[o]=r)... function Sr (line 16) | function Sr(t,e){(t.data.directives||e.data.directives)&&function(t,e){v... function Pr (line 16) | function Pr(t,e){var n,r,o=Object.create(null);if(!t)return o;for(n=0;n<... function Ar (line 16) | function Ar(t){return t.rawName||"".concat(t.name,".").concat(Object.key... function Tr (line 16) | function Tr(t,e,n,r,o){var i=t.def&&t.def[e];if(i)try{i(n.elm,t,n,r,o)}c... function Rr (line 16) | function Rr(t,e){var n=e.componentOptions;if(!(a(n)&&!1===n.Ctor.options... function Ir (line 16) | function Ir(t,e,n,r){r||t.tagName.indexOf("-")>-1?Mr(t,e,n):or(e)?ur(n)?... function Mr (line 16) | function Mr(t,e,n){if(ur(n))t.removeAttribute(e);else{if(Q&&!X&&"TEXTARE... function Nr (line 16) | function Nr(t,e){var n=e.elm,r=e.data,o=t.data;if(!(i(r.staticClass)&&i(... function zr (line 16) | function zr(t,e,n){var r=Ur;return function o(){var i=e.apply(null,argum... function qr (line 16) | function qr(t,e,n,r){if(Br){var o=sn,i=e;e=i._wrapper=function(t){if(t.t... function Vr (line 16) | function Vr(t,e,n,r){(r||Ur).removeEventListener(t,e._wrapper||e,n)} function Hr (line 16) | function Hr(t,e){if(!i(t.data.on)||!i(e.data.on)){var n=e.data.on||{},r=... function Jr (line 16) | function Jr(t,e){if(!i(t.data.domProps)||!i(e.data.domProps)){var n,r,o=... function Gr (line 16) | function Gr(t,e){return!t.composing&&("OPTION"===t.tagName||function(t,e... function Yr (line 16) | function Yr(t){var e=Zr(t.style);return t.staticStyle?A(t.staticStyle,e):e} function Zr (line 16) | function Zr(t){return Array.isArray(t)?T(t):"string"==typeof t?Xr(t):t} function ao (line 16) | function ao(t,e){var n=e.data,r=t.data;if(!(i(n.staticStyle)&&i(n.style)... function lo (line 16) | function lo(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s... function co (line 16) | function co(t,e){if(e&&(e=e.trim()))if(t.classList)e.indexOf(" ")>-1?e.s... function fo (line 16) | function fo(t){if(t){if("object"==typeof t){var e={};return!1!==t.css&&A... function _o (line 16) | function _o(t){bo((function(){bo(t)}))} function xo (line 16) | function xo(t,e){var n=t._transitionClasses||(t._transitionClasses=[]);n... function wo (line 16) | function wo(t,e){t._transitionClasses&&_(t._transitionClasses,e),co(t,e)} function ko (line 16) | function ko(t,e,n){var r=Co(t,e),o=r.type,i=r.timeout,a=r.propCount;if(!... function Co (line 16) | function Co(t,e){var n,r=window.getComputedStyle(t),o=(r[vo+"Delay"]||""... function Oo (line 16) | function Oo(t,e){for(;t.length=t.length?n():t[o]?e(t[o],(functi... function Ca (line 16) | function Ca(t){return function(e,n,r){var o=!1,i=0,a=null;Oa(t,(function... function Oa (line 16) | function Oa(t,e){return ja(t.map((function(t){return Object.keys(t.compo... function ja (line 16) | function ja(t){return Array.prototype.concat.apply([],t)} function Ea (line 16) | function Ea(t){var e=!1;return function(){for(var n=[],r=arguments.lengt... function Aa (line 16) | function Aa(t,e,n,r){var o=Oa(t,(function(t,r,o,i){var a=function(t,e){"... function Ta (line 16) | function Ta(t,e){if(e)return function(){return t.apply(e,arguments)}} function e (line 16) | function e(e,n){t.call(this,e,n),this._startLocation=Ra(this.base)} function Ra (line 16) | function Ra(t){var e=window.location.pathname,n=e.toLowerCase(),r=t.toLo... function e (line 16) | function e(e,n,r){t.call(this,e,n),r&&function(t){var e=Ra(t);if(!/^\/#/... function Ma (line 16) | function Ma(){var t=Da();return"/"===t.charAt(0)||(Fa("/"+t),!1)} function Da (line 16) | function Da(){var t=window.location.href,e=t.indexOf("#");return e<0?"":... function Na (line 16) | function Na(t){var e=window.location.href,n=e.indexOf("#");return(n>=0?e... function Ua (line 16) | function Ua(t){ha?va(Na(t)):window.location.hash=t} function Fa (line 16) | function Fa(t){ha?ma(Na(t)):window.location.replace(Na(t))} function e (line 16) | function e(e,n){t.call(this,e,n),this.stack=[],this.index=-1} function Ha (line 16) | function Ha(t,e){return t.push(e),function(){var n=t.indexOf(e);n>-1&&t.... function Ja (line 16) | function Ja(t){const e=Object.create(null);return function(n){return e[n... function ts (line 16) | function ts(t,e){if(!e)return;if(t(e))return t(e);return e.includes("-")... function as (line 16) | function as(t){return ts(rs,t)} function ss (line 16) | function ss(t){return ts(os,t)} function us (line 16) | function us(t){return ts(ns,t)} function ls (line 16) | function ls(t){return ts(is,t)} function cs (line 16) | function cs(...t){return Promise.all(t.filter(t=>t).map(async t=>{if(!ls... function fs (line 16) | function fs(t,e){"undefined"!=typeof window&&window.__VUEPRESS__&&(windo... method created (line 16) | created(){if(this.siteMeta=this.$site.headTags.filter(([t])=>"meta"===t)... method mounted (line 16) | mounted(){this.currentMetaTags=[...document.querySelectorAll("meta")],th... method updateMeta (line 16) | updateMeta(){document.title=this.$title,document.documentElement.lang=th... method getMergedMetaTags (line 16) | getMergedMetaTags(){const t=this.$page.frontmatter.meta||[];return ds()(... method updateCanonicalLink (line 16) | updateCanonicalLink(){gs(),this.$canonicalUrl&&document.head.insertAdjac... method $page (line 16) | $page(){this.updateMeta(),this.updateCanonicalLink()} method beforeDestroy (line 16) | beforeDestroy(){bs(null,this.currentMetaTags),gs()} function gs (line 16) | function gs(){const t=document.querySelector("link[rel='canonical']");t&... function ys (line 16) | function ys(t=""){return t?``:""} function bs (line 16) | function bs(t,e){if(e&&[...e].filter(t=>t.parentNode===document.head).fo... function _s (line 16) | function _s(t){for(const e of["name","property","itemprop"])if(t.hasOwnP... method mounted (line 16) | mounted(){window.addEventListener("scroll",this.onScroll)} method setActiveHash (line 16) | setActiveHash(){const t=[].slice.call(document.querySelectorAll(".sideba... method beforeDestroy (line 16) | beforeDestroy(){window.removeEventListener("scroll",this.onScroll)} method mounted (line 16) | mounted(){$s.a.configure({showSpinner:!1}),this.$router.beforeEach((t,e,... method layout (line 16) | layout(){const t=this.getLayout();return fs("layout",t),Wn.component(t)} method getLayout (line 16) | getLayout(){if(this.$page.path){const t=this.$page.frontmatter.layout;re... method $dataBlock (line 16) | $dataBlock(){return this.$options.__data__block__} class Ls (line 16) | class Ls extends class{constructor(){this.store=new Wn({data:{state:{}}}... method constructor (line 16) | constructor(){this.store=new Wn({data:{state:{}}})} method $get (line 16) | $get(t){return this.store.state[t]} method $set (line 16) | $set(t,e){Wn.set(this.store.state,t,e)} method $emit (line 16) | $emit(...t){this.store.$emit(...t)} method $on (line 16) | $on(...t){this.store.$on(...t)} method install (line 16) | install(t){const e=new Ls;t.$vuepress=e,t.prototype.$vuepress=e} function Is (line 16) | function Is(t,e){const n=e.toLowerCase();return t.options.routes.some(t=... method render (line 16) | render(t){const e=this.pageKey||this.$parent.$page.key;return fs("pageKe... method openInNewWindowTitle (line 16) | openInNewWindowTitle(){return this.$themeLocaleConfig.openNewWindowText|... method render (line 16) | render(t,{parent:e,children:n}){if(e._isMounted)return n;e.$once("hook:m... method setPage (line 16) | setPage(t){this.__page=t} method $site (line 16) | get $site(){return t} method $themeConfig (line 16) | get $themeConfig(){return this.$site.themeConfig} method $frontmatter (line 16) | get $frontmatter(){return this.$page.frontmatter} method $localeConfig (line 16) | get $localeConfig(){const{locales:t={}}=this.$site;let e,n;for(const r i... method $siteTitle (line 16) | get $siteTitle(){return this.$localeConfig.title||this.$site.title||""} method $canonicalUrl (line 16) | get $canonicalUrl(){const{canonicalUrl:t}=this.$page.frontmatter;return"... method $title (line 16) | get $title(){const t=this.$page,{metaTitle:e}=this.$page.frontmatter;if(... method $description (line 16) | get $description(){const t=function(t){if(t){const e=t.filter(t=>"descri... method $lang (line 16) | get $lang(){return this.$page.frontmatter.lang||this.$localeConfig.lang|... method $localePath (line 16) | get $localePath(){return this.$localeConfig.path||"/"} method $themeLocaleConfig (line 16) | get $themeLocaleConfig(){return(this.$site.themeConfig.locales||{})[this... method $page (line 16) | get $page(){return this.__page?this.__page:function(t,e){for(let n=0;n t[r](/[A-Z]/g, (m) => ' ' +... FILE: go/alignment_test.go function TestAlignmentValues (line 24) | func TestAlignmentValues(t *testing.T) { function TestAlignmentSafeKey (line 30) | func TestAlignmentSafeKey(t *testing.T) { function TestAlignmentMapMerge (line 36) | func TestAlignmentMapMerge(t *testing.T) { function TestAlignmentNumberText (line 42) | func TestAlignmentNumberText(t *testing.T) { function TestAlignmentStructure (line 47) | func TestAlignmentStructure(t *testing.T) { function TestAlignmentEmpty (line 52) | func TestAlignmentEmpty(t *testing.T) { function TestAlignmentErrors (line 88) | func TestAlignmentErrors(t *testing.T) { function runErrorTSV (line 130) | func runErrorTSV(t *testing.T, file string, j *Jsonic) { function TestLexErrorsDefault (line 171) | func TestLexErrorsDefault(t *testing.T) { function TestLexErrorsExcludeJsonicImp (line 175) | func TestLexErrorsExcludeJsonicImp(t *testing.T) { function TestLexErrorsExcludeJsonicImpComma (line 180) | func TestLexErrorsExcludeJsonicImpComma(t *testing.T) { function TestExcludeStrictJSON (line 187) | func TestExcludeStrictJSON(t *testing.T) { function TestExcludeStrictJSONErrors (line 192) | func TestExcludeStrictJSONErrors(t *testing.T) { function TestExcludeComma (line 197) | func TestExcludeComma(t *testing.T) { function TestExcludeCommaErrors (line 202) | func TestExcludeCommaErrors(t *testing.T) { function TestIncludeJSON (line 212) | func TestIncludeJSON(t *testing.T) { function TestIncludeJSONErrors (line 217) | func TestIncludeJSONErrors(t *testing.T) { function TestFeatureCommentSuffixLine (line 226) | func TestFeatureCommentSuffixLine(t *testing.T) { function TestFeatureCommentSuffixBlock (line 241) | func TestFeatureCommentSuffixBlock(t *testing.T) { function TestAlignmentMapExtendFalse (line 259) | func TestAlignmentMapExtendFalse(t *testing.T) { function TestAlignmentMapMergeFunc (line 275) | func TestAlignmentMapMergeFunc(t *testing.T) { function TestAlignmentSafeKeyArray (line 295) | func TestAlignmentSafeKeyArray(t *testing.T) { function TestAlignmentSafeKeyFalse (line 324) | func TestAlignmentSafeKeyFalse(t *testing.T) { function TestAlignmentStringEscapeErrors (line 339) | func TestAlignmentStringEscapeErrors(t *testing.T) { function TestAlignmentStringAbandon (line 351) | func TestAlignmentStringAbandon(t *testing.T) { function TestAlignmentStringReplace (line 376) | func TestAlignmentStringReplace(t *testing.T) { function TestAlignmentNumberExclude (line 403) | func TestAlignmentNumberExclude(t *testing.T) { function TestAlignmentLineSingle (line 432) | func TestAlignmentLineSingle(t *testing.T) { function TestAlignmentCommentEatLine (line 449) | func TestAlignmentCommentEatLine(t *testing.T) { function TestAlignmentTextModify (line 472) | func TestAlignmentTextModify(t *testing.T) { function TestAlignmentListPropertyGuard (line 504) | func TestAlignmentListPropertyGuard(t *testing.T) { function TestAlignmentGrammarGTags (line 524) | func TestAlignmentGrammarGTags(t *testing.T) { function TestAlignmentExclude (line 657) | func TestAlignmentExclude(t *testing.T) { function TestAlignmentResultFail (line 701) | func TestAlignmentResultFail(t *testing.T) { function TestAlignmentParsePrepare (line 728) | func TestAlignmentParsePrepare(t *testing.T) { function TestAlignmentEmptyDisabled (line 751) | func TestAlignmentEmptyDisabled(t *testing.T) { function TestAlignmentCustomValues (line 762) | func TestAlignmentCustomValues(t *testing.T) { function TestAlignmentDeepOptions (line 792) | func TestAlignmentDeepOptions(t *testing.T) { function TestAlignmentDeepOptionsPointer (line 833) | func TestAlignmentDeepOptionsPointer(t *testing.T) { function TestAlignmentDeepUndefined (line 872) | func TestAlignmentDeepUndefined(t *testing.T) { function TestAlignmentModListOrder (line 895) | func TestAlignmentModListOrder(t *testing.T) { function TestAlignmentNumberFixedToken (line 919) | func TestAlignmentNumberFixedToken(t *testing.T) { function TestAlignmentLexSubscriber (line 947) | func TestAlignmentLexSubscriber(t *testing.T) { function TestAlignmentRuleSubscriberTiming (line 965) | func TestAlignmentRuleSubscriberTiming(t *testing.T) { function TestAlignmentErrorPropagation (line 989) | func TestAlignmentErrorPropagation(t *testing.T) { function TestAlignmentTrailingContent (line 1020) | func TestAlignmentTrailingContent(t *testing.T) { function TestAlignmentFinishRuleFalse (line 1033) | func TestAlignmentFinishRuleFalse(t *testing.T) { function TestAlignmentSnip (line 1045) | func TestAlignmentSnip(t *testing.T) { function TestAlignmentStrNil (line 1070) | func TestAlignmentStrNil(t *testing.T) { function TestAlignmentStrWhitespace (line 1078) | func TestAlignmentStrWhitespace(t *testing.T) { function TestAlignmentStrTruncateWhitespace (line 1086) | func TestAlignmentStrTruncateWhitespace(t *testing.T) { function TestAlignmentModListCustom (line 1096) | func TestAlignmentModListCustom(t *testing.T) { function TestAlignmentModListCustomNil (line 1116) | func TestAlignmentModListCustomNil(t *testing.T) { function TestAlignmentModListDeleteThenCustom (line 1130) | func TestAlignmentModListDeleteThenCustom(t *testing.T) { FILE: go/both_ref_test.go function expectBothRef (line 8) | func expectBothRef(t *testing.T, input string, expected any) { function bothRefEqual (line 23) | func bothRefEqual(a, b any) bool { function blr (line 130) | func blr(implicit bool, vals ...any) ListRef { function bmr (line 138) | func bmr(implicit bool, pairs ...any) MapRef { function TestBothRefExplicitMapExplicitList (line 149) | func TestBothRefExplicitMapExplicitList(t *testing.T) { function TestBothRefImplicitMapExplicitList (line 154) | func TestBothRefImplicitMapExplicitList(t *testing.T) { function TestBothRefExplicitListExplicitMaps (line 159) | func TestBothRefExplicitListExplicitMaps(t *testing.T) { function TestBothRefImplicitListExplicitMaps (line 167) | func TestBothRefImplicitListExplicitMaps(t *testing.T) { function TestBothRefSpaceSeparatedMaps (line 175) | func TestBothRefSpaceSeparatedMaps(t *testing.T) { function TestBothRefEmptyMapInList (line 185) | func TestBothRefEmptyMapInList(t *testing.T) { function TestBothRefEmptyListInMap (line 190) | func TestBothRefEmptyListInMap(t *testing.T) { function TestBothRefEmptyMapAndListValues (line 195) | func TestBothRefEmptyMapAndListValues(t *testing.T) { function TestBothRefTripleNestingMapListMap (line 202) | func TestBothRefTripleNestingMapListMap(t *testing.T) { function TestBothRefTripleNestingListMapList (line 209) | func TestBothRefTripleNestingListMapList(t *testing.T) { function TestBothRefQuadNesting (line 216) | func TestBothRefQuadNesting(t *testing.T) { function TestBothRefPathDive (line 227) | func TestBothRefPathDive(t *testing.T) { function TestBothRefPathDiveWithList (line 232) | func TestBothRefPathDiveWithList(t *testing.T) { function TestBothRefExplicitPathDive (line 237) | func TestBothRefExplicitPathDive(t *testing.T) { function TestBothRefDeepMergeNestedMapLists (line 244) | func TestBothRefDeepMergeNestedMapLists(t *testing.T) { function TestBothRefDeepMergeNestedMaps (line 251) | func TestBothRefDeepMergeNestedMaps(t *testing.T) { function TestBothRefDeepMergeMapsWithListValues (line 258) | func TestBothRefDeepMergeMapsWithListValues(t *testing.T) { function TestBothRefMapWithMixedValues (line 267) | func TestBothRefMapWithMixedValues(t *testing.T) { function TestBothRefListWithMixedValues (line 276) | func TestBothRefListWithMixedValues(t *testing.T) { function TestBothRefImplicitListOfImplicitListsInMaps (line 287) | func TestBothRefImplicitListOfImplicitListsInMaps(t *testing.T) { function TestBothRefScalarNumber (line 322) | func TestBothRefScalarNumber(t *testing.T) { function TestBothRefScalarString (line 333) | func TestBothRefScalarString(t *testing.T) { function TestBothRefScalarBool (line 344) | func TestBothRefScalarBool(t *testing.T) { function TestBothRefScalarNull (line 355) | func TestBothRefScalarNull(t *testing.T) { function TestBothRefPairInList (line 368) | func TestBothRefPairInList(t *testing.T) { function TestBothRefStrictJSON (line 386) | func TestBothRefStrictJSON(t *testing.T) { function TestBothRefNestedJSONArrays (line 394) | func TestBothRefNestedJSONArrays(t *testing.T) { function TestBothRefImplicitListMapsWithLists (line 403) | func TestBothRefImplicitListMapsWithLists(t *testing.T) { function TestBothRefDeepMergePreservesMapRef (line 413) | func TestBothRefDeepMergePreservesMapRef(t *testing.T) { function TestBothRefDeepMergePreservesListRef (line 422) | func TestBothRefDeepMergePreservesListRef(t *testing.T) { function TestBothRefWithTextInfo (line 431) | func TestBothRefWithTextInfo(t *testing.T) { function TestBothRefCommaSeparatedLists (line 470) | func TestBothRefCommaSeparatedLists(t *testing.T) { function TestBothRefNullMapValue (line 480) | func TestBothRefNullMapValue(t *testing.T) { function TestBothRefNullListElements (line 485) | func TestBothRefNullListElements(t *testing.T) { function TestBothRefMapWithNullAndList (line 490) | func TestBothRefMapWithNullAndList(t *testing.T) { function TestMapRefMetaInitialized (line 497) | func TestMapRefMetaInitialized(t *testing.T) { function TestListRefMetaInitialized (line 516) | func TestListRefMetaInitialized(t *testing.T) { function TestMapRefMetaAvailableInBOPhase (line 535) | func TestMapRefMetaAvailableInBOPhase(t *testing.T) { function TestListRefMetaAvailableInBOPhase (line 562) | func TestListRefMetaAvailableInBOPhase(t *testing.T) { FILE: go/color_test.go function TestColorDefaultsActive (line 10) | func TestColorDefaultsActive(t *testing.T) { function TestColorActiveWrapsHeader (line 33) | func TestColorActiveWrapsHeader(t *testing.T) { function TestColorActiveWrapsArrow (line 48) | func TestColorActiveWrapsArrow(t *testing.T) { function TestColorActiveWrapsCaret (line 62) | func TestColorActiveWrapsCaret(t *testing.T) { function TestColorDisabledSuppressesAll (line 80) | func TestColorDisabledSuppressesAll(t *testing.T) { function TestColorCustomOverrides (line 102) | func TestColorCustomOverrides(t *testing.T) { function TestColorToggleViaSetOptions (line 131) | func TestColorToggleViaSetOptions(t *testing.T) { function TestColorFromTextDisable (line 148) | func TestColorFromTextDisable(t *testing.T) { function TestColorFromTextCustomCodes (line 162) | func TestColorFromTextCustomCodes(t *testing.T) { function TestColorAppliesToLexerError (line 189) | func TestColorAppliesToLexerError(t *testing.T) { FILE: go/comment_suffix_test.go function TestCommentLineSuffixSingleString (line 10) | func TestCommentLineSuffixSingleString(t *testing.T) { function TestCommentLineSuffixMultiple (line 33) | func TestCommentLineSuffixMultiple(t *testing.T) { function TestCommentLineSuffixPreferredLongestFirst (line 53) | func TestCommentLineSuffixPreferredLongestFirst(t *testing.T) { function TestCommentLineSuffixIsConsumed (line 77) | func TestCommentLineSuffixIsConsumed(t *testing.T) { function TestCommentLineSuffixFallsBackToNewline (line 98) | func TestCommentLineSuffixFallsBackToNewline(t *testing.T) { function TestCommentLineSuffixBeatsEatLine (line 119) | func TestCommentLineSuffixBeatsEatLine(t *testing.T) { function TestCommentBlockSuffixEarlyTermination (line 149) | func TestCommentBlockSuffixEarlyTermination(t *testing.T) { function TestCommentBlockSuffixStillHonoursEnd (line 176) | func TestCommentBlockSuffixStillHonoursEnd(t *testing.T) { function TestCommentBlockSuffixLosesToEndWhenCloser (line 198) | func TestCommentBlockSuffixLosesToEndWhenCloser(t *testing.T) { function TestCommentSuffixLexMatcherTerminates (line 226) | func TestCommentSuffixLexMatcherTerminates(t *testing.T) { function TestCommentSuffixLexMatcherCannotAdvance (line 252) | func TestCommentSuffixLexMatcherCannotAdvance(t *testing.T) { function TestCommentSuffixFromTextString (line 282) | func TestCommentSuffixFromTextString(t *testing.T) { function TestCommentSuffixFromTextArray (line 304) | func TestCommentSuffixFromTextArray(t *testing.T) { function TestNormalizeCommentSuffixStringForms (line 327) | func TestNormalizeCommentSuffixStringForms(t *testing.T) { function TestNormalizeCommentSuffixNilAndEmpty (line 343) | func TestNormalizeCommentSuffixNilAndEmpty(t *testing.T) { FILE: go/csv_grammar_test.go function makeCSV (line 13) | func makeCSV() *Jsonic { function runCSV (line 137) | func runCSV(t *testing.T, name, src string, want []any) { function TestCSVEmptyInput (line 150) | func TestCSVEmptyInput(t *testing.T) { function TestCSVSingleRow (line 154) | func TestCSVSingleRow(t *testing.T) { function TestCSVMultipleRows (line 159) | func TestCSVMultipleRows(t *testing.T) { function TestCSVTrailingNewline (line 164) | func TestCSVTrailingNewline(t *testing.T) { function TestCSVBlankLinesSkipped (line 169) | func TestCSVBlankLinesSkipped(t *testing.T) { function TestCSVNumbersParsed (line 174) | func TestCSVNumbersParsed(t *testing.T) { function TestCSVQuotedStrings (line 179) | func TestCSVQuotedStrings(t *testing.T) { function TestCSVMixedTypes (line 184) | func TestCSVMixedTypes(t *testing.T) { function TestCSVEmptyLeadingField (line 189) | func TestCSVEmptyLeadingField(t *testing.T) { function TestCSVEmptyMiddleField (line 194) | func TestCSVEmptyMiddleField(t *testing.T) { function TestCSVEmptyTrailingField (line 199) | func TestCSVEmptyTrailingField(t *testing.T) { function TestCSVSingleCellRow (line 204) | func TestCSVSingleCellRow(t *testing.T) { function TestCSVKeywords (line 209) | func TestCSVKeywords(t *testing.T) { FILE: go/debug.go function addTrace (line 29) | func addTrace(j *Jsonic) { function Describe (line 44) | func Describe(j *Jsonic) string { FILE: go/directive_grammar_test.go function defineDirective (line 16) | func defineDirective(j *Jsonic, name, open string, action func(any) any) { function makeDirectiveJ (line 43) | func makeDirectiveJ() *Jsonic { function runDirective (line 54) | func runDirective(t *testing.T, name, src string, want any) { function TestDirectiveUpperString (line 67) | func TestDirectiveUpperString(t *testing.T) { function TestDirectiveUpperBare (line 71) | func TestDirectiveUpperBare(t *testing.T) { function TestDirectiveUpperNumber (line 75) | func TestDirectiveUpperNumber(t *testing.T) { function TestDirectiveWrapNumber (line 79) | func TestDirectiveWrapNumber(t *testing.T) { function TestDirectiveWrapKeyword (line 84) | func TestDirectiveWrapKeyword(t *testing.T) { function TestDirectiveInList (line 89) | func TestDirectiveInList(t *testing.T) { function TestDirectiveInMap (line 94) | func TestDirectiveInMap(t *testing.T) { function TestDirectiveNested (line 102) | func TestDirectiveNested(t *testing.T) { function TestDirectiveWrappingList (line 107) | func TestDirectiveWrappingList(t *testing.T) { function TestDirectiveWrappingMap (line 112) | func TestDirectiveWrappingMap(t *testing.T) { FILE: go/feature_tsv_test.go function stripRefs (line 13) | func stripRefs(v any) any { function runParserTSV (line 52) | func runParserTSV(t *testing.T, file string, j *Jsonic) { function runListChildTSV (line 91) | func runListChildTSV(t *testing.T, file string, j *Jsonic) { function TestTSVFeatureListChild (line 156) | func TestTSVFeatureListChild(t *testing.T) { function TestTSVFeatureListChildDeep (line 163) | func TestTSVFeatureListChildDeep(t *testing.T) { function TestTSVFeatureListChildPair (line 170) | func TestTSVFeatureListChildPair(t *testing.T) { function TestTSVFeatureListChildPairDeep (line 180) | func TestTSVFeatureListChildPairDeep(t *testing.T) { function TestTSVFeatureListPair (line 190) | func TestTSVFeatureListPair(t *testing.T) { function TestTSVFeatureMapChild (line 197) | func TestTSVFeatureMapChild(t *testing.T) { function TestTSVFeatureMapChildDeep (line 204) | func TestTSVFeatureMapChildDeep(t *testing.T) { function TestStripRefsBasic (line 215) | func TestStripRefsBasic(t *testing.T) { FILE: go/fnref_identity_test.go function TestFnrefDedupeByFunctionIdentity (line 8) | func TestFnrefDedupeByFunctionIdentity(t *testing.T) { FILE: go/fnref_reinstall_test.go function TestFnrefNoReinstallOnSubsequentCall (line 10) | func TestFnrefNoReinstallOnSubsequentCall(t *testing.T) { FILE: go/grammar.go function buildGrammar (line 6) | func buildGrammar(rsm map[string]*RuleSpec, cfg *LexConfig) { function nodeListAppend (line 556) | func nodeListAppend(node any, val any) any { function nodeListVal (line 568) | func nodeListVal(node any) ([]any, bool) { function nodeListSetVal (line 579) | func nodeListSetVal(node any, arr []any) any { function nodeMapSet (line 588) | func nodeMapSet(node any, key any, val any) { function nodeMapGet (line 598) | func nodeMapGet(node any, key any) (any, bool) { function nodeMapGetVal (line 612) | func nodeMapGetVal(node any, key any) any { FILE: go/grammar_decl_test.go function mustGrammar (line 11) | func mustGrammar(t *testing.T, j *Jsonic, gs *GrammarSpec) { function TestSkipSentinel (line 20) | func TestSkipSentinel(t *testing.T) { function TestSkipInDeepMerge (line 32) | func TestSkipInDeepMerge(t *testing.T) { function TestSkipInDeepMergeArray (line 45) | func TestSkipInDeepMergeArray(t *testing.T) { function TestResolveFuncRefsAtEscape (line 57) | func TestResolveFuncRefsAtEscape(t *testing.T) { function TestResolveFuncRefsAtSkip (line 64) | func TestResolveFuncRefsAtSkip(t *testing.T) { function TestResolveFuncRefsRegex (line 71) | func TestResolveFuncRefsRegex(t *testing.T) { function TestResolveFuncRefsRegexNoFlags (line 85) | func TestResolveFuncRefsRegexNoFlags(t *testing.T) { function TestResolveFuncRefsFuncLookup (line 99) | func TestResolveFuncRefsFuncLookup(t *testing.T) { function TestResolveFuncRefsNestedMap (line 109) | func TestResolveFuncRefsNestedMap(t *testing.T) { function TestResolveFuncRefsArray (line 136) | func TestResolveFuncRefsArray(t *testing.T) { function TestGrammarOptionsValueDef (line 154) | func TestGrammarOptionsValueDef(t *testing.T) { function TestGrammarOptionsNumberHex (line 179) | func TestGrammarOptionsNumberHex(t *testing.T) { function TestGrammarOptionsNumberSep (line 198) | func TestGrammarOptionsNumberSep(t *testing.T) { function TestGrammarRuleConditionFuncRef (line 218) | func TestGrammarRuleConditionFuncRef(t *testing.T) { function TestGrammarRuleConditionFalseSkips (line 258) | func TestGrammarRuleConditionFalseSkips(t *testing.T) { function TestGrammarOptionsAndRulesCombined (line 290) | func TestGrammarOptionsAndRulesCombined(t *testing.T) { function TestGrammarMultipleCalls (line 330) | func TestGrammarMultipleCalls(t *testing.T) { function TestGrammarOptionsOnly (line 366) | func TestGrammarOptionsOnly(t *testing.T) { function TestGrammarRulesOnly (line 384) | func TestGrammarRulesOnly(t *testing.T) { function TestResolveTokenSpecStatic (line 416) | func TestResolveTokenSpecStatic(t *testing.T) { function TestResolveTokenFieldStaticSlice (line 436) | func TestResolveTokenFieldStaticSlice(t *testing.T) { function TestGrammarStateActionWiring (line 462) | func TestGrammarStateActionWiring(t *testing.T) { function TestGrammarDeclarativeCondition (line 488) | func TestGrammarDeclarativeCondition(t *testing.T) { function TestGrammarFixedToken (line 518) | func TestGrammarFixedToken(t *testing.T) { function TestGrammarMissingFuncRefReturnsError (line 553) | func TestGrammarMissingFuncRefReturnsError(t *testing.T) { function TestGrammarInjectAppend (line 575) | func TestGrammarInjectAppend(t *testing.T) { function TestGrammarInjectPrepend (line 607) | func TestGrammarInjectPrepend(t *testing.T) { function TestGrammarOptionsMapMerge (line 649) | func TestGrammarOptionsMapMerge(t *testing.T) { function TestGrammarOptionsMapValueDef (line 680) | func TestGrammarOptionsMapValueDef(t *testing.T) { function TestGrammarOptionsMapSkip (line 705) | func TestGrammarOptionsMapSkip(t *testing.T) { function TestGrammarOptionsMapAtEscape (line 729) | func TestGrammarOptionsMapAtEscape(t *testing.T) { function TestSetOptionsPreservesRuleModifications (line 744) | func TestSetOptionsPreservesRuleModifications(t *testing.T) { function TestSetOptionsPreservesGrammarModifications (line 787) | func TestSetOptionsPreservesGrammarModifications(t *testing.T) { function TestRuleThenOptionsThenParse (line 822) | func TestRuleThenOptionsThenParse(t *testing.T) { function TestGrammarRegexNumberExclude (line 867) | func TestGrammarRegexNumberExclude(t *testing.T) { function TestGrammarRegexNumberExcludeTyped (line 907) | func TestGrammarRegexNumberExcludeTyped(t *testing.T) { function TestGrammarRegexValueMatch (line 932) | func TestGrammarRegexValueMatch(t *testing.T) { function TestGrammarRegexValueMatchTyped (line 978) | func TestGrammarRegexValueMatchTyped(t *testing.T) { function TestGrammarRegexWithFlags (line 1013) | func TestGrammarRegexWithFlags(t *testing.T) { function TestGrammarRegexNoFlags (line 1058) | func TestGrammarRegexNoFlags(t *testing.T) { function TestGrammarRegexMixedWithFuncref (line 1097) | func TestGrammarRegexMixedWithFuncref(t *testing.T) { function TestGrammarRegexInArray (line 1152) | func TestGrammarRegexInArray(t *testing.T) { function TestGrammarRegexEscapeAtPrefix (line 1190) | func TestGrammarRegexEscapeAtPrefix(t *testing.T) { function TestGrammarRegexMatchToken (line 1205) | func TestGrammarRegexMatchToken(t *testing.T) { function TestGrammarRegexMatchTokenTyped (line 1242) | func TestGrammarRegexMatchTokenTyped(t *testing.T) { function TestGrammarRegexMatchValue (line 1271) | func TestGrammarRegexMatchValue(t *testing.T) { function TestGrammarRegexMatchValueTyped (line 1303) | func TestGrammarRegexMatchValueTyped(t *testing.T) { function TestResolveFuncRefsRegexInNestedMap (line 1336) | func TestResolveFuncRefsRegexInNestedMap(t *testing.T) { function TestResolveFuncRefsRegexInSlice (line 1365) | func TestResolveFuncRefsRegexInSlice(t *testing.T) { function TestMatchTokenNilRegexpNoPanic (line 1386) | func TestMatchTokenNilRegexpNoPanic(t *testing.T) { function TestGrammarTextNumberSep (line 1414) | func TestGrammarTextNumberSep(t *testing.T) { function TestGrammarTextNumberExclude (line 1430) | func TestGrammarTextNumberExclude(t *testing.T) { function TestGrammarTextFlatOptions (line 1446) | func TestGrammarTextFlatOptions(t *testing.T) { function TestGrammarTextOptionsAndRules (line 1463) | func TestGrammarTextOptionsAndRules(t *testing.T) { function TestGrammarTextRulesWithFuncRef (line 1490) | func TestGrammarTextRulesWithFuncRef(t *testing.T) { function TestGrammarTextWithInjectAndExclude (line 1522) | func TestGrammarTextWithInjectAndExclude(t *testing.T) { function TestExcludeCommaTrailingComma (line 1567) | func TestExcludeCommaTrailingComma(t *testing.T) { function TestGrammarTextThenSetOptionsPreserved (line 1598) | func TestGrammarTextThenSetOptionsPreserved(t *testing.T) { function TestGrammarTextInvalidSource (line 1645) | func TestGrammarTextInvalidSource(t *testing.T) { function TestGrammarTextRuleExclude (line 1656) | func TestGrammarTextRuleExclude(t *testing.T) { function TestGrammarTextTextLex (line 1678) | func TestGrammarTextTextLex(t *testing.T) { function TestGrammarTextLexEmpty (line 1695) | func TestGrammarTextLexEmpty(t *testing.T) { function TestMapToOptionsListChild (line 1707) | func TestMapToOptionsListChild(t *testing.T) { function TestMapToOptionsMapChild (line 1723) | func TestMapToOptionsMapChild(t *testing.T) { function TestMapToOptionsEnder (line 1737) | func TestMapToOptionsEnder(t *testing.T) { function TestSetOptionsLexEmpty (line 1747) | func TestSetOptionsLexEmpty(t *testing.T) { function TestTextLexFalseValueKeywordsStillWork (line 1784) | func TestTextLexFalseValueKeywordsStillWork(t *testing.T) { function TestTextLexFalseCustomValueDef (line 1813) | func TestTextLexFalseCustomValueDef(t *testing.T) { function TestGroupTagsValidFormat (line 1841) | func TestGroupTagsValidFormat(t *testing.T) { function TestSetOptionsRuleExclude (line 1873) | func TestSetOptionsRuleExclude(t *testing.T) { function TestGrammarLexEmpty (line 1907) | func TestGrammarLexEmpty(t *testing.T) { function TestInfoMarkerKeyDropped (line 1923) | func TestInfoMarkerKeyDropped(t *testing.T) { function TestInfoMarkerKeyDroppedJSON (line 1942) | func TestInfoMarkerKeyDroppedJSON(t *testing.T) { function TestInfoMarkerKeyNotDroppedWhenOff (line 1955) | func TestInfoMarkerKeyNotDroppedWhenOff(t *testing.T) { function TestValueDefReUsesValWhenValFuncNil (line 1970) | func TestValueDefReUsesValWhenValFuncNil(t *testing.T) { function TestMatchValueNilSpecNoPanic (line 2006) | func TestMatchValueNilSpecNoPanic(t *testing.T) { FILE: go/grammar_setting_test.go function altGTags (line 14) | func altGTags(t *testing.T, j *Jsonic, rulename, state string) [][]string { function containsTagSet (line 43) | func containsTagSet(tagSets [][]string, want []string) bool { function TestGrammarSettingAltGStringAppended (line 65) | func TestGrammarSettingAltGStringAppended(t *testing.T) { function TestGrammarSettingAltGArrayAppended (line 94) | func TestGrammarSettingAltGArrayAppended(t *testing.T) { function TestGrammarSettingNilIsNoop (line 120) | func TestGrammarSettingNilIsNoop(t *testing.T) { function TestGrammarSettingEmptyGIsNoop (line 139) | func TestGrammarSettingEmptyGIsNoop(t *testing.T) { function TestGrammarSettingPreservesInput (line 157) | func TestGrammarSettingPreservesInput(t *testing.T) { function TestGrammarSettingInjectFormApplied (line 181) | func TestGrammarSettingInjectFormApplied(t *testing.T) { function TestGrammarTextSettingAppendsTags (line 207) | func TestGrammarTextSettingAppendsTags(t *testing.T) { function TestValidateGroupTagsRejects (line 236) | func TestValidateGroupTagsRejects(t *testing.T) { function TestValidateGroupTagsAccepts (line 246) | func TestValidateGroupTagsAccepts(t *testing.T) { function TestNormAltReturnsErrorOnInvalidTag (line 259) | func TestNormAltReturnsErrorOnInvalidTag(t *testing.T) { function TestGrammarInvalidGTagReturnsError (line 269) | func TestGrammarInvalidGTagReturnsError(t *testing.T) { function TestGrammarSettingInvalidTagReturnsError (line 285) | func TestGrammarSettingInvalidTagReturnsError(t *testing.T) { function TestSetOptionsTextBasic (line 305) | func TestSetOptionsTextBasic(t *testing.T) { function TestSetOptionsTextEmptyIsNoop (line 319) | func TestSetOptionsTextEmptyIsNoop(t *testing.T) { function TestSetOptionsTextMergesWithSetOptions (line 333) | func TestSetOptionsTextMergesWithSetOptions(t *testing.T) { function TestSetOptionsTextInvalidSource (line 360) | func TestSetOptionsTextInvalidSource(t *testing.T) { function TestSetOptionsTextReturnsInstance (line 369) | func TestSetOptionsTextReturnsInstance(t *testing.T) { FILE: go/grammarspec.go type GrammarSpec (line 14) | type GrammarSpec struct type GrammarRuleSpec (line 34) | type GrammarRuleSpec struct type GrammarAltListSpec (line 40) | type GrammarAltListSpec struct type GrammarInjectSpec (line 46) | type GrammarInjectSpec struct type GrammarSetting (line 58) | type GrammarSetting struct type GrammarSettingRule (line 63) | type GrammarSettingRule struct type GrammarSettingAlt (line 69) | type GrammarSettingAlt struct type GrammarAltSpec (line 76) | type GrammarAltSpec struct method Grammar (line 100) | func (j *Jsonic) Grammar(gs *GrammarSpec, setting ...*GrammarSetting) er... function extractSettingAltG (line 156) | func extractSettingAltG(setting []*GrammarSetting) []string { function splitGroupTags (line 180) | func splitGroupTags(s string) []string { function mergeG (line 197) | func mergeG(existing string, extra []string) string { method GrammarText (line 216) | func (j *Jsonic) GrammarText(text string, setting ...*GrammarSetting) er... function mapToGrammarRules (line 242) | func mapToGrammarRules(ruleMap map[string]any) map[string]*GrammarRuleSp... function parseGrammarAltsOrSpec (line 264) | func parseGrammarAltsOrSpec(v any) any { function parseGrammarAlts (line 307) | func parseGrammarAlts(arr []any) []*GrammarAltSpec { function mapToGrammarAltSpec (line 321) | func mapToGrammarAltSpec(m map[string]any) *GrammarAltSpec { function applyGrammarAlts (line 370) | func applyGrammarAlts(j *Jsonic, rs *RuleSpec, spec any, ref map[FuncRef... method resolveGrammarAlts (line 428) | func (j *Jsonic) resolveGrammarAlts(gas []*GrammarAltSpec, ref map[FuncR... method resolveGrammarAlt (line 441) | func (j *Jsonic) resolveGrammarAlt(ga *GrammarAltSpec, ref map[FuncRef]a... method resolveTokenField (line 591) | func (j *Jsonic) resolveTokenField(s any) [][]Tin { method resolveTokenSpec (line 614) | func (j *Jsonic) resolveTokenSpec(s string) [][]Tin { method resolveTokenName (line 627) | func (j *Jsonic) resolveTokenName(name string) []Tin { function wireStateActions (line 646) | func wireStateActions(rs *RuleSpec, ref map[FuncRef]any) { function resolveTokenFieldStatic (line 718) | func resolveTokenFieldStatic(s any) [][]Tin { function resolveTokenSpecStatic (line 740) | func resolveTokenSpecStatic(s string) [][]Tin { function resolveTokenNameStatic (line 752) | func resolveTokenNameStatic(name string) []Tin { function resolveGrammarAltStatic (line 770) | func resolveGrammarAltStatic(ga *GrammarAltSpec, ref map[FuncRef]any) *A... FILE: go/jsonic.go constant Version (line 15) | Version = "0.1.22" type JsonicError (line 27) | type JsonicError struct method Error (line 54) | func (e *JsonicError) Error() string { function errsite (line 108) | func errsite(src, sub, msg string, row, col int, color ColorConfig) stri... function makeJsonicError (line 174) | func makeJsonicError(code, src, fullSource string, pos, row, col int) *J... function Parse (line 202) | func Parse(src string) (any, error) { function preprocessEscapes (line 209) | func preprocessEscapes(s string) string { FILE: go/jsonic_nontsv_test.go function expectParse (line 16) | func expectParse(t *testing.T, input string, expected any) { function expectParseNil (line 30) | func expectParseNil(t *testing.T, input string) { function expectParseError (line 44) | func expectParseError(t *testing.T, input string) { function m (line 57) | func m(args ...any) map[string]any { function a (line 67) | func a(args ...any) []any { function TestCommentSingleLine (line 73) | func TestCommentSingleLine(t *testing.T) { function TestCommentMultiLine (line 89) | func TestCommentMultiLine(t *testing.T) { function TestNumberParsing (line 105) | func TestNumberParsing(t *testing.T) { function TestValueStandard (line 218) | func TestValueStandard(t *testing.T) { function TestValueStandardNullInMap (line 270) | func TestValueStandardNullInMap(t *testing.T) { function TestNullOrUndefined (line 277) | func TestNullOrUndefined(t *testing.T) { function TestValueText (line 306) | func TestValueText(t *testing.T) { function TestValueString (line 336) | func TestValueString(t *testing.T) { function TestMultilineString (line 402) | func TestMultilineString(t *testing.T) { function TestSingleChar (line 418) | func TestSingleChar(t *testing.T) { function TestImplicitList (line 441) | func TestImplicitList(t *testing.T) { function TestExtension (line 512) | func TestExtension(t *testing.T) { function TestFinishAutoClose (line 527) | func TestFinishAutoClose(t *testing.T) { function TestPropertyDive (line 536) | func TestPropertyDive(t *testing.T) { function TestSyntaxErrors (line 582) | func TestSyntaxErrors(t *testing.T) { function TestProcessComment (line 596) | func TestProcessComment(t *testing.T) { function TestNaN (line 605) | func TestNaN(t *testing.T) { function TestPlatformMismatch_ArrayProperties (line 619) | func TestPlatformMismatch_ArrayProperties(t *testing.T) { function TestPlatformMismatch_UndefinedVsNull (line 648) | func TestPlatformMismatch_UndefinedVsNull(t *testing.T) { function TestPlatformMismatch_NonStringInput (line 680) | func TestPlatformMismatch_NonStringInput(t *testing.T) { function TestErrorFormat (line 695) | func TestErrorFormat(t *testing.T) { function TestLexFlagCommentOff (line 836) | func TestLexFlagCommentOff(t *testing.T) { function TestLexFlagNumberOff (line 859) | func TestLexFlagNumberOff(t *testing.T) { function TestLexFlagStringOff (line 882) | func TestLexFlagStringOff(t *testing.T) { function TestLexFlagValueOff (line 905) | func TestLexFlagValueOff(t *testing.T) { function TestLexFlagSpaceOff (line 928) | func TestLexFlagSpaceOff(t *testing.T) { function TestLexFlagLineOff (line 951) | func TestLexFlagLineOff(t *testing.T) { function TestLexFlagCommentDefOff (line 974) | func TestLexFlagCommentDefOff(t *testing.T) { function TestLexFlagNumberHexOff (line 1013) | func TestLexFlagNumberHexOff(t *testing.T) { function TestDeepNesting (line 1050) | func TestDeepNesting(t *testing.T) { FILE: go/jsonic_test.go type tsvRow (line 17) | type tsvRow struct function loadTSV (line 23) | func loadTSV(path string) ([]tsvRow, error) { function parseExpected (line 49) | func parseExpected(s string) (any, error) { function normalizeValue (line 63) | func normalizeValue(v any) any { function valuesEqual (line 89) | func valuesEqual(got, expected any) bool { function deepCompare (line 95) | func deepCompare(a, b any) bool { function formatValue (line 151) | func formatValue(v any) string { function specDir (line 163) | func specDir() string { function TestParserTSVFiles (line 198) | func TestParserTSVFiles(t *testing.T) { function TestUtilityDeep (line 237) | func TestUtilityDeep(t *testing.T) { function TestUtilityStr (line 285) | func TestUtilityStr(t *testing.T) { function TestUtilityStrInject (line 331) | func TestUtilityStrInject(t *testing.T) { function TestUtilityModList (line 366) | func TestUtilityModList(t *testing.T) { function formatArgs (line 435) | func formatArgs(args []any) string { FILE: go/lexer.go type MatchValueEntry (line 13) | type MatchValueEntry struct type ValueDefEntry (line 22) | type ValueDefEntry struct type MatchTokenEntry (line 29) | type MatchTokenEntry struct type Lex (line 35) | type Lex struct method Cursor (line 313) | func (l *Lex) Cursor() *Point { method Token (line 318) | func (l *Lex) Token(name string, tin Tin, val any, src string) *Token { method Fwd (line 325) | func (l *Lex) Fwd(maxlen int) string { method Bad (line 339) | func (l *Lex) Bad(why string) *Token { method Next (line 351) | func (l *Lex) Next(rule ...*Rule) *Token { method nextRaw (line 397) | func (l *Lex) nextRaw(rule *Rule) *Token { method matchMatch (line 571) | func (l *Lex) matchMatch(rule *Rule) *Token { method bad (line 640) | func (l *Lex) bad(why string, pstart, pend int) *Token { method matchFixed (line 654) | func (l *Lex) matchFixed() *Token { method matchSpace (line 688) | func (l *Lex) matchSpace() *Token { method matchLine (line 707) | func (l *Lex) matchLine() *Token { method matchComment (line 753) | func (l *Lex) matchComment() *Token { method matchString (line 921) | func (l *Lex) matchString() *Token { method matchNumber (line 1147) | func (l *Lex) matchNumber() *Token { method matchText (line 1377) | func (l *Lex) matchText() *Token { method tinNameFor (line 1563) | func (l *Lex) tinNameFor(tin Tin) string { method isTextChar (line 1601) | func (l *Lex) isTextChar(pos int) bool { method isFollowingText (line 1641) | func (l *Lex) isFollowingText(pos int) bool { type LexConfig (line 46) | type LexConfig struct method SortFixedTokens (line 273) | func (cfg *LexConfig) SortFixedTokens() { method RebuildMatchTokensSorted (line 291) | func (cfg *LexConfig) RebuildMatchTokensSorted() { type ColorConfig (line 197) | type ColorConfig struct method Codes (line 208) | func (c ColorConfig) Codes() (hi, lo, line, reset string) { type LexCheck (line 217) | type LexCheck type LexCheckResult (line 220) | type LexCheckResult struct function DefaultLexConfig (line 226) | func DefaultLexConfig() *LexConfig { function NewLex (line 303) | func NewLex(src string, cfg *LexConfig) *Lex { function commentSuffixMatch (line 886) | func commentSuffixMatch(fwd string, fI int, suffixes []string) int { function commentSuffixFnMatch (line 904) | func commentSuffixFnMatch(lex *Lex, fI int, fn LexMatcher) int { function tinName (line 1572) | func tinName(tin Tin) string { function isDigit (line 1591) | func isDigit(ch byte) bool { function isHexDigitByte (line 1595) | func isHexDigitByte(ch byte) bool { function parseHexInt (line 1662) | func parseHexInt(s string) int { FILE: go/listchild_test.go function makeChildParser (line 9) | func makeChildParser() *Jsonic { function expectChild (line 14) | func expectChild(t *testing.T, input string, expectedVal []any, expected... function TestListChildNumber (line 37) | func TestListChildNumber(t *testing.T) { function TestListChildString (line 42) | func TestListChildString(t *testing.T) { function TestListChildQuotedString (line 47) | func TestListChildQuotedString(t *testing.T) { function TestListChildTrue (line 52) | func TestListChildTrue(t *testing.T) { function TestListChildFalse (line 56) | func TestListChildFalse(t *testing.T) { function TestListChildNull (line 60) | func TestListChildNull(t *testing.T) { function TestListChildBareColon (line 64) | func TestListChildBareColon(t *testing.T) { function TestListChildMap (line 69) | func TestListChildMap(t *testing.T) { function TestListChildMapMultiKey (line 74) | func TestListChildMapMultiKey(t *testing.T) { function TestListChildEmptyMap (line 79) | func TestListChildEmptyMap(t *testing.T) { function TestListChildNestedMap (line 83) | func TestListChildNestedMap(t *testing.T) { function TestListChildList (line 87) | func TestListChildList(t *testing.T) { function TestListChildEmptyList (line 93) | func TestListChildEmptyList(t *testing.T) { function TestListChildNestedList (line 97) | func TestListChildNestedList(t *testing.T) { function TestListChildAfterElement (line 107) | func TestListChildAfterElement(t *testing.T) { function TestListChildBeforeElement (line 112) | func TestListChildBeforeElement(t *testing.T) { function TestListChildMiddle (line 117) | func TestListChildMiddle(t *testing.T) { function TestListChildAtEnd (line 122) | func TestListChildAtEnd(t *testing.T) { function TestListChildAtStartMultiple (line 127) | func TestListChildAtStartMultiple(t *testing.T) { function TestListChildMultipleScalars (line 134) | func TestListChildMultipleScalars(t *testing.T) { function TestListChildTripleScalars (line 139) | func TestListChildTripleScalars(t *testing.T) { function TestListChildMergeMaps (line 144) | func TestListChildMergeMaps(t *testing.T) { function TestListChildMergeThreeMaps (line 149) | func TestListChildMergeThreeMaps(t *testing.T) { function TestListChildDeepMergeMaps (line 154) | func TestListChildDeepMergeMaps(t *testing.T) { function TestListChildMergeDupKey (line 161) | func TestListChildMergeDupKey(t *testing.T) { function TestListChildWithPairProperty (line 168) | func TestListChildWithPairProperty(t *testing.T) { function TestListChildPathDive (line 186) | func TestListChildPathDive(t *testing.T) { function TestListChildDeepPathDive (line 191) | func TestListChildDeepPathDive(t *testing.T) { function TestListChildTrailingComma (line 198) | func TestListChildTrailingComma(t *testing.T) { function TestListChildElementThenChildTrailing (line 203) | func TestListChildElementThenChildTrailing(t *testing.T) { function TestListChildMultipleTrailing (line 208) | func TestListChildMultipleTrailing(t *testing.T) { function TestListChildLeadingCommaNull (line 215) | func TestListChildLeadingCommaNull(t *testing.T) { function TestListChildDoubleLeadingComma (line 220) | func TestListChildDoubleLeadingComma(t *testing.T) { function TestListChildNone (line 227) | func TestListChildNone(t *testing.T) { function TestListChildEmptyBrackets (line 232) | func TestListChildEmptyBrackets(t *testing.T) { function TestListChildMapElementThenChild (line 239) | func TestListChildMapElementThenChild(t *testing.T) { function TestListChildBeforeMapElement (line 244) | func TestListChildBeforeMapElement(t *testing.T) { function TestListChildListElement (line 249) | func TestListChildListElement(t *testing.T) { function TestListChildBeforeListElement (line 254) | func TestListChildBeforeListElement(t *testing.T) { function TestListChildMapAroundChild (line 259) | func TestListChildMapAroundChild(t *testing.T) { function TestListChildBareColonThenElement (line 266) | func TestListChildBareColonThenElement(t *testing.T) { function TestListChildElementThenBareColon (line 271) | func TestListChildElementThenBareColon(t *testing.T) { function TestListChildInterleaved (line 278) | func TestListChildInterleaved(t *testing.T) { function TestListChildMultiInterleaved (line 283) | func TestListChildMultiInterleaved(t *testing.T) { function TestListChildAutoEnablesListRef (line 290) | func TestListChildAutoEnablesListRef(t *testing.T) { function TestListChildDisabledDefault (line 304) | func TestListChildDisabledDefault(t *testing.T) { function TestListChildWithMapRef (line 318) | func TestListChildWithMapRef(t *testing.T) { function TestListChildWithTextInfo (line 343) | func TestListChildWithTextInfo(t *testing.T) { function TestListChildExplicitBrackets (line 368) | func TestListChildExplicitBrackets(t *testing.T) { function TestListChildNoExtend (line 382) | func TestListChildNoExtend(t *testing.T) { FILE: go/listref_test.go function expectListRef (line 8) | func expectListRef(t *testing.T, input string, expected any) { function listRefEqual (line 23) | func listRefEqual(a, b any) bool { function lr (line 99) | func lr(implicit bool, vals ...any) ListRef { function TestListRefOff (line 106) | func TestListRefOff(t *testing.T) { function TestListRefExplicitOff (line 118) | func TestListRefExplicitOff(t *testing.T) { function TestListRefExplicitList (line 130) | func TestListRefExplicitList(t *testing.T) { function TestListRefExplicitEmpty (line 135) | func TestListRefExplicitEmpty(t *testing.T) { function TestListRefImplicitComma (line 140) | func TestListRefImplicitComma(t *testing.T) { function TestListRefImplicitTrailingComma (line 145) | func TestListRefImplicitTrailingComma(t *testing.T) { function TestListRefImplicitSpace (line 150) | func TestListRefImplicitSpace(t *testing.T) { function TestListRefImplicitLeadingComma (line 155) | func TestListRefImplicitLeadingComma(t *testing.T) { function TestListRefImplicitCommaOnly (line 160) | func TestListRefImplicitCommaOnly(t *testing.T) { function TestListRefNestedExplicit (line 165) | func TestListRefNestedExplicit(t *testing.T) { function TestListRefExplicitInMap (line 173) | func TestListRefExplicitInMap(t *testing.T) { function TestListRefMixedImplicitExplicit (line 180) | func TestListRefMixedImplicitExplicit(t *testing.T) { function TestListRefSpaceSeparatedLists (line 188) | func TestListRefSpaceSeparatedLists(t *testing.T) { function TestListRefMapsUnaffected (line 196) | func TestListRefMapsUnaffected(t *testing.T) { function TestListRefScalarsUnaffected (line 208) | func TestListRefScalarsUnaffected(t *testing.T) { function TestListRefDeepMerge (line 229) | func TestListRefDeepMerge(t *testing.T) { function TestListRefSpaceSeparatedMaps (line 237) | func TestListRefSpaceSeparatedMaps(t *testing.T) { function TestListRefWithNumbers (line 245) | func TestListRefWithNumbers(t *testing.T) { function TestListRefImplicitNullCommas (line 250) | func TestListRefImplicitNullCommas(t *testing.T) { function TestListRefSingleElement (line 256) | func TestListRefSingleElement(t *testing.T) { function TestListRefCombinedWithTextInfo (line 261) | func TestListRefCombinedWithTextInfo(t *testing.T) { FILE: go/mapref_test.go function expectMapRef (line 8) | func expectMapRef(t *testing.T, input string, expected any) { function mapRefEqual (line 23) | func mapRefEqual(a, b any) bool { function mr (line 100) | func mr(implicit bool, pairs ...any) MapRef { function TestMapRefOff (line 109) | func TestMapRefOff(t *testing.T) { function TestMapRefExplicitOff (line 121) | func TestMapRefExplicitOff(t *testing.T) { function TestMapRefExplicitMap (line 133) | func TestMapRefExplicitMap(t *testing.T) { function TestMapRefExplicitEmpty (line 138) | func TestMapRefExplicitEmpty(t *testing.T) { function TestMapRefImplicitMap (line 143) | func TestMapRefImplicitMap(t *testing.T) { function TestMapRefImplicitMultipleKeys (line 148) | func TestMapRefImplicitMultipleKeys(t *testing.T) { function TestMapRefImplicitSpaceSeparated (line 153) | func TestMapRefImplicitSpaceSeparated(t *testing.T) { function TestMapRefNestedExplicit (line 158) | func TestMapRefNestedExplicit(t *testing.T) { function TestMapRefNestedImplicitInExplicit (line 163) | func TestMapRefNestedImplicitInExplicit(t *testing.T) { function TestMapRefListsUnaffected (line 168) | func TestMapRefListsUnaffected(t *testing.T) { function TestMapRefScalarsUnaffected (line 180) | func TestMapRefScalarsUnaffected(t *testing.T) { function TestMapRefDeepMerge (line 201) | func TestMapRefDeepMerge(t *testing.T) { function TestMapRefMapInList (line 206) | func TestMapRefMapInList(t *testing.T) { function TestMapRefWithStringValues (line 234) | func TestMapRefWithStringValues(t *testing.T) { function TestMapRefCombinedWithListRef (line 238) | func TestMapRefCombinedWithListRef(t *testing.T) { function TestMapRefCombinedWithTextInfo (line 264) | func TestMapRefCombinedWithTextInfo(t *testing.T) { function TestMapRefSingleKey (line 280) | func TestMapRefSingleKey(t *testing.T) { FILE: go/nlookahead_test.go function TestNLookaheadThreeTokens (line 14) | func TestNLookaheadThreeTokens(t *testing.T) { function TestNLookaheadFiveTokensNoCap (line 53) | func TestNLookaheadFiveTokensNoCap(t *testing.T) { function TestNLookaheadFirstMatchWins (line 88) | func TestNLookaheadFirstMatchWins(t *testing.T) { function TestNLookaheadCtxTSlice (line 139) | func TestNLookaheadCtxTSlice(t *testing.T) { function TestNLookaheadNullMiddleSlotIsWildcard (line 187) | func TestNLookaheadNullMiddleSlotIsWildcard(t *testing.T) { function TestNLookaheadBacktrackN3 (line 234) | func TestNLookaheadBacktrackN3(t *testing.T) { FILE: go/options.go type Options (line 12) | type Options struct type ColorOptions (line 103) | type ColorOptions struct type ErrMsgOptions (line 124) | type ErrMsgOptions struct type InfoOptions (line 141) | type InfoOptions struct type PropertyOptions (line 163) | type PropertyOptions struct type MatchOptions (line 171) | type MatchOptions struct type MatchValueSpec (line 183) | type MatchValueSpec struct type SafeOptions (line 189) | type SafeOptions struct type FixedOptions (line 194) | type FixedOptions struct type SpaceOptions (line 213) | type SpaceOptions struct type LineOptions (line 223) | type LineOptions struct type ValModifier (line 235) | type ValModifier type TextOptions (line 238) | type TextOptions struct type NumberOptions (line 248) | type NumberOptions struct type CommentDef (line 262) | type CommentDef struct type CommentOptions (line 289) | type CommentOptions struct type StringOptions (line 299) | type StringOptions struct type MapMergeFunc (line 316) | type MapMergeFunc type MapOptions (line 319) | type MapOptions struct type ListOptions (line 326) | type ListOptions struct type ValueDef (line 333) | type ValueDef struct type ValueOptions (line 352) | type ValueOptions struct type RuleOptions (line 358) | type RuleOptions struct type LexOptions (line 376) | type LexOptions struct type ParserOptions (line 386) | type ParserOptions struct type ParseOptions (line 391) | type ParseOptions struct type ResultOptions (line 400) | type ResultOptions struct type ConfigModifier (line 408) | type ConfigModifier type Jsonic (line 414) | type Jsonic struct method Decorate (line 437) | func (j *Jsonic) Decorate(name string, value any) *Jsonic { method Decoration (line 447) | func (j *Jsonic) Decoration(name string) any { method Id (line 456) | func (j *Jsonic) Id() string { method PluginOptions (line 462) | func (j *Jsonic) PluginOptions(name string) map[string]any { method SetPluginOptions (line 471) | func (j *Jsonic) SetPluginOptions(name string, opts map[string]any) { method Parse (line 642) | func (j *Jsonic) Parse(src string) (any, error) { method parseInternal (line 647) | func (j *Jsonic) parseInternal(src string, meta map[string]any) (any, ... method attachHint (line 667) | func (j *Jsonic) attachHint(err error) error { method Options (line 680) | func (j *Jsonic) Options() Options { function Make (line 487) | func Make(opts ...Options) *Jsonic { function Empty (line 601) | func Empty(opts ...Options) *Jsonic { function MakeJSON (line 615) | func MakeJSON() *Jsonic { function boolPtr (line 688) | func boolPtr(b bool) *bool { function intPtr (line 693) | func intPtr(i int) *int { function boolVal (line 698) | func boolVal(p *bool, def bool) bool { function buildConfig (line 706) | func buildConfig(o *Options) *LexConfig { function optBool (line 1041) | func optBool[T any](outer *T, getter func(*T) *bool) *bool { function runeSet (line 1049) | func runeSet(s string) map[rune]bool { function normalizeCommentSuffix (line 1063) | func normalizeCommentSuffix(raw any) ([]string, LexMatcher) { FILE: go/options_parity_test.go function TestFixedCheckHookFires (line 9) | func TestFixedCheckHookFires(t *testing.T) { function TestSpaceCheckHookFires (line 25) | func TestSpaceCheckHookFires(t *testing.T) { function TestLineCheckHookFires (line 39) | func TestLineCheckHookFires(t *testing.T) { function TestTextCheckHookFires (line 53) | func TestTextCheckHookFires(t *testing.T) { function TestNumberCheckHookFires (line 67) | func TestNumberCheckHookFires(t *testing.T) { function TestStringCheckHookFires (line 81) | func TestStringCheckHookFires(t *testing.T) { function TestCommentCheckHookFires (line 95) | func TestCommentCheckHookFires(t *testing.T) { function TestLexCheckCanOverrideResult (line 109) | func TestLexCheckCanOverrideResult(t *testing.T) { function TestInfoMarkerDefault (line 123) | func TestInfoMarkerDefault(t *testing.T) { function TestInfoMarkerOverride (line 131) | func TestInfoMarkerOverride(t *testing.T) { function TestInfoMarkerFromText (line 139) | func TestInfoMarkerFromText(t *testing.T) { function TestParsePrepareHooksRunInOrder (line 152) | func TestParsePrepareHooksRunInOrder(t *testing.T) { function TestParsePrepareSkipsNil (line 167) | func TestParsePrepareSkipsNil(t *testing.T) { function TestMatchCheckHookFires (line 184) | func TestMatchCheckHookFires(t *testing.T) { function TestErrMsgSuffixRoundTripString (line 202) | func TestErrMsgSuffixRoundTripString(t *testing.T) { function TestErrMsgSuffixRoundTripBool (line 213) | func TestErrMsgSuffixRoundTripBool(t *testing.T) { FILE: go/parser.go type Context (line 10) | type Context struct type Parser (line 49) | type Parser struct method Start (line 73) | func (p *Parser) Start(src string) (any, error) { method StartMeta (line 79) | func (p *Parser) StartMeta(src string, meta map[string]any, lexSubs []... method startParse (line 84) | func (p *Parser) startParse(src string, meta map[string]any, lexSubs [... method makeError (line 233) | func (p *Parser) makeError(code, src, fullSource string, pos, row, col... function NewParser (line 59) | func NewParser() *Parser { function parseNumericString (line 271) | func parseNumericString(s string) float64 { FILE: go/plugin.go type Plugin (line 12) | type Plugin type LexMatcher (line 20) | type LexMatcher type MakeLexMatcher (line 25) | type MakeLexMatcher type MatchSpec (line 29) | type MatchSpec struct type MatcherEntry (line 38) | type MatcherEntry struct type RuleDefiner (line 48) | type RuleDefiner type LexSub (line 51) | type LexSub type RuleSub (line 54) | type RuleSub type pluginEntry (line 57) | type pluginEntry struct method Use (line 70) | func (j *Jsonic) Use(plugin Plugin, opts ...map[string]any) error { method UseDefaults (line 90) | func (j *Jsonic) UseDefaults(plugin Plugin, defaults map[string]any, opt... method Rule (line 115) | func (j *Jsonic) Rule(name string, definer RuleDefiner) *Jsonic { method Token (line 138) | func (j *Jsonic) Token(name string, src ...string) Tin { method FixedSrc (line 180) | func (j *Jsonic) FixedSrc(src string) Tin { method FixedTin (line 190) | func (j *Jsonic) FixedTin(tin Tin) string { method registerMatchSpecs (line 207) | func (j *Jsonic) registerMatchSpecs(opts *Options) { method applyFixedTokens (line 243) | func (j *Jsonic) applyFixedTokens(opts *Options) { method Plugins (line 277) | func (j *Jsonic) Plugins() []Plugin { method Config (line 287) | func (j *Jsonic) Config() *LexConfig { method RSM (line 292) | func (j *Jsonic) RSM() map[string]*RuleSpec { method TinName (line 297) | func (j *Jsonic) TinName(tin Tin) string { method TokenSet (line 309) | func (j *Jsonic) TokenSet(name string) []Tin { method SetTokenSet (line 345) | func (j *Jsonic) SetTokenSet(name string, tins []Tin) { method Sub (line 374) | func (j *Jsonic) Sub(lexSub LexSub, ruleSub RuleSub) *Jsonic { method Derive (line 387) | func (j *Jsonic) Derive(opts ...Options) *Jsonic { method SetOptions (line 519) | func (j *Jsonic) SetOptions(opts Options) *Jsonic { method SetOptionsText (line 674) | func (j *Jsonic) SetOptionsText(text string) (*Jsonic, error) { method include (line 699) | func (j *Jsonic) include(groups ...string) *Jsonic { method exclude (line 714) | func (j *Jsonic) exclude(groups ...string) *Jsonic { function buildTagSet (line 725) | func buildTagSet(groups []string) map[string]bool { function filterAlts (line 739) | func filterAlts(alts []*AltSpec, excludeSet map[string]bool) []*AltSpec { function filterAltsInclude (line 764) | func filterAltsInclude(alts []*AltSpec, includeSet map[string]bool) []*A... method ParseMeta (line 787) | func (j *Jsonic) ParseMeta(src string, meta map[string]any) (any, error) { FILE: go/plugin_test.go function hasExactTag (line 9) | func hasExactTag(tagStr, tag string) bool { function TestUseInvokesPlugin (line 20) | func TestUseInvokesPlugin(t *testing.T) { function TestUsePassesOptions (line 32) | func TestUsePassesOptions(t *testing.T) { function TestUseChaining (line 44) | func TestUseChaining(t *testing.T) { function TestPlugins (line 60) | func TestPlugins(t *testing.T) { function TestTokenRegisterNew (line 71) | func TestTokenRegisterNew(t *testing.T) { function TestTokenLookupBuiltin (line 84) | func TestTokenLookupBuiltin(t *testing.T) { function TestTokenFixedRegistration (line 92) | func TestTokenFixedRegistration(t *testing.T) { function TestTokenMultipleRegistrations (line 101) | func TestTokenMultipleRegistrations(t *testing.T) { function TestTinName (line 113) | func TestTinName(t *testing.T) { function TestPluginCustomFixedToken (line 129) | func TestPluginCustomFixedToken(t *testing.T) { function TestPluginRuleModification (line 159) | func TestPluginRuleModification(t *testing.T) { function TestPluginRuleAddAlternate (line 185) | func TestPluginRuleAddAlternate(t *testing.T) { function TestPluginRuleNewRule (line 220) | func TestPluginRuleNewRule(t *testing.T) { function TestPluginCustomMatcher (line 235) | func TestPluginCustomMatcher(t *testing.T) { function TestPluginCustomMatcherInObject (line 267) | func TestPluginCustomMatcherInObject(t *testing.T) { function TestPluginMatcherPriority (line 303) | func TestPluginMatcherPriority(t *testing.T) { function TestPluginMatcherLowPriorityCaptures (line 328) | func TestPluginMatcherLowPriorityCaptures(t *testing.T) { function TestPluginConfigAccess (line 357) | func TestPluginConfigAccess(t *testing.T) { function TestPluginRSMAccess (line 368) | func TestPluginRSMAccess(t *testing.T) { function TestPluginInstanceIsolation (line 381) | func TestPluginInstanceIsolation(t *testing.T) { function TestPluginComposite (line 395) | func TestPluginComposite(t *testing.T) { function TestUseNilOptions (line 437) | func TestUseNilOptions(t *testing.T) { function TestPluginDisableComments (line 454) | func TestPluginDisableComments(t *testing.T) { function TestPluginDisableNumbers (line 477) | func TestPluginDisableNumbers(t *testing.T) { function TestMultiCharFixedToken (line 494) | func TestMultiCharFixedToken(t *testing.T) { function TestMultiCharFixedTokenLongestMatch (line 516) | func TestMultiCharFixedTokenLongestMatch(t *testing.T) { function TestMultiCharFixedTokenBreaksText (line 559) | func TestMultiCharFixedTokenBreaksText(t *testing.T) { function TestEnderCharsBreakText (line 583) | func TestEnderCharsBreakText(t *testing.T) { function TestEnderCharsInMap (line 599) | func TestEnderCharsInMap(t *testing.T) { function TestCustomEscapeMappings (line 614) | func TestCustomEscapeMappings(t *testing.T) { function TestSubLex (line 652) | func TestSubLex(t *testing.T) { function TestSubRule (line 678) | func TestSubRule(t *testing.T) { function TestDerive (line 706) | func TestDerive(t *testing.T) { function TestDeriveIsolation (line 718) | func TestDeriveIsolation(t *testing.T) { function TestDeriveInheritsPlugins (line 730) | func TestDeriveInheritsPlugins(t *testing.T) { function TestSetOptions (line 756) | func TestSetOptions(t *testing.T) { function TestSetOptionsDeepMerge (line 783) | func TestSetOptionsDeepMerge(t *testing.T) { function TestSetOptionsDeepMergeMaps (line 816) | func TestSetOptionsDeepMergeMaps(t *testing.T) { function TestSetOptionsChaining (line 835) | func TestSetOptionsChaining(t *testing.T) { function TestExclude (line 857) | func TestExclude(t *testing.T) { function TestExcludeCustomGroup (line 898) | func TestExcludeCustomGroup(t *testing.T) { function TestParseMeta (line 928) | func TestParseMeta(t *testing.T) { function TestParseMetaNil (line 953) | func TestParseMetaNil(t *testing.T) { function TestCustomFixedTokenBreaksText (line 968) | func TestCustomFixedTokenBreaksText(t *testing.T) { function TestEmptySourceDefault (line 984) | func TestEmptySourceDefault(t *testing.T) { function TestEmptySourceDisabled (line 995) | func TestEmptySourceDisabled(t *testing.T) { function TestEmptySourceCustomResult (line 1005) | func TestEmptySourceCustomResult(t *testing.T) { function TestCustomParserStart (line 1020) | func TestCustomParserStart(t *testing.T) { function TestCustomParserStartWithMeta (line 1037) | func TestCustomParserStartWithMeta(t *testing.T) { function TestErrorHints (line 1062) | func TestErrorHints(t *testing.T) { function TestErrorHintsInOutput (line 1088) | func TestErrorHintsInOutput(t *testing.T) { function TestConfigModify (line 1109) | func TestConfigModify(t *testing.T) { function TestTokenSetVAL (line 1133) | func TestTokenSetVAL(t *testing.T) { function TestTokenSetIGNORE (line 1154) | func TestTokenSetIGNORE(t *testing.T) { function TestTokenSetKEY (line 1165) | func TestTokenSetKEY(t *testing.T) { function TestTokenSetUnknown (line 1176) | func TestTokenSetUnknown(t *testing.T) { function TestSetTokenSetIGNORE (line 1184) | func TestSetTokenSetIGNORE(t *testing.T) { function TestSetTokenSetIGNOREPerInstance (line 1215) | func TestSetTokenSetIGNOREPerInstance(t *testing.T) { function TestDeriveInheritsIgnoreSet (line 1233) | func TestDeriveInheritsIgnoreSet(t *testing.T) { function TestSetOptionsPreservesIgnoreSet (line 1255) | func TestSetOptionsPreservesIgnoreSet(t *testing.T) { function TestSetTokenSetVAL (line 1291) | func TestSetTokenSetVAL(t *testing.T) { function TestSetTokenSetKEY (line 1315) | func TestSetTokenSetKEY(t *testing.T) { function TestSetTokenSetVALPerInstance (line 1335) | func TestSetTokenSetVALPerInstance(t *testing.T) { function TestDeriveInheritsValKeySet (line 1349) | func TestDeriveInheritsValKeySet(t *testing.T) { function TestLexCheckFixed (line 1374) | func TestLexCheckFixed(t *testing.T) { function TestLexCheckSkipMatcher (line 1402) | func TestLexCheckSkipMatcher(t *testing.T) { function TestRuleSpecClear (line 1435) | func TestRuleSpecClear(t *testing.T) { function TestRuleSpecAddOpen (line 1448) | func TestRuleSpecAddOpen(t *testing.T) { function TestRuleSpecPrependOpen (line 1459) | func TestRuleSpecPrependOpen(t *testing.T) { function TestRuleSpecAddClose (line 1471) | func TestRuleSpecAddClose(t *testing.T) { function TestRuleSpecPrependClose (line 1479) | func TestRuleSpecPrependClose(t *testing.T) { function TestRuleSpecStateActions (line 1488) | func TestRuleSpecStateActions(t *testing.T) { function TestDebugDescribe (line 1503) | func TestDebugDescribe(t *testing.T) { function TestDebugPlugin (line 1526) | func TestDebugPlugin(t *testing.T) { function TestRuleExcludeFromOptions (line 1537) | func TestRuleExcludeFromOptions(t *testing.T) { function TestDeriveTokenInheritance (line 1579) | func TestDeriveTokenInheritance(t *testing.T) { function makeTokenPlugin (line 1611) | func makeTokenPlugin(char, val string) Plugin { function TestDeriveMultiLevelPluginInheritance (line 1632) | func TestDeriveMultiLevelPluginInheritance(t *testing.T) { function expectMap (line 1707) | func expectMap(t *testing.T, label string, result any, expected map[stri... function TestCustomParserStartError (line 1722) | func TestCustomParserStartError(t *testing.T) { function TestPluginErrorHints (line 1765) | func TestPluginErrorHints(t *testing.T) { function TestDecorate (line 1795) | func TestDecorate(t *testing.T) { function TestDecorateChaining (line 1809) | func TestDecorateChaining(t *testing.T) { function TestDecorateInherited (line 1829) | func TestDecorateInherited(t *testing.T) { function TestDecorateUnset (line 1853) | func TestDecorateUnset(t *testing.T) { function TestDecorateFunction (line 1860) | func TestDecorateFunction(t *testing.T) { function TestContextInst (line 1875) | func TestContextInst(t *testing.T) { function TestContextOpts (line 1893) | func TestContextOpts(t *testing.T) { function TestContextCfg (line 1913) | func TestContextCfg(t *testing.T) { function TestContextSrc (line 1933) | func TestContextSrc(t *testing.T) { function TestContextU (line 1950) | func TestContextU(t *testing.T) { function TestContextMeta (line 1974) | func TestContextMeta(t *testing.T) { function TestPluginOptions (line 1993) | func TestPluginOptions(t *testing.T) { function TestPluginOptionsInherited (line 2009) | func TestPluginOptionsInherited(t *testing.T) { function TestErrMsgName (line 2028) | func TestErrMsgName(t *testing.T) { function TestErrMsgNameViaPlugin (line 2045) | func TestErrMsgNameViaPlugin(t *testing.T) { function TestFixedLookup (line 2064) | func TestFixedLookup(t *testing.T) { function TestFixedCustomToken (line 2086) | func TestFixedCustomToken(t *testing.T) { function TestFixedOptionsTokenOverride (line 2102) | func TestFixedOptionsTokenOverride(t *testing.T) { function TestFixedOptionsTokenDelete (line 2126) | func TestFixedOptionsTokenDelete(t *testing.T) { function TestFixedOptionsTokenViaMake (line 2136) | func TestFixedOptionsTokenViaMake(t *testing.T) { function TestModifyOpen (line 2151) | func TestModifyOpen(t *testing.T) { function TestModifyOpenCustom (line 2163) | func TestModifyOpenCustom(t *testing.T) { function TestContextRoot (line 2181) | func TestContextRoot(t *testing.T) { function TestContextSentinels (line 2203) | func TestContextSentinels(t *testing.T) { function TestContextTC (line 2227) | func TestContextTC(t *testing.T) { function TestContextF (line 2244) | func TestContextF(t *testing.T) { function TestTokenUse (line 2265) | func TestTokenUse(t *testing.T) { function TestTokenBad (line 2300) | func TestTokenBad(t *testing.T) { function TestLexBad (line 2314) | func TestLexBad(t *testing.T) { function TestJsonicId (line 2328) | func TestJsonicId(t *testing.T) { function TestJsonicIdWithTag (line 2338) | func TestJsonicIdWithTag(t *testing.T) { function TestJsonicIdUnique (line 2345) | func TestJsonicIdUnique(t *testing.T) { function TestEmpty (line 2355) | func TestEmpty(t *testing.T) { function TestResultFail (line 2368) | func TestResultFail(t *testing.T) { function TestResultFailCustomValue (line 2383) | func TestResultFailCustomValue(t *testing.T) { function TestLexFwd (line 2412) | func TestLexFwd(t *testing.T) { function TestCustomTokenSet (line 2430) | func TestCustomTokenSet(t *testing.T) { function TestCustomTokenSetInherited (line 2445) | func TestCustomTokenSetInherited(t *testing.T) { FILE: go/readme_test.go function boolp (line 8) | func boolp(b bool) *bool { return &b } function toJSON (line 11) | func toJSON(t *testing.T, v any) string { function TestReadmeQuickExample (line 22) | func TestReadmeQuickExample(t *testing.T) { function TestReadmeSyntaxExamples (line 35) | func TestReadmeSyntaxExamples(t *testing.T) { function TestReadmeRelaxations (line 62) | func TestReadmeRelaxations(t *testing.T) { function TestGoReadmeQuickExample (line 99) | func TestGoReadmeQuickExample(t *testing.T) { function TestGoReadmeConfiguredInstance (line 116) | func TestGoReadmeConfiguredInstance(t *testing.T) { function TestGoReadmeSyntaxHighlights (line 140) | func TestGoReadmeSyntaxHighlights(t *testing.T) { FILE: go/rule.go function ValidateGroupTags (line 16) | func ValidateGroupTags(g string) error { constant OPEN (line 36) | OPEN RuleState = "o" constant CLOSE (line 37) | CLOSE RuleState = "c" type undefinedType (line 42) | type undefinedType struct function IsUndefined (line 47) | func IsUndefined(v any) bool { type skipType (line 54) | type skipType struct function IsSkip (line 59) | func IsSkip(v any) bool { function UnwrapUndefined (line 65) | func UnwrapUndefined(v any) any { type AltCond (line 85) | type AltCond type AltAction (line 88) | type AltAction type AltError (line 91) | type AltError type AltModifier (line 94) | type AltModifier type StateAction (line 97) | type StateAction type CondOp (line 102) | type CondOp struct function CEq (line 108) | func CEq(val int) CondOp { return CondOp{Op: "$eq", Val: val} } function CNe (line 109) | func CNe(val int) CondOp { return CondOp{Op: "$ne", Val: val} } function CLt (line 110) | func CLt(val int) CondOp { return CondOp{Op: "$lt", Val: val} } function CLte (line 111) | func CLte(val int) CondOp { return CondOp{Op: "$lte", Val: val} } function CGt (line 112) | func CGt(val int) CondOp { return CondOp{Op: "$gt", Val: val} } function CGte (line 113) | func CGte(val int) CondOp { return CondOp{Op: "$gte", Val: val} } type AltSpec (line 116) | type AltSpec struct type RuleSpec (line 136) | type RuleSpec struct method Clear (line 154) | func (rs *RuleSpec) Clear() *RuleSpec { method AddOpen (line 165) | func (rs *RuleSpec) AddOpen(alts ...*AltSpec) *RuleSpec { method AddClose (line 171) | func (rs *RuleSpec) AddClose(alts ...*AltSpec) *RuleSpec { method PrependOpen (line 177) | func (rs *RuleSpec) PrependOpen(alts ...*AltSpec) *RuleSpec { method PrependClose (line 183) | func (rs *RuleSpec) PrependClose(alts ...*AltSpec) *RuleSpec { method ModifyOpen (line 198) | func (rs *RuleSpec) ModifyOpen(mods *AltModListOpts) *RuleSpec { method ModifyClose (line 204) | func (rs *RuleSpec) ModifyClose(mods *AltModListOpts) *RuleSpec { method AddBO (line 235) | func (rs *RuleSpec) AddBO(action StateAction) *RuleSpec { method AddAO (line 241) | func (rs *RuleSpec) AddAO(action StateAction) *RuleSpec { method AddBC (line 247) | func (rs *RuleSpec) AddBC(action StateAction) *RuleSpec { method AddAC (line 253) | func (rs *RuleSpec) AddAC(action StateAction) *RuleSpec { type AltModListOpts (line 190) | type AltModListOpts struct function modifyAltList (line 209) | func modifyAltList(list []*AltSpec, mods *AltModListOpts) []*AltSpec { function getRuleProp (line 261) | func getRuleProp(r *Rule, prop string, subprop string) (int, bool) { function MakeRuleCond (line 280) | func MakeRuleCond(op string, prop string, subprop string, val int) AltCo... function NormAlt (line 321) | func NormAlt(alt *AltSpec) error { function NormAlts (line 369) | func NormAlts(spec *RuleSpec) error { type Rule (line 384) | type Rule struct method Eq (line 432) | func (r *Rule) Eq(counter string, limit int) bool { method Lt (line 438) | func (r *Rule) Lt(counter string, limit int) bool { method Gt (line 444) | func (r *Rule) Gt(counter string, limit int) bool { method Lte (line 450) | func (r *Rule) Lte(counter string, limit int) bool { method Gte (line 456) | func (r *Rule) Gte(counter string, limit int) bool { method Process (line 476) | func (r *Rule) Process(ctx *Context, lex *Lex) *Rule { function init (line 426) | func init() { function MakeRule (line 462) | func MakeRule(spec *RuleSpec, ctx *Context, node any) *Rule { function ParseAlts (line 713) | func ParseAlts(isOpen bool, alts []*AltSpec, lex *Lex, rule *Rule, ctx *... function tinMatch (line 821) | func tinMatch(tin Tin, tins []Tin) bool { FILE: go/rule_include_test.go function TestRuleIncludeKeepsOnlyTaggedAlts (line 10) | func TestRuleIncludeKeepsOnlyTaggedAlts(t *testing.T) { function TestRuleIncludeDropsUntaggedAlts (line 54) | func TestRuleIncludeDropsUntaggedAlts(t *testing.T) { function TestRuleIncludeEmptyIsNoop (line 80) | func TestRuleIncludeEmptyIsNoop(t *testing.T) { function TestRuleIncludeMultipleTags (line 92) | func TestRuleIncludeMultipleTags(t *testing.T) { function TestRuleIncludeThenExclude (line 138) | func TestRuleIncludeThenExclude(t *testing.T) { function TestGrammarTextAppliesInclude (line 175) | func TestGrammarTextAppliesInclude(t *testing.T) { function TestSetOptionsTextInclude (line 213) | func TestSetOptionsTextInclude(t *testing.T) { function TestRuleIncludePreservesParsingForTaggedAlts (line 245) | func TestRuleIncludePreservesParsingForTaggedAlts(t *testing.T) { function TestRuleIncludeBreaksParsingWhenGrammarHasNoMatchingTags (line 279) | func TestRuleIncludeBreaksParsingWhenGrammarHasNoMatchingTags(t *testing... function appendTag (line 291) | func appendTag(g, tag string) string { FILE: go/safe_test.go function TestSafeKey_ConstructorBlockedOnList (line 13) | func TestSafeKey_ConstructorBlockedOnList(t *testing.T) { function TestSafeKey_ConstructorAllowedOnObject (line 26) | func TestSafeKey_ConstructorAllowedOnObject(t *testing.T) { function TestSafeKey_FalseAllowsProtoOnList (line 41) | func TestSafeKey_FalseAllowsProtoOnList(t *testing.T) { function TestSafeKey_FalseAllowsConstructorOnList (line 65) | func TestSafeKey_FalseAllowsConstructorOnList(t *testing.T) { function TestSafeKey_PathDiveWithProtoOnList (line 85) | func TestSafeKey_PathDiveWithProtoOnList(t *testing.T) { FILE: go/text.go type Text (line 6) | type Text struct type ListRef (line 21) | type ListRef struct type MapRef (line 48) | type MapRef struct FILE: go/textinfo_test.go function expectTextInfo (line 8) | func expectTextInfo(t *testing.T, input string, expected any) { function textInfoEqual (line 23) | func textInfoEqual(a, b any) bool { function tx (line 76) | func tx(quote, str string) Text { function TestTextInfoOff (line 80) | func TestTextInfoOff(t *testing.T) { function TestTextInfoDoubleQuote (line 100) | func TestTextInfoDoubleQuote(t *testing.T) { function TestTextInfoSingleQuote (line 104) | func TestTextInfoSingleQuote(t *testing.T) { function TestTextInfoBacktickQuote (line 108) | func TestTextInfoBacktickQuote(t *testing.T) { function TestTextInfoUnquotedText (line 112) | func TestTextInfoUnquotedText(t *testing.T) { function TestTextInfoEmptyStrings (line 117) | func TestTextInfoEmptyStrings(t *testing.T) { function TestTextInfoEscapes (line 123) | func TestTextInfoEscapes(t *testing.T) { function TestTextInfoMapValues (line 129) | func TestTextInfoMapValues(t *testing.T) { function TestTextInfoMapMultipleKeys (line 142) | func TestTextInfoMapMultipleKeys(t *testing.T) { function TestTextInfoArrayValues (line 149) | func TestTextInfoArrayValues(t *testing.T) { function TestTextInfoMixedTypes (line 157) | func TestTextInfoMixedTypes(t *testing.T) { function TestTextInfoNestedMap (line 167) | func TestTextInfoNestedMap(t *testing.T) { function TestTextInfoKeysRemainStrings (line 175) | func TestTextInfoKeysRemainStrings(t *testing.T) { function TestTextInfoNumbersUnaffected (line 199) | func TestTextInfoNumbersUnaffected(t *testing.T) { function TestTextInfoBoolsUnaffected (line 210) | func TestTextInfoBoolsUnaffected(t *testing.T) { function TestTextInfoNullUnaffected (line 221) | func TestTextInfoNullUnaffected(t *testing.T) { function TestTextInfoExplicitOff (line 232) | func TestTextInfoExplicitOff(t *testing.T) { function TestTextInfoImplicitList (line 244) | func TestTextInfoImplicitList(t *testing.T) { function TestTextInfoSpaceSeparatedList (line 252) | func TestTextInfoSpaceSeparatedList(t *testing.T) { function TestTextInfoPathDive (line 261) | func TestTextInfoPathDive(t *testing.T) { FILE: go/token.go constant TinBD (line 8) | TinBD Tin = 1 constant TinZZ (line 9) | TinZZ Tin = 2 constant TinUK (line 10) | TinUK Tin = 3 constant TinAA (line 11) | TinAA Tin = 4 constant TinSP (line 12) | TinSP Tin = 5 constant TinLN (line 13) | TinLN Tin = 6 constant TinCM (line 14) | TinCM Tin = 7 constant TinNR (line 15) | TinNR Tin = 8 constant TinST (line 16) | TinST Tin = 9 constant TinTX (line 17) | TinTX Tin = 10 constant TinVL (line 18) | TinVL Tin = 11 constant TinOB (line 19) | TinOB Tin = 12 constant TinCB (line 20) | TinCB Tin = 13 constant TinOS (line 21) | TinOS Tin = 14 constant TinCS (line 22) | TinCS Tin = 15 constant TinCL (line 23) | TinCL Tin = 16 constant TinCA (line 24) | TinCA Tin = 17 constant TinMAX (line 25) | TinMAX Tin = 18 type Point (line 39) | type Point struct type Token (line 47) | type Token struct method Bad (line 62) | func (t *Token) Bad(err string, details ...map[string]any) *Token { method IsNoToken (line 76) | func (t *Token) IsNoToken() bool { method ResolveVal (line 88) | func (t *Token) ResolveVal(r *Rule, ctx *Context) any { type TokenValFunc (line 83) | type TokenValFunc function MakeToken (line 96) | func MakeToken(name string, tin Tin, val any, src string, pnt Point) *To... FILE: go/token_test.go function TestResolveVal_StaticValue (line 8) | func TestResolveVal_StaticValue(t *testing.T) { function TestResolveVal_NilValueUnchanged (line 15) | func TestResolveVal_NilValueUnchanged(t *testing.T) { function TestResolveVal_LazyFunction (line 22) | func TestResolveVal_LazyFunction(t *testing.T) { function TestResolveVal_LazyFunctionReceivesRuleAndCtx (line 36) | func TestResolveVal_LazyFunctionReceivesRuleAndCtx(t *testing.T) { function TestResolveVal_LazyValueThroughParser (line 57) | func TestResolveVal_LazyValueThroughParser(t *testing.T) { FILE: go/util.go type UtilBag (line 9) | type UtilBag struct type Entry (line 21) | type Entry struct function Keys (line 28) | func Keys(m map[string]any) []string { function Values (line 42) | func Values(m map[string]any) []any { function Entries (line 55) | func Entries(m map[string]any) []Entry { function Omap (line 70) | func Omap(m map[string]any, fn func(Entry) []any) map[string]any { method Util (line 101) | func (j *Jsonic) Util() UtilBag { FILE: go/util_test.go function TestKeys_NilMapReturnsEmpty (line 11) | func TestKeys_NilMapReturnsEmpty(t *testing.T) { function TestKeys_Sorted (line 17) | func TestKeys_Sorted(t *testing.T) { function TestValues_NilMapReturnsEmpty (line 24) | func TestValues_NilMapReturnsEmpty(t *testing.T) { function TestValues_KeySortedOrder (line 30) | func TestValues_KeySortedOrder(t *testing.T) { function TestEntries_NilMapReturnsEmpty (line 37) | func TestEntries_NilMapReturnsEmpty(t *testing.T) { function TestEntries_KeySortedOrder (line 43) | func TestEntries_KeySortedOrder(t *testing.T) { function TestOmap_Identity (line 52) | func TestOmap_Identity(t *testing.T) { function TestOmap_Rewrite (line 60) | func TestOmap_Rewrite(t *testing.T) { function TestOmap_Drop (line 70) | func TestOmap_Drop(t *testing.T) { function TestOmap_ExtraPairs (line 83) | func TestOmap_ExtraPairs(t *testing.T) { function TestJsonic_Util_ExposesHelpers (line 94) | func TestJsonic_Util_ExposesHelpers(t *testing.T) { FILE: go/utility.go function Deep (line 16) | func Deep(base any, rest ...any) any { function deepMerge (line 23) | func deepMerge(base, over any) any { function deepMergeStruct (line 131) | func deepMergeStruct(base, over any) (any, bool) { function cloneMeta (line 232) | func cloneMeta(meta map[string]any) map[string]any { function mergeMeta (line 244) | func mergeMeta(base, over map[string]any) map[string]any { function deepClone (line 259) | func deepClone(val any) any { function Snip (line 295) | func Snip(s string, maxlen int) string { function Str (line 310) | func Str(val any, maxlen int) string { function StrInject (line 358) | func StrInject(template string, vals any) string { function resolvePath (line 404) | func resolvePath(path string, valsMap map[string]any, valsArr []any, isM... function formatInjectValue (line 435) | func formatInjectValue(val any) string { function formatCompactValue (line 462) | func formatCompactValue(val any) string { type ModListOpts (line 511) | type ModListOpts struct function ModList (line 519) | func ModList(list []any, opts *ModListOpts) []any { function deepEqual (line 588) | func deepEqual(a, b any) bool { function IsFuncRef (line 593) | func IsFuncRef(s string) bool { function RequireRef (line 598) | func RequireRef(ref map[FuncRef]any, name string, kind string) (any, err... function LookupRef (line 610) | func LookupRef(ref map[FuncRef]any, name string) any { function MapToOptions (line 619) | func MapToOptions(m map[string]any) Options { function ResolveFuncRefs (line 1032) | func ResolveFuncRefs(obj any, ref map[FuncRef]any) any { FILE: go/variant_test.go function TestVariant_StrictJSON_Happy (line 11) | func TestVariant_StrictJSON_Happy(t *testing.T) { function TestVariant_StrictJSON_Rejects (line 48) | func TestVariant_StrictJSON_Rejects(t *testing.T) { FILE: src/bnf.ts type BnfElement (line 31) | type BnfElement = type BnfSequence (line 50) | type BnfSequence = BnfElement[] type BnfProduction (line 52) | type BnfProduction = { type ProbeDispatchSpec (line 94) | type ProbeDispatchSpec = { type BnfGrammar (line 101) | type BnfGrammar = { type AmbiguityReport (line 109) | type AmbiguityReport = { function getBnfParser (line 469) | function getBnfParser(): (src: string) => BnfProduction[] { function eliminateLeftRecursion (line 581) | function eliminateLeftRecursion(grammar: BnfGrammar): BnfGrammar { function findLeadingRefCycleMembers (line 636) | function findLeadingRefCycleMembers(prods: BnfProduction[]): Set { function topoOrderForPaull (line 703) | function topoOrderForPaull(prods: BnfProduction[]): BnfProduction[] { function substituteLeadingRef (line 734) | function substituteLeadingRef( function eliminateDirectLeftRec (line 760) | function eliminateDirectLeftRec(prod: BnfProduction): BnfProduction { function desugar (line 810) | function desugar(grammar: BnfGrammar): BnfGrammar { class BnfParseError (line 948) | class BnfParseError extends Error { method constructor (line 952) | constructor(message: string, location?: { line?: number; column?: numb... function parseBnf (line 963) | function parseBnf(src: string): BnfGrammar { constant CORE_RULES_ABNF (line 994) | const CORE_RULES_ABNF = ` function getCoreRules (line 1014) | function getCoreRules(): Map { function refsIn (line 1027) | function refsIn(alt: BnfSequence, out: Set): void { function withCoreRules (line 1044) | function withCoreRules(user: BnfProduction[]): BnfProduction[] { function mergeIncrementals (line 1078) | function mergeIncrementals(prods: BnfProduction[]): BnfProduction[] { function isProbeableOpt (line 1140) | function isProbeableOpt(el: BnfElement): null | { function collectTerminalVocabElements (line 1160) | function collectTerminalVocabElements( function collectSeqVocabElements (line 1200) | function collectSeqVocabElements( function mapsOverlap (line 1212) | function mapsOverlap(a: Map, b: Map): boolean { function rewriteProbeDispatches (line 1224) | function rewriteProbeDispatches(grammar: BnfGrammar): BnfGrammar { function emitProbeHelper (line 1355) | function emitProbeHelper( function emitProbeDispatch (line 1380) | function emitProbeDispatch( function emitGrammarSpec (line 1458) | function emitGrammarSpec( type Segment (line 1616) | type Segment = { function segmentize (line 1626) | function segmentize( function regexKey (line 1657) | function regexKey(el: { pattern: string; flags: string }): string { function isSingleSegment (line 1662) | function isSingleSegment(alt: BnfSequence): boolean { function validateRefs (line 1679) | function validateRefs( class RefRegistry (line 1697) | class RefRegistry { method register (line 1700) | register(fn: Function): `@${string}` { method map (line 1705) | get map(): Record { type AstNode (line 1717) | type AstNode = { function mkAstNode (line 1723) | function mkAstNode(ruleName: string, nodeKind: BnfProduction['nodeKind']... function segmentToAlt (line 1730) | function segmentToAlt( function captureChildRef (line 1763) | function captureChildRef( function emitProduction (line 1789) | function emitProduction( function emitChain (line 1982) | function emitChain( function computeFirstSets (line 2028) | function computeFirstSets( function firstOfAlt (line 2084) | function firstOfAlt( function ruleLiteralPrefix (line 2121) | function ruleLiteralPrefix( function altLiteralPrefix (line 2147) | function altLiteralPrefix( type PrefixPath (line 2175) | type PrefixPath = { tokens: string[]; done: boolean } function altPrefixesRaw (line 2187) | function altPrefixesRaw( function altPrefixes (line 2248) | function altPrefixes( function isEffectivelyCaseSensitive (line 2270) | function isEffectivelyCaseSensitive(el: { function termKey (line 2283) | function termKey(el: { literal: string; caseSensitive?: boolean }): stri... function escapeRegExp (line 2288) | function escapeRegExp(s: string): string { function parseNumericValue (line 2303) | function parseNumericValue(src: string): BnfElement { function allocTokenName (line 2330) | function allocTokenName(literal: string, used: Set): string { function bnf (line 2349) | function bnf(src: string, opts?: BnfConvertOptions): GrammarSpec { FILE: src/debug.ts type DebugOptions (line 26) | type DebugOptions = { constant DEFAULTS (line 39) | const DEFAULTS: DebugOptions = { function descAlt (line 191) | function descAlt(jsonic: Jsonic, rs: RuleSpec, kind: 'open' | 'close') { function ruleTree (line 245) | function ruleTree(jsonic: Jsonic, rn: string[], rsm: any) { function ruleTreeStep (line 275) | function ruleTreeStep( function descTokenState (line 291) | function descTokenState(ctx: Context) { function descParseState (line 303) | function descParseState(ctx: Context, rule: Rule, lex: Lex) { function descRuleState (line 313) | function descRuleState(ctx: Context, rule: Rule) { function descAltSeq (line 337) | function descAltSeq(alt: NormAltSpec, cfg: Config) { constant LOG (line 353) | const LOG = { constant LOGKIND (line 360) | const LOGKIND: any = { FILE: src/error.ts class JsonicError (line 32) | class JsonicError extends SyntaxError { method constructor (line 33) | constructor( function errinject (line 51) | function errinject { function help (line 123) | function help(console: Console) { FILE: src/jsonic-cli.ts function run (line 9) | async function run(argv: string[], console: Console) { function read_stdin (line 118) | async function read_stdin(console: Console) { function handle_props (line 133) | function handle_props(propvals: string[]): Bag { function handle_plugins (line 146) | function handle_plugins(plugins: string[]): Bag { function camel (line 199) | function camel(s: string) { function help (line 208) | function help(console: Console) { FILE: src/jsonic.ts type Jsonic (line 141) | type Jsonic = JsonicParse & // A function that parses. function make (line 144) | function make(param_options?: Bag | string, parent?: Jsonic): Jsonic { FILE: src/lexer.ts class PointImpl (line 40) | class PointImpl implements Point { method constructor (line 48) | constructor(len: number, sI?: number, rI?: number, cI?: number) { method toString (line 61) | toString() { method [INSPECT] (line 70) | [INSPECT]() { class TokenImpl (line 79) | class TokenImpl implements Token { method constructor (line 93) | constructor( method resolveVal (line 115) | resolveVal(rule: Rule, ctx: Context): any { method bad (line 121) | bad(err: string, details?: any): Token { method toString (line 129) | toString() { method [INSPECT] (line 151) | [INSPECT]() { type CommentDef (line 316) | type CommentDef = Config['comment']['def'] extends { [_: string]: infer T } function normalizeCommentSuffix (line 502) | function normalizeCommentSuffix(raw: any): function commentSuffixMatch (line 530) | function commentSuffixMatch(fwd: string, fI: number, suffixes?: string[]... function commentSuffixFnMatch (line 542) | function commentSuffixFnMatch(lex: Lex, fI: number, fn?: LexMatcher): nu... function subMatchFixed (line 1048) | function subMatchFixed( class LexImpl (line 1081) | class LexImpl implements Lex { method refwd (line 1088) | refwd(): string { method constructor (line 1093) | constructor(ctx: Context) { method token (line 1100) | token( method next (line 1123) | next(rule: Rule, alt?: NormAltSpec, altI?: number, tI?: number): Token { method tokenize (line 1196) | tokenize( method bad (line 1202) | bad(why: string, pstart: number, pend: number) { FILE: src/parser.ts function defineLookaheadAliases (line 44) | function defineLookaheadAliases(ctx: any, notoken: any) { function attachRewind (line 102) | function attachRewind(ctx: any): void { class ParserImpl (line 156) | class ParserImpl implements Parser { method constructor (line 162) | constructor(options: Options, cfg: Config, j: Jsonic) { method rule (line 170) | rule( method start (line 200) | start(src: string, jsonic: any, meta?: any, parent_ctx?: any): any { method clone (line 339) | clone(options: Options, config: Config, j: Jsonic) { method norm (line 353) | norm() { FILE: src/rules.ts class RuleImpl (line 47) | class RuleImpl implements Rule { method constructor (line 81) | constructor(spec: RuleSpec, ctx: Context, node?: any) { method o0 (line 106) | get o0(): Token { return this.o[0] ?? (this._NOTOKEN as Token) } method o0 (line 107) | set o0(v: Token) { this.o[0] = v } method o1 (line 108) | get o1(): Token { return this.o[1] ?? (this._NOTOKEN as Token) } method o1 (line 109) | set o1(v: Token) { this.o[1] = v } method c0 (line 110) | get c0(): Token { return this.c[0] ?? (this._NOTOKEN as Token) } method c0 (line 111) | set c0(v: Token) { this.c[0] = v } method c1 (line 112) | get c1(): Token { return this.c[1] ?? (this._NOTOKEN as Token) } method c1 (line 113) | set c1(v: Token) { this.c[1] = v } method os (line 114) | get os(): number { return this.oN } method os (line 115) | set os(v: number) { this.oN = v } method cs (line 116) | get cs(): number { return this.cN } method cs (line 117) | set cs(v: number) { this.cN = v } method process (line 119) | process(ctx: Context, lex: Lex): Rule { method eq (line 124) | eq(counter: string, limit: number = 0): boolean { method lt (line 129) | lt(counter: string, limit: number = 0): boolean { method gt (line 134) | gt(counter: string, limit: number = 0): boolean { method lte (line 139) | lte(counter: string, limit: number = 0): boolean { method gte (line 144) | gte(counter: string, limit: number = 0): boolean { method toString (line 149) | toString() { class AltMatchImpl (line 160) | class AltMatchImpl implements AltMatch { constant PALT (line 177) | const PALT: AltMatch = makeAltMatch() // Only one alt object is created. constant EMPTY_ALT (line 178) | const EMPTY_ALT = makeAltMatch() class RuleSpecImpl (line 180) | class RuleSpecImpl implements RuleSpec { method constructor (line 196) | constructor(j: Jsonic, cfg: Config, def: any) { method tin (line 227) | tin( method fnref (line 234) | fnref(frm: Record): RuleSpec { method add (line 275) | add(rs: RuleState, a: AltSpec | AltSpec[], mods?: ListMods): RuleSpec { method open (line 295) | open(a: AltSpec | AltSpec[], mods?: ListMods): RuleSpec { method close (line 299) | close(a: AltSpec | AltSpec[], mods?: ListMods): RuleSpec { method action (line 303) | action( method bo (line 318) | bo(append: StateAction | boolean | FuncRef, action?: StateAction): Rul... method ao (line 328) | ao(append: StateAction | boolean, action?: StateAction): RuleSpec { method bc (line 338) | bc(append: StateAction | boolean, action?: StateAction): RuleSpec { method ac (line 348) | ac(append: StateAction | boolean, action?: StateAction): RuleSpec { method clear (line 358) | clear() { method norm (line 368) | norm() { method process (line 425) | process(rule: Rule, ctx: Context, lex: Lex, state: RuleState): Rule { method bad (line 615) | bad(tkn: Token, rule: Rule, ctx: Context, parse: { is_open: boolean })... method unknownRule (line 628) | unknownRule(tkn: Token, name: string): Token { function parse_alts (line 641) | function parse_alts( constant GROUP_TAG_RE (line 806) | const GROUP_TAG_RE = /^[a-z][a-z0-9-]+$/ function normalt (line 809) | function normalt(a: AltSpec, rs: RuleState, r: RuleSpec): NormAltSpec { function isfnref (line 995) | function isfnref(v: any) { function resolveFunctionRef (line 1000) | function resolveFunctionRef( constant COND_OPS (line 1020) | const COND_OPS: Record = { function makeRuleCond (line 1030) | function makeRuleCond(co: string, prop: string, val: any) { FILE: src/types.ts constant OPEN (line 7) | const OPEN: RuleState = 'o' constant CLOSE (line 8) | const CLOSE: RuleState = 'c' constant BEFORE (line 9) | const BEFORE: RuleStep = 'b' constant AFTER (line 10) | const AFTER: RuleStep = 'a' constant EMPTY (line 11) | const EMPTY = '' constant INSPECT (line 12) | const INSPECT = Symbol.for('nodejs.util.inspect.custom') constant SKIP (line 16) | const SKIP: unique symbol = Symbol.for('jsonic.SKIP') constant STRING (line 21) | const STRING = 'string' type JsonicParse (line 24) | type JsonicParse = (src: any, meta?: any, parent_ctx?: any) => any type JsonicAPI (line 27) | interface JsonicAPI { type BnfConvertOptions (line 97) | type BnfConvertOptions = { type GrammarSetting (line 106) | type GrammarSetting = { type Jsonic (line 116) | type Jsonic = JsonicParse & // A function that parses. type Plugin (line 120) | type Plugin = (( type Options (line 129) | type Options = { type RuleSpec (line 321) | interface RuleSpec { type Rule (line 364) | interface Rule { type Context (line 418) | type Context = { type Lex (line 464) | interface Lex { type NextToken (line 490) | type NextToken = (rule: Rule) => Token type Config (line 494) | type Config = { type Point (line 700) | interface Point { type Token (line 718) | interface Token { type AltSpec (line 741) | interface AltSpec { type AltSpecish (line 772) | type AltSpecish = AltSpec | undefined | null | false | 0 | typeof NaN type ListMods (line 775) | type ListMods = { type AltMatch (line 783) | interface AltMatch { type Bag (line 798) | type Bag = { [key: string]: any } type FuncRef (line 800) | type FuncRef = `@${string}` type FuncRefMap (line 803) | type FuncRefMap = Record type Counters (line 806) | type Counters = { [key: string]: number } type Tin (line 809) | type Tin = number type TokenMap (line 812) | type TokenMap = { [name: string]: Tin } type TokenSetMap (line 815) | type TokenSetMap = { [name: string]: Tin[] } type TinMap (line 818) | type TinMap = { [ref: number]: string } type TinSetMap (line 821) | type TinSetMap = { [ref: number]: string } type MatchMap (line 824) | type MatchMap = { [name: string]: RegExp | LexMatcher } type Chars (line 827) | type Chars = { [char: string]: number } type StrMap (line 830) | type StrMap = { [name: string]: string } type RuleState (line 834) | type RuleState = 'o' | 'c' type RuleStep (line 838) | type RuleStep = 'b' | 'a' type LexMatcher (line 841) | type LexMatcher = ( type MakeLexMatcher (line 848) | type MakeLexMatcher = ( type LexCheck (line 853) | type LexCheck = ( type ParsePrepare (line 857) | type ParsePrepare = (jsonic: Jsonic, ctx: Context, meta?: any) => void type RuleSpecMap (line 859) | type RuleSpecMap = { [name: string]: RuleSpec } type RuleDefiner (line 861) | type RuleDefiner = (rs: RuleSpec, p: Parser) => void | RuleSpec type NormAltSpec (line 864) | interface NormAltSpec extends AltSpec { type AltCond (line 883) | type AltCond = type NormAltCond (line 887) | type NormAltCond = type AltModifier (line 892) | type AltModifier = ( type AltAction (line 900) | type AltAction = (rule: Rule, ctx: Context, alt: AltMatch) => any type AltNext (line 903) | type AltNext = ( type AltBack (line 910) | type AltBack = ( type StateAction (line 918) | type StateAction = ( type AltError (line 927) | type AltError = ( type ValModifier (line 933) | type ValModifier = ( type LexSub (line 940) | type LexSub = (tkn: Token, rule: Rule, ctx: Context) => void type RuleSub (line 941) | type RuleSub = (rule: Rule, ctx: Context) => void type Parser (line 943) | interface Parser { type GrammarSpec (line 961) | type GrammarSpec = { type GrammarAltSpec (line 985) | type GrammarAltSpec = { FILE: src/utility.ts function configure (line 113) | function configure( function tokenize (line 470) | function tokenize< function findTokenSet (line 492) | function findTokenSet< function mesc (line 503) | function mesc(s: string, _?: any) { function regexp (line 509) | function regexp( function escre (line 526) | function escre(s: string | undefined) { function deep (line 540) | function deep(base?: any, ...rest: any): any { function badlex (line 578) | function badlex(lex: Lex, BD: Tin, ctx: Context) { function makelog (line 607) | function makelog(ctx: Context, meta: any) { function srcfmt (line 637) | function srcfmt(config: Config): (s: any) => string { function str (line 666) | function str(o: any, len: number = 44) { function snip (line 676) | function snip(s: any, len: number = 5) { function clone (line 682) | function clone(class_instance: any) { function charset (line 690) | function charset(...parts: (string | object | boolean | undefined)[]): C... function clean (line 702) | function clean(o: T): T { function filterRules (line 712) | function filterRules(rs: RuleSpec, cfg: Config) { function prop (line 748) | function prop(obj: any, path: string, val?: any): any { function modlist (line 783) | function modlist(list: any[], mods?: ListMods) { function parserwrap (line 829) | function parserwrap(parser: any) { function getpath (line 921) | function getpath(root: any, path: string | string[]): any { function resolveFuncRefs (line 933) | function resolveFuncRefs( FILE: test/aa-wildcard.test.js function make_norules (line 23) | function make_norules(opts) { FILE: test/alignment.test.js function deepEqual (line 18) | function deepEqual(actual, expected, msg) { function tsvTest (line 24) | function tsvTest(name, parser) { function tsvErrorTest (line 34) | function tsvErrorTest(name, parser) { function tsvNullTest (line 48) | function tsvNullTest(name) { FILE: test/bnf.test.js constant FIXTURES (line 19) | const FIXTURES = Path.join(__dirname, 'grammar') function loadFixture (line 21) | function loadFixture(name) { function stripActions (line 28) | function stripActions(alt) { function makeConsole (line 1027) | function makeConsole() { FILE: test/cli.test.js function make_cn (line 204) | function make_cn() { FILE: test/comma.test.js function tsvTest (line 10) | function tsvTest(name) { FILE: test/csv-grammar.test.js function makeCsv (line 14) | function makeCsv() { FILE: test/custom.test.js function Car (line 482) | function Car() { function make_norules (line 759) | function make_norules(opts) { FILE: test/directive-grammar.test.js function defineDirective (line 16) | function defineDirective(j, { name, open, action }) { function makeJ (line 32) | function makeJ() { FILE: test/doc.test.js function sepper (line 112) | function sepper(jsonic) { function foo (line 122) | function foo(jsonic) { function bar (line 127) | function bar(jsonic) { FILE: test/exhaust.js function exhaust (line 14) | function exhaust(size, print) { function make_strgen (line 112) | function make_strgen(size, max, init) { FILE: test/feature.test.js function tsvTest (line 18) | function tsvTest(name) { function tsvTestWith (line 30) | function tsvTestWith(name, opts) { function tsvTestListChild (line 43) | function tsvTestListChild(name, opts) { function match (line 1248) | function match(src, pat, ctx) { FILE: test/first-version-perf.js function pv_perf (line 6) | function pv_perf(dur) { FILE: test/first-version.test.js function tsvTest (line 13) | function tsvTest(name) { FILE: test/grammar.test.js function altGTags (line 928) | function altGTags(j, rulename, state) { FILE: test/jsonic.test.js function tsvTest (line 26) | function tsvTest(name) { function make_empty (line 435) | function make_empty(opts) { FILE: test/large.js function large (line 14) | function large(size, print) { FILE: test/lex.test.js function lexall (line 12) | function lexall(src) { function alleq (line 22) | function alleq(ta) { function lexstart (line 29) | function lexstart(src) { function st (line 535) | function st(tkn) { FILE: test/long.js function run (line 32) | function run(print, size, step) { function long (line 68) | function long(print, str, count, lencheck) { FILE: test/nlookahead.test.js function make_norules (line 12) | function make_norules(opts) { FILE: test/perf.js function run_parse (line 38) | function run_parse() { function count_parse (line 59) | function count_parse(input) { FILE: test/plugin.test.js function make_token_plugin (line 338) | function make_token_plugin(char, val) { FILE: test/prep.ts function prep (line 4) | function prep() { return null } FILE: test/readme.test.js function deq (line 10) | function deq(actual, expected, msg) { function myPlugin (line 119) | function myPlugin(jsonic, options) { FILE: test/rewind.test.js function make_norules (line 17) | function make_norules(opts) { FILE: test/rfc3986.test.js constant GRAMMAR (line 35) | const GRAMMAR = Fs.readFileSync( FILE: test/utility.js function unescape (line 4) | function unescape(str) { function loadTSV (line 13) | function loadTSV(name) {