module uim.html.helpers; import uim.html; auto pagesByNames(DH5AppPage[] pages, string[] names...) { return pagesByNames(pages, names); } unittest { /* assert(H5App.pages("test", "testcontent").pages.pageByName("test").name == "test"); assert(H5App.pages("test", "testcontent").pages("test2", "testcontent").pages.pageByName("test").name == "test"); */} // Get pages by names auto pagesByNames(DH5AppPage[] pages, string[] names) { DH5AppPage[] results; foreach(name; names) if (auto page = pageByName(pages, name)) results ~= page; return results; } unittest { /* assert(H5App.pages("test", "testcontent").pages.pageByName("test").name == "test"); assert(H5App.pages("test", "testcontent").pages("test2", "testcontent").pages.pageByName("test").name == "test"); */ } auto pagesByNames(DH5AppPage[string] pages, string[] names...) { return pagesByNames(pages, names); } // Get pages by names auto pagesByNames(DH5AppPage[string] pages, string[] names) { DH5AppPage[] results; foreach(name; names) if (auto page = pageByName(pages, name)) results ~= page; return results; } unittest { /* assert(H5App.pages("test", "testcontent").pages.pageByName("test").name == "test"); assert(H5App.pages("test", "testcontent").pages("test2", "testcontent").pages.pageByName("test").name == "test"); */ } // Get page by name auto pageByName(DH5AppPage[] pages, string name) { foreach(page; pages) if (page.name == name) return page; return null; } unittest { /* assert(H5App.pages("test", "testcontent").pages.pageByName("test").name == "test"); assert(H5App.pages("test", "testcontent").pages("test2", "testcontent").pages.pageByName("test").name == "test"); */ } // Get page by name auto pageByName(DH5AppPage[string] pages, string name) { foreach(route, page; pages) if (page.name == name) return page; return null; } unittest { /* assert(H5App.pages("test", "testcontent").pages.pageByName("test").name == "test"); assert(H5App.pages("test", "testcontent").pages("test2", "testcontent").pages.pageByName("test").name == "test"); */}