{"id":27103305,"url":"https://github.com/abstractn/abs-inject","last_synced_at":"2025-07-13T08:40:32.304Z","repository":{"id":243250637,"uuid":"811910728","full_name":"Abstractn/abs-inject","owner":"Abstractn","description":null,"archived":false,"fork":false,"pushed_at":"2025-04-01T08:44:30.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T16:54:22.799Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/Abstractn.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-07T14:45:13.000Z","updated_at":"2025-04-01T08:44:34.000Z","dependencies_parsed_at":"2024-06-07T16:17:43.236Z","dependency_job_id":"fac04614-0e0b-46b7-a7f2-2e158ac277d6","html_url":"https://github.com/Abstractn/abs-inject","commit_stats":null,"previous_names":["abstractn/abs-inject"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Abstractn/abs-inject","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstractn%2Fabs-inject","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstractn%2Fabs-inject/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstractn%2Fabs-inject/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstractn%2Fabs-inject/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abstractn","download_url":"https://codeload.github.com/Abstractn/abs-inject/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abstractn%2Fabs-inject/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265111549,"owners_count":23713061,"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":"2025-04-06T16:52:51.010Z","updated_at":"2025-07-13T08:40:32.263Z","avatar_url":"https://github.com/Abstractn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Abs-NJX (Abs-Inject)\n\n## Introduction:\n\nThe Inject module is not a node package and is intended to be used as a utility resource for userscripts.\nThis module defines a few useful methods specifically for the context of writing userscripts and exposes a quick-to-set-up class for generating a floating menu on page with multiple buttons for easy access to your custom injected functionalities.\n\n\n## Import:\n\nDepending on what browser extension you're using the process of loading an external resource may vary (or may not even be possible) but what you need is just the direct url to the Javascript file from this repository.\n\nSimply use Github's raw url to obtain the direct file url.\n`https://raw.githubusercontent.com/{user}/{repository}/{branch|tag|commit}/{path}`\n\nExamples:\n\nfrom `main` branch: `https://raw.githubusercontent.com/Abstractn/abs-inject/main/abs-inject.js`\n\nfrom `1.0.0` tag: `https://raw.githubusercontent.com/Abstractn/abs-inject/1.0.0/abs-inject.js`\n\n### Tampermonkey:\nUse the `@require` header:\n\n`// @require      https://raw.githubusercontent.com/Abstractn/abs-inject/main/abs-inject.js`\n\nCheck the [official documentation](https://www.tampermonkey.net/documentation.php) for more info.\n\n\n## Methods:\n\n### `Element.waitFor(selector, callback)`\nThis method is a `querySelector` at its core but used to select nodes that don't exist yet in the page due to the nature of userscripts and how websites generate page content asynchronously from receiving HTTP responses.\n\n- `selector`: of type `string`, exactly the same value used in a `querySelector`\n- `callback`: is the function `(node: HTMLElement) =\u003e void` that will get executed as soon as the selection returns a result, will pass the same selected node via parameter\n\n\n## The Quick Menu Genetator:\n\nThis feature is not implemented yet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabstractn%2Fabs-inject","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabstractn%2Fabs-inject","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabstractn%2Fabs-inject/lists"}