{"id":19871824,"url":"https://github.com/ablestack/deferred-promise-ts","last_synced_at":"2025-10-06T01:42:08.162Z","repository":{"id":57094181,"uuid":"322555204","full_name":"ablestack/deferred-promise-ts","owner":"ablestack","description":null,"archived":false,"fork":false,"pushed_at":"2020-12-31T08:45:54.000Z","size":968,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-11T16:37:47.104Z","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/ablestack.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":"2020-12-18T09:56:26.000Z","updated_at":"2020-12-31T08:45:56.000Z","dependencies_parsed_at":"2022-08-22T21:40:52.637Z","dependency_job_id":null,"html_url":"https://github.com/ablestack/deferred-promise-ts","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ablestack%2Fdeferred-promise-ts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ablestack%2Fdeferred-promise-ts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ablestack%2Fdeferred-promise-ts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ablestack%2Fdeferred-promise-ts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ablestack","download_url":"https://codeload.github.com/ablestack/deferred-promise-ts/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241296405,"owners_count":19940034,"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-11-12T16:13:39.917Z","updated_at":"2025-10-06T01:42:03.120Z","avatar_url":"https://github.com/ablestack.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# deferred-promise-ts\n\n## Overview\n\nA tiny library, containing a strongly typed deferred-promise class, that leverages ES6 promises and implements the Promise\u003cT\u003e interface\n\n## The Problems Being Solved\n\nAllows deferred resolution of promises\n\n## Key Features\n\nA DeferredPromise class, that both satisfies the Promise interface, and also allows promise resolution to be triggered\n\n## Installation\n\n```\n    // npm\n    npm i @ablestack/deferred-promise-ts --save\n\n    // yarn\n    yarn add @ablestack/deferred-promise-ts\n```\n\n## Abridged Usage Example\n\n```TypeScript\nimport { DeferredPromise } from '@ablestack/deferred-promise-ts';\n\n// Create Promise\nconst deferredPromise = new DeferredPromise\u003cstring\u003e();\n\n// Use as you would a promise\ndeferredPromise.then((result) =\u003e console.log(result));\n\n// Trigger promise resolution\nconst deferredPromise.resolve(\"Resolved!\");\n\n```\n\n### Disclaimers\n\nThis code was initially developed for use in a single commercial project. It is being shared in case useful to others, and as a contribution to the development community and the great tools and libraries that already exist.\n\n### Refinements and Enhancements Needed\n\n- Open to suggestions and contributions\n\n## Companion Libraries\n\nThis library is part of a collection of companion tools and libraries under the [AbleStack](https://github.com/ablestack) umbrella. All of these libraries share the common goal:\n\n\u003e Helping small teams and solo-developers build big ideas rapidly and affordably\n\nTo achieve these goals, the following principles are applied:\n\n- Selectively **leverage existing open source tools and libraries**, where, high quality, open source tools and libraries where possible\n  - Curate usage examples, and guidance where available, and create where not available\n- Prioritize technology choices that **embrace open source**\n  - PostgreSQL over MSSQL is an example of this\n- **Avoid** technology choices that could result in **hosting vendor lock-in**\n  - ApolloGraphQL over AWS Amplify is an example of this\n- **Automate wherever possible**, from development, through testing, to deployment, monitoring, and maintenance\n  - Codegen from strongly types schemas is a good example of this.\n- Where needed, **develop high quality, open source tools and libraries** to augment and automate existing open source tooling and libraries\n\n## Release Notes\n\n### Notes 0.3.0\n\n- Initial beta-ready release\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fablestack%2Fdeferred-promise-ts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fablestack%2Fdeferred-promise-ts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fablestack%2Fdeferred-promise-ts/lists"}