{"id":18074161,"url":"https://github.com/bytespider/javascript-a-week","last_synced_at":"2025-04-05T18:41:54.066Z","repository":{"id":1671212,"uuid":"2398093","full_name":"bytespider/Javascript-a-Week","owner":"bytespider","description":"Just a collection of useful scripts, a new one every week.","archived":false,"fork":false,"pushed_at":"2011-09-23T08:58:22.000Z","size":116,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T15:59:34.660Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bytespider.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-09-16T08:21:51.000Z","updated_at":"2014-03-01T03:11:43.000Z","dependencies_parsed_at":"2022-09-07T01:52:34.755Z","dependency_job_id":null,"html_url":"https://github.com/bytespider/Javascript-a-Week","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytespider%2FJavascript-a-Week","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytespider%2FJavascript-a-Week/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytespider%2FJavascript-a-Week/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bytespider%2FJavascript-a-Week/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bytespider","download_url":"https://codeload.github.com/bytespider/Javascript-a-Week/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247385457,"owners_count":20930594,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-31T10:11:30.064Z","updated_at":"2025-04-05T18:41:54.048Z","avatar_url":"https://github.com/bytespider.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"#Javascript a Week#\nJavascript a Week is a project to improve my javasript knowledge, and provide a\nuseful set of javascript for novices of the language.\n\nFeel free to fork the scripts, improve them and comment on how else something\ncould be done. Help others to learn by example.\n\nIf you have any ideas of things I could code each week then drop me an email.\n[rob@bytespider.eu](mailto:rob@bytespider.eu)\n\n##Week One - URL Parse##\nURL Parse \"does what it says\". It parses URLs. The things to learn here is that\nit was written with mind that it may be useful outside of a browser, becauase\nwhilst there are tricks that will be far more efficient, if you don't have a\nDOM around you can't use them.\n\nShould work on Node.JS and CommonJS platforms, but try it in other environments.\n\nNotice how an IIFE ([Immediately Invoked Function Expression](http://benalman.com/news/2010/11/immediately-invoked-function-expression/)) is\nused too protect the global scope from our code, this way only the variables we\nexplicitly intend to be global will become global.\nThis is in general a good practice for all code. As you can see in this example\nwe assign a JsWeekly namespace to the global scope and then put our methods onto\nthat. This way we can be sure we don't mess up anything that was already there\nand working.\n\n##Week Two##\nThis week is a collection of validators.\n\nAgain they are platform agnostic and limit their footprint on the global scope.\n\nHere we demonstrate that by using nested namespaces we can add more methods to\nour object in any order, much like a plugin system. Each of the validators can be\nuse alone, or together for a complete validation package.\n\nDemonstrates that using a testing tool like QUnit can help you make sure that\nyour code always works.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytespider%2Fjavascript-a-week","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbytespider%2Fjavascript-a-week","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbytespider%2Fjavascript-a-week/lists"}