{"id":22201878,"url":"https://github.com/jimmycuadra/extractor","last_synced_at":"2025-07-27T04:31:09.747Z","repository":{"id":1670951,"uuid":"2397825","full_name":"jimmycuadra/extractor","owner":"jimmycuadra","description":"A JavaScript library for managing the global namespace.","archived":false,"fork":false,"pushed_at":"2011-10-31T02:20:24.000Z","size":1580,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-09T16:26:19.570Z","etag":null,"topics":["coffeescript","javascript","library"],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jimmycuadra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-09-16T07:02:51.000Z","updated_at":"2024-04-09T16:26:19.571Z","dependencies_parsed_at":"2022-09-07T03:21:20.494Z","dependency_job_id":null,"html_url":"https://github.com/jimmycuadra/extractor","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/jimmycuadra%2Fextractor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimmycuadra%2Fextractor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimmycuadra%2Fextractor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jimmycuadra%2Fextractor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jimmycuadra","download_url":"https://codeload.github.com/jimmycuadra/extractor/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227760018,"owners_count":17815626,"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":["coffeescript","javascript","library"],"created_at":"2024-12-02T16:11:24.033Z","updated_at":"2024-12-02T16:11:24.621Z","avatar_url":"https://github.com/jimmycuadra.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Extractor.js\n\n**Extractor** is a tiny JavaScript library for managing variables in the global namespace. Instead of attaching themselves to the global object, libraries may register with Extractor. Developers can then retrieve registered libraries from Extractor and assign them to a variable of their choice. It achieves an effect similar to jQuery's `noConflict` function with CommonJS terminology.\n\n## Usage\n\nFor library authors:\n\n```javascript\n// Assuming Extractor.js has been included\n\n(function () {\n  var MyLibrary = {\n    foo: \"bar\"\n  };\n\n  Extractor.exports(\"MyLibrary\", MyLibrary);\n})();\n```\n\nFor developers:\n\n### Extracting a library\n\n```javascript\nvar FooBar = Extractor.require(\"MyLibrary\");\n```\n\n### Extracting a single property/function from a library\n\n```javascript\nvar barify = Extractor.extract(\"MyLibrary\").fooify;\n```\n\nThis allows developers to extract any module (or any property of a module) into a variable with a name of their choosing.\n\n### Listing registered modules\n\nTo get an alphabetical list of the names of all modules registered with Extractor, call `Extractor.listModules()`.\n\n### Resetting Extractor's registry\n\nIf, for some reason, you need to programmatically reset Extractor's registry, call `Extractor.reset()` to clear all registered modules.\n\n## Development\n\nTo work on Extractor or to run the included Jasmine specs, you must have Node and NPM installed. Clone the repository and run `npm install` inside the directory to install the Node dependencies. You should also install CoffeeScript globally with `npm install coffee-script -g` to get command line access to the Cake tasks. Run `cake` for a list of available tasks.\n\n## License\n\nExtractor is available under the MIT license. See the included `LICENSE`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimmycuadra%2Fextractor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjimmycuadra%2Fextractor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjimmycuadra%2Fextractor/lists"}