diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js index c3c5b54..a102e07 100644 --- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js +++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js @@ -69,7 +69,7 @@ , visualizer = function ( submitted, override ) { - var id, stage = this.stage; + var id, title, stage = this.stage; if( override ) { diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js index 9dfdfee..ed65f70 100644 --- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js +++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js @@ -103,8 +103,7 @@ /* @type override {_AstXObject_.AstroEdit.Visualizer.Snippet.Code.Override} */ , visualizer = function( submitted, override ) { - var lang, code, inline - , stage = this.stage; + var lang, code, inline, stage = this && this.stage; if( override ) { diff --git a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js index 19bcb34..d6c61ae 100644 --- a/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js +++ b/botanjs/src/Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js @@ -181,7 +181,7 @@ , visualizer = function ( submitted, override ) { - var hash, _obj, stage = this.stage; + var hash, preferred, _obj, stage = this.stage; if( override ) { diff --git a/botanjs/src/Components/MessageBox.js b/botanjs/src/Components/MessageBox.js index d690063..1e533ee 100644 --- a/botanjs/src/Components/MessageBox.js +++ b/botanjs/src/Components/MessageBox.js @@ -26,6 +26,7 @@ var keyBinding = new EventKey( "KeyDown", function ( e ) { + var code; e = e || window.event; if ( e.keyCode ) code = e.keyCode; else if ( e.which ) code = e.which; diff --git a/botanjs/src/externs/_AstConf_.AstroEdit.js b/botanjs/src/externs/_AstConf_.AstroEdit.js index 447d9bf..e167e98 100644 --- a/botanjs/src/externs/_AstConf_.AstroEdit.js +++ b/botanjs/src/externs/_AstConf_.AstroEdit.js @@ -22,7 +22,7 @@ _AstConf_.AstroEdit.paths = {}; /** @type {object} */ _AstConf_.AstroEdit.sections; -/** @type {object} */ +/** @type {!Object} */ _AstConf_.AstroEdit.flags = {}; /** @type {string} */ _AstConf_.AstroEdit.flags.URICount; diff --git a/resolver-go/internal/generated/buildinfo_gen.go b/resolver-go/internal/generated/buildinfo_gen.go index fc6b5e0..1d2e564 100644 --- a/resolver-go/internal/generated/buildinfo_gen.go +++ b/resolver-go/internal/generated/buildinfo_gen.go @@ -2,5 +2,5 @@ package generated const ( IMAGE_TAG = "dev" - Timestamp = "20260612.044857" + Timestamp = "20260613.014630" ) diff --git a/resolver-go/internal/generated/classmap_gen.go b/resolver-go/internal/generated/classmap_gen.go index d905088..88159d7 100644 --- a/resolver-go/internal/generated/classmap_gen.go +++ b/resolver-go/internal/generated/classmap_gen.go @@ -23,8 +23,8 @@ var ClassMap = &classmap.Map{ "Astro.Blog.AstroEdit.Visualizer.Snippet": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer", Imports: []string(nil), Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/_this.js", JSHash: "38f5d8512eabf1ffb4249b1414efd2362af8dc5c", CSSHash: "1"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.AcquireLib": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.AcquireLib", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "2d9450e8551d6cf33aba8c6277b3b657dd8f88b7", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleContent": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleContent", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "9b7b814b643d47b760d4ebd8bdfc245b68f29c18", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"}}, - "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "c5fb71721e8edb7be31181ccefbee12b83ce08ff", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"}}, - "Astro.Blog.AstroEdit.Visualizer.Snippet.Code": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Code", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "4862ea23df220145aaf8b9914554f3feb0d2a67d", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}}, + "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.ArticleLink", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.postData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "8d1fc537add5e0572f7cb971819de2a9073c0533", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"}}, + "Astro.Blog.AstroEdit.Visualizer.Snippet.Code": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Code", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "06bdde157c5abefe6580ba768435acdda930b44b", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Footnote": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Footnote", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js", JSHash: "e0e3593457533a3d4c27a1abcc172c2a21427775", CSSHash: "e3b173a7579b3897bb98226cd52a56534f75ca15"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Heading": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Heading", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js", JSHash: "7021e1443f4e3bf6a505fbd1a7dd40f84e871bc0", CSSHash: "1"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Html": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Html", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js", JSHash: "ebe3b346c9b59026b6b85e100b8e987d80ba28c1", CSSHash: "1"}}, @@ -32,7 +32,7 @@ var ClassMap = &classmap.Map{ "Astro.Blog.AstroEdit.Visualizer.Snippet.Link": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Link", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Link.js", JSHash: "cefacf44112324620e1eeb7a659a791a9d22426a", CSSHash: "963bca1730a62b372e667b0a3f888aeef5504968"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Meta": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Meta", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Meta.js", JSHash: "e4de1e58e9a40e94e9304abf7edf5926a74e8fed", CSSHash: "43e6cf20a8590ff0a820fed9ae53399edfb53ac4"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.RespH": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.RespH", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/RespH.js", JSHash: "baa3f89f1c369b0c85ad827153ee2e510bf2598a", CSSHash: "60ee66e1f25468b808af731338d2f10c9e74d8fe"}}, - "Astro.Blog.AstroEdit.Visualizer.Snippet.SiteFile": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.SiteFile", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "System.Cycle.Trigger", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.getData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js", JSHash: "a503d87b94573aee5570800cf6dd35056d370c19", CSSHash: "47a59715388ff5f8abe4eb4e7e6000bf92de77b2"}}, + "Astro.Blog.AstroEdit.Visualizer.Snippet.SiteFile": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.SiteFile", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.Config", "System.utils.Perf", "System.Cycle.Trigger", "Astro.utils.Date", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "System.Net.getData"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js", JSHash: "5c35958f82cfe78e50b4daff3ddad59f39d49cb0", CSSHash: "47a59715388ff5f8abe4eb4e7e6000bf92de77b2"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Sound": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Sound", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Sound.js", JSHash: "28242ff124de631ac76a6bb59c507f98727fafc8", CSSHash: "1"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Spoiler": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Spoiler", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "Astro.Blog.AstroEdit.Visualizer.Snippet.compileProp", "Astro.Blog.AstroEdit.Visualizer.Snippet.escapeStr", "Astro.Blog.AstroEdit.Visualizer.Snippet.unescapeStr"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Spoiler.js", JSHash: "c1fb99bebb735e8941ebb4e4734c2d3ed41f892c", CSSHash: "1"}}, "Astro.Blog.AstroEdit.Visualizer.Snippet.Video": {Name: "Astro.Blog.AstroEdit.Visualizer.Snippet.Video", Kind: "class", Parent: "Astro.Blog.AstroEdit.Visualizer.Snippet", Imports: []string{"System.utils.IKey", "System.utils.DataKey", "Dandelion.IDOMElement", "Dandelion", "Components.MessageBox", "System.Net.getData", "Dandelion.StaticRes.BLANK_IMG"}, Resource: classmap.Resource{Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js", JSHash: "8b288548013b04bd869e669fa52d6e2ef155d2be", CSSHash: "ff1d4ae903c244a6aeaf78b12c375f1f45dfb3c2"}}, @@ -119,7 +119,7 @@ var ClassMap = &classmap.Map{ "Components": {Name: "Components", Kind: "class", Parent: "", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/_this.js", JSHash: "f4cb7babe62a5cdae34d2c4ebcb55071e81da4ff", CSSHash: "1"}}, "Components.Console": {Name: "Components.Console", Kind: "class", Parent: "Components", Imports: []string{"System.utils.Perf", "System.Cycle", "System.Cycle.TICK", "System.Global", "System.Log", "System.Debug", "Dandelion", "Dandelion.IDOMElement", "Components.DockPanel"}, Resource: classmap.Resource{Src: "Components/Console.js", JSHash: "348c0ff1762c0a00ed813e3419f17ed695399ec3", CSSHash: "452f4a36e8fd7321c7d177a311047c8b71165e48"}}, "Components.DockPanel": {Name: "Components.DockPanel", Kind: "class", Parent: "Components", Imports: []string{"System.Cycle", "System.utils.DataKey", "Dandelion", "Dandelion.IDOMElement"}, Resource: classmap.Resource{Src: "Components/DockPanel.js", JSHash: "b11318868cba7e297dd61b66abfc038b27a4f6d8", CSSHash: "af0d91982c764ee62c46b243be68c08f2808e82b"}}, - "Components.MessageBox": {Name: "Components.MessageBox", Kind: "class", Parent: "Components", Imports: []string{"System.Cycle.Trigger", "Dandelion", "Dandelion.IDOMObject", "System.utils.EventKey", "Dandelion.CSSAnimations"}, Resource: classmap.Resource{Src: "Components/MessageBox.js", JSHash: "c9950277a095d74885d188a518e5c0de09679091", CSSHash: "5571fa4c2e1324dcf1f2e18df8b6105cf37dfc53"}}, + "Components.MessageBox": {Name: "Components.MessageBox", Kind: "class", Parent: "Components", Imports: []string{"System.Cycle.Trigger", "Dandelion", "Dandelion.IDOMObject", "System.utils.EventKey", "Dandelion.CSSAnimations"}, Resource: classmap.Resource{Src: "Components/MessageBox.js", JSHash: "63c831ec6493912492780009a76997d7bc59cad4", CSSHash: "5571fa4c2e1324dcf1f2e18df8b6105cf37dfc53"}}, "Components.Mouse": {Name: "Components.Mouse", Kind: "class", Parent: "Components", Imports: []string(nil), Resource: classmap.Resource{Src: "Components/Mouse/_this.js", JSHash: "9ec5ced53a20ea1d057e2142668e27e5df7d49f6", CSSHash: "1"}}, "Components.Mouse.Clipboard": {Name: "Components.Mouse.Clipboard", Kind: "class", Parent: "Components.Mouse", Imports: []string{"System.Global", "System.Debug", "System.utils.Perf", "System.Cycle", "Dandelion.IDOMElement", "Dandelion"}, Resource: classmap.Resource{Src: "Components/Mouse/Clipboard.js", JSHash: "742b2522cd0d5dad897d5c3afa2d568494661912", CSSHash: "1b7f85206ce1560ed23d3b270e093022e25d2e61"}}, "Components.Mouse.Clipboard.capture": {Name: "Components.Mouse.Clipboard.capture", Kind: "method", Parent: "Components.Mouse.Clipboard", Imports: []string(nil), Resource: classmap.Resource{Src: "", JSHash: "", CSSHash: ""}}, @@ -326,8 +326,8 @@ var ClassMap = &classmap.Map{ "Astro/Blog/AstroEdit/Uploader.js": {Src: "Astro/Blog/AstroEdit/Uploader.js", JSHash: "bb696230f4ae9785fc482b761f97afd88a1fe993", CSSHash: "1"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/AcquireLib.js", JSHash: "2d9450e8551d6cf33aba8c6277b3b657dd8f88b7", CSSHash: "e3860ca0ac69a86e948b811da1ebf6ba85fad57f"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleContent.js", JSHash: "9b7b814b643d47b760d4ebd8bdfc245b68f29c18", CSSHash: "e1cfcf676ebfc3a9ab80139ab2f7e63a2a1b286f"}, - "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "c5fb71721e8edb7be31181ccefbee12b83ce08ff", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"}, - "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "4862ea23df220145aaf8b9914554f3feb0d2a67d", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}, + "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/ArticleLink.js", JSHash: "8d1fc537add5e0572f7cb971819de2a9073c0533", CSSHash: "2d71bce1fa868564d9dac50db338ef7eeed16fd9"}, + "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Code.js", JSHash: "06bdde157c5abefe6580ba768435acdda930b44b", CSSHash: "1963e8b907d049ab7228c4cccf5e34206dca2f6c"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Footnote.js", JSHash: "e0e3593457533a3d4c27a1abcc172c2a21427775", CSSHash: "e3b173a7579b3897bb98226cd52a56534f75ca15"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Heading.js", JSHash: "7021e1443f4e3bf6a505fbd1a7dd40f84e871bc0", CSSHash: "1"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Html.js", JSHash: "ebe3b346c9b59026b6b85e100b8e987d80ba28c1", CSSHash: "1"}, @@ -335,7 +335,7 @@ var ClassMap = &classmap.Map{ "Astro/Blog/AstroEdit/Visualizer/Snippet/Link.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Link.js", JSHash: "cefacf44112324620e1eeb7a659a791a9d22426a", CSSHash: "963bca1730a62b372e667b0a3f888aeef5504968"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Meta.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Meta.js", JSHash: "e4de1e58e9a40e94e9304abf7edf5926a74e8fed", CSSHash: "43e6cf20a8590ff0a820fed9ae53399edfb53ac4"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/RespH.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/RespH.js", JSHash: "baa3f89f1c369b0c85ad827153ee2e510bf2598a", CSSHash: "60ee66e1f25468b808af731338d2f10c9e74d8fe"}, - "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js", JSHash: "a503d87b94573aee5570800cf6dd35056d370c19", CSSHash: "47a59715388ff5f8abe4eb4e7e6000bf92de77b2"}, + "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/SiteFile.js", JSHash: "5c35958f82cfe78e50b4daff3ddad59f39d49cb0", CSSHash: "47a59715388ff5f8abe4eb4e7e6000bf92de77b2"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Sound.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Sound.js", JSHash: "28242ff124de631ac76a6bb59c507f98727fafc8", CSSHash: "1"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Spoiler.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Spoiler.js", JSHash: "c1fb99bebb735e8941ebb4e4734c2d3ed41f892c", CSSHash: "1"}, "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js": {Src: "Astro/Blog/AstroEdit/Visualizer/Snippet/Video.js", JSHash: "8b288548013b04bd869e669fa52d6e2ef155d2be", CSSHash: "ff1d4ae903c244a6aeaf78b12c375f1f45dfb3c2"}, @@ -395,7 +395,7 @@ var ClassMap = &classmap.Map{ "Astro/utils/_this.js": {Src: "Astro/utils/_this.js", JSHash: "21e99449ec5c1a4b6d25164db9434132aeea5ad3", CSSHash: "1"}, "Components/Console.js": {Src: "Components/Console.js", JSHash: "348c0ff1762c0a00ed813e3419f17ed695399ec3", CSSHash: "452f4a36e8fd7321c7d177a311047c8b71165e48"}, "Components/DockPanel.js": {Src: "Components/DockPanel.js", JSHash: "b11318868cba7e297dd61b66abfc038b27a4f6d8", CSSHash: "af0d91982c764ee62c46b243be68c08f2808e82b"}, - "Components/MessageBox.js": {Src: "Components/MessageBox.js", JSHash: "c9950277a095d74885d188a518e5c0de09679091", CSSHash: "5571fa4c2e1324dcf1f2e18df8b6105cf37dfc53"}, + "Components/MessageBox.js": {Src: "Components/MessageBox.js", JSHash: "63c831ec6493912492780009a76997d7bc59cad4", CSSHash: "5571fa4c2e1324dcf1f2e18df8b6105cf37dfc53"}, "Components/Mouse/Clipboard.js": {Src: "Components/Mouse/Clipboard.js", JSHash: "742b2522cd0d5dad897d5c3afa2d568494661912", CSSHash: "1b7f85206ce1560ed23d3b270e093022e25d2e61"}, "Components/Mouse/ContextMenu.js": {Src: "Components/Mouse/ContextMenu.js", JSHash: "5f060fc046686fc71ec1a6c0742407fc902387c5", CSSHash: "d5a5f1a4a0db9a440b9a070f9879beaddffbd99a"}, "Components/Mouse/_this.js": {Src: "Components/Mouse/_this.js", JSHash: "9ec5ced53a20ea1d057e2142668e27e5df7d49f6", CSSHash: "1"}, diff --git a/resolver-go/internal/resolver/resolver.go b/resolver-go/internal/resolver/resolver.go index 4d6e653..4815ddc 100644 --- a/resolver-go/internal/resolver/resolver.go +++ b/resolver-go/internal/resolver/resolver.go @@ -113,52 +113,77 @@ func (r *Resolver) ResolveRequest(code string, mode OutputMode, excludes []strin func (r *Resolver) ResolveSymbol(name string) ([]classmap.Symbol, error) { seen := map[string]bool{} var out []classmap.Symbol - if strings.HasSuffix(name, ".*") { - prefix := strings.TrimSuffix(name, "*") - var keys []string - for k, s := range r.Map.Symbols { - if strings.HasPrefix(k, prefix) && s.Kind == classmap.KindClass && k != strings.TrimSuffix(prefix, ".") { - keys = append(keys, k) - } - } - if len(keys) == 0 { - return nil, fmt.Errorf("namespace does not exist or contains no classes: %s", name) - } - sort.Strings(keys) - for _, k := range keys { - if err := r.resolveOne(k, seen, &out); err != nil { - return nil, err - } - } - return out, nil - } - if err := r.resolveOne(name, seen, &out); err != nil { + + if err := r.resolveImport(name, seen, &out); err != nil { return nil, err } + return out, nil } +func (r *Resolver) resolveImport(name string, seen map[string]bool, out *[]classmap.Symbol) error { + if strings.HasSuffix(name, ".*") { + return r.resolveWildcard(name, seen, out) + } + + return r.resolveOne(name, seen, out) +} + +func (r *Resolver) resolveWildcard(name string, seen map[string]bool, out *[]classmap.Symbol) error { + prefix := strings.TrimSuffix(name, "*") + namespace := strings.TrimSuffix(prefix, ".") + + var keys []string + for k, s := range r.Map.Symbols { + if strings.HasPrefix(k, prefix) && + s.Kind == classmap.KindClass && + k != namespace { + keys = append(keys, k) + } + } + + if len(keys) == 0 { + return fmt.Errorf("namespace does not exist or contains no classes: %s", name) + } + + sort.Strings(keys) + + for _, k := range keys { + if err := r.resolveOne(k, seen, out); err != nil { + return err + } + } + + return nil +} + func (r *Resolver) resolveOne(name string, seen map[string]bool, out *[]classmap.Symbol) error { if seen[name] { return nil } + sym, ok := r.Map.Symbols[name] if !ok { return fmt.Errorf("no such class: %s", name) } + seen[name] = true + imports := sym.Imports + // Old resolver uses parent imports when the found node is prop/method. if sym.Kind != classmap.KindClass && sym.Parent != "" { if p, ok := r.Map.Symbols[sym.Parent]; ok { imports = p.Imports } } + for _, imp := range imports { - if err := r.resolveOne(imp, seen, out); err != nil { + if err := r.resolveImport(imp, seen, out); err != nil { return err } } + *out = append(*out, sym) return nil } @@ -315,7 +340,7 @@ func DecodeRequest(code string) ([]string, error) { sep = "," } } - cleaner := regexp.MustCompile(`[^A-Za-z.\*\-_/ ,]`) + cleaner := regexp.MustCompile(`[^A-Za-z0-9.\*\-_/ ,]`) decoded = cleaner.ReplaceAllString(decoded, "") var fields []string for _, p := range strings.Split(decoded, sep) {