You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"benchmarks","path":"benchmarks","contentType":"directory"},{"name":"css","path":"css","contentType":"directory"},{"name":"docs","path":"docs","contentType":"directory"},{"name":"i18n","path":"i18n","contentType":"directory"},{"name":"images","path":"images","contentType":"directory"},{"name":"lib","path":"lib","contentType":"directory"},{"name":"logs","path":"logs","contentType":"directory"},{"name":"scripts","path":"scripts","contentType":"directory"},{"name":"src","path":"src","contentType":"directory"},{"name":"test","path":"test","contentType":"directory"},{"name":".editorconfig","path":".editorconfig","contentType":"file"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":".gitignore","path":".gitignore","contentType":"file"},{"name":".jscsrc","path":".jscsrc","contentType":"file"},{"name":".jshintignore","path":".jshintignore","contentType":"file"},{"name":".jshintrc","path":".jshintrc","contentType":"file"},{"name":".jshintrc-base","path":".jshintrc-base","contentType":"file"},{"name":".travis.yml","path":".travis.yml","contentType":"file"},{"name":"CHANGELOG.md","path":"CHANGELOG.md","contentType":"file"},{"name":"CONTRIBUTING.md","path":"CONTRIBUTING.md","contentType":"file"},{"name":"Gruntfile.js","path":"Gruntfile.js","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.closure.md","path":"README.closure.md","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"TRIAGING.md","path":"TRIAGING.md","contentType":"file"},{"name":"angularFiles.js","path":"angularFiles.js","contentType":"file"},{"name":"bower.json","path":"bower.json","contentType":"file"},{"name":"changelog.js","path":"changelog.js","contentType":"file"},{"name":"changelog.spec.js","path":"changelog.spec.js","contentType":"file"},{"name":"check-size.sh","path":"check-size.sh","contentType":"file"},{"name":"compare-master-to-stable.js","path":"compare-master-to-stable.js","contentType":"file"},{"name":"gdocs.js","path":"gdocs.js","contentType":"file"},{"name":"init-repo.sh","path":"init-repo.sh","contentType":"file"},{"name":"jenkins_build.sh","path":"jenkins_build.sh","contentType":"file"},{"name":"karma-docs.conf.js","path":"karma-docs.conf.js","contentType":"file"},{"name":"karma-jqlite.conf.js","path":"karma-jqlite.conf.js","contentType":"file"},{"name":"karma-jquery.conf.js","path":"karma-jquery.conf.js","contentType":"file"},{"name":"karma-modules.conf.js","path":"karma-modules.conf.js","contentType":"file"},{"name":"karma-shared.conf.js","path":"karma-shared.conf.js","contentType":"file"},{"name":"npm-shrinkwrap.clean.json","path":"npm-shrinkwrap.clean.json","contentType":"file"},{"name":"npm-shrinkwrap.json","path":"npm-shrinkwrap.json","contentType":"file"},{"name":"package.json","path":"package.json","contentType":"file"},{"name":"protractor-conf.js","path":"protractor-conf.js","contentType":"file"},{"name":"protractor-jenkins-conf.js","path":"protractor-jenkins-conf.js","contentType":"file"},{"name":"protractor-shared-conf.js","path":"protractor-shared-conf.js","contentType":"file"},{"name":"protractor-travis-conf.js","path":"protractor-travis-conf.js","contentType":"file"},{"name":"validate-commit-msg.js","path":"validate-commit-msg.js","contentType":"file"},{"name":"validate-commit-msg.spec.js","path":"validate-commit-msg.spec.js","contentType":"file"}],"totalCount":48}},"fileTreeProcessingTime":8.516121,"foldersToFetch":[],"incompleteFileTree":false,"repo":{"id":42494749,"defaultBranch":"master","name":"angular.js","ownerLogin":"magee","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2015-09-15T04:16:35.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/15180?v=4","public":true,"private":false,"isOrgOwned":false},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1625356061.14037","canEdit":false,"refType":"branch","currentOid":"19ecdb54bf85fc4e7bd3cde453aa6843f869a1ab"},"path":"README.closure.md","currentUser":null,"blob":{"rawLines":null,"stylingDirectives":null,"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/magee/angular.js/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"README.closure.md","displayUrl":"https://github.com/magee/angular.js/blob/master/README.closure.md?raw=true","headerInfo":{"blobSize":"925 Bytes","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"aa237ef","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fmagee%2Fangular.js%2Fblob%2Fmaster%2FREADME.closure.md","isCSV":false,"isRichtext":true,"toc":[{"level":1,"text":"Using AngularJS with the Closure Compiler","anchor":"using-angularjs-with-the-closure-compiler","htmlText":"Using AngularJS with the Closure Compiler"}],"lineInfo":{"truncatedLoc":"23","truncatedSloc":"18"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Markdown","languageID":222,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/magee/angular.js/blob/master/README.closure.md","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/magee/angular.js/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/magee/angular.js/raw/refs/heads/master/README.closure.md","renderImageOrRaw":false,"richText":"\u003carticle class=\"markdown-body entry-content container-lg\" itemprop=\"text\"\u003e\u003cdiv class=\"markdown-heading\" dir=\"auto\"\u003e\u003ch1 tabindex=\"-1\" class=\"heading-element\" dir=\"auto\"\u003eUsing AngularJS with the Closure Compiler\u003c/h1\u003e\u003ca id=\"user-content-using-angularjs-with-the-closure-compiler\" class=\"anchor\" aria-label=\"Permalink: Using AngularJS with the Closure Compiler\" href=\"#using-angularjs-with-the-closure-compiler\"\u003e\u003csvg class=\"octicon octicon-link\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" height=\"16\" aria-hidden=\"true\"\u003e\u003cpath d=\"m7.775 3.275 1.25-1.25a3.5 3.5 0 1 1 4.95 4.95l-2.5 2.5a3.5 3.5 0 0 1-4.95 0 .751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018 1.998 1.998 0 0 0 2.83 0l2.5-2.5a2.002 2.002 0 0 0-2.83-2.83l-1.25 1.25a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042Zm-4.69 9.64a1.998 1.998 0 0 0 2.83 0l1.25-1.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042l-1.25 1.25a3.5 3.5 0 1 1-4.95-4.95l2.5-2.5a3.5 3.5 0 0 1 4.95 0 .751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018 1.998 1.998 0 0 0-2.83 0l-2.5 2.5a1.998 1.998 0 0 0 0 2.83Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/a\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThe Closure Compiler project contains definitions for the AngularJS JavaScript\nin its \u003ccode\u003econtrib/externs\u003c/code\u003e directory.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe definitions contain externs for use with the Closure compiler (aka\nJSCompiler). Passing these files to the --externs parameter of a compiler\npass allows using type annotations for AngularJS objects. For example,\nAngular's $scope objects can be annotated as:\u003c/p\u003e\n\u003cdiv class=\"highlight highlight-source-js notranslate position-relative overflow-auto\" dir=\"auto\" data-snippet-clipboard-copy-content=\"/** @type {angular.Scope} */\nvar scope = $scope;\"\u003e\u003cpre\u003e\u003cspan class=\"pl-c\"\u003e/** \u003cspan class=\"pl-k\"\u003e@type\u003c/span\u003e {\u003cspan class=\"pl-smi\"\u003eangular.Scope\u003c/span\u003e} */\u003c/span\u003e\n\u003cspan class=\"pl-k\"\u003evar\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003escope\u003c/span\u003e \u003cspan class=\"pl-c1\"\u003e=\u003c/span\u003e \u003cspan class=\"pl-s1\"\u003e$scope\u003c/span\u003e\u003cspan class=\"pl-kos\"\u003e;\u003c/span\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003cp dir=\"auto\"\u003eThis allows JSCompiler to type check accesses to scope, give warnings about\nmissing methods or incorrect arguments, and also prevents renaming of property\naccesses with advanced compilation.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eThe externs are incomplete and maintained on an as-needed basis, but strive to\nbe correct. Externs for individual modules should be added in separate files.\u003c/p\u003e\n\u003cp dir=\"auto\"\u003eSee \u003ca href=\"https://developers.google.com/closure/compiler/\" rel=\"nofollow\"\u003ehttps://developers.google.com/closure/compiler/\u003c/a\u003e\u003c/p\u003e\n\u003c/article\u003e","renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":2,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"Using AngularJS with the Closure Compiler","kind":"section_1","ident_start":0,"ident_end":41,"extent_start":0,"extent_end":84,"fully_qualified_name":"Using AngularJS with the Closure Compiler","ident_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":0,"utf16_col":41}},"extent_utf16":{"start":{"line_number":0,"utf16_col":0},"end":{"line_number":2,"utf16_col":0}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"modelsAccessAllowed":false,"modelsRepoIntegrationEnabled":false,"csrf_tokens":{"/magee/angular.js/branches":{"post":"6RGiK_2SSIYQlZwg92ot5ccOC2iynIecJReDKkGuJuu-8ItZJsndzAPS4BahgzkB4Sz82Vzk8tQNG8jwrzUhhw"},"/repos/preferences":{"post":"_Mymhrx6RKm8ZkUPUUwFpq9rg0xCRpYUsEO2XRGqzRayYuUAay27rO7j9QX92oz8vdCjLzXQIS6j3rdxzhyogQ"}}},"title":"angular.js/README.closure.md at master · magee/angular.js","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-263cab1760dd.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-1b17b3e7786a.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"react_blob_overlay":false,"accessible_code_button":true}}}