mirror of
https://github.com/bitwarden/browser
synced 2025-12-23 19:53:43 +00:00
* feat: implement Rc * feat: use Rc in sdk service * docs: add an example to `take()` * fix: clarify function doc * Add custom eslint rule package with enforced `using` rule (#13009) * feat: add custom eslint rule * feat: check for `UsingRequired` instead of hardcoding `Rc` * chore: move package to libs * wip: add tests. Tests work when run from same folder but not from root * fix: add dependencies to renovate * fix: add empty ts file to avoid typechecking throwing errors * fix: tests not running from root * chore: remove unecessary config * fix: linting * docs: add readme * chore: add platform ownership * chore: clean up comment * Add support for flat config to "Improved sdk referencing" (#13054) * WIP flat config for eslint * Add rxjs * Configure vscode to use flat config * Fix some new linting errors * Remove directory overrides of .eslintrc * Remove explicit dependencies on typescript-eslint/ and @angular-eslint/ * Add missing rules * Add rxjs recommended rules * Add storybook and enabled rxjs-angular rule * Add buildNoRestrictedImports helper * Ignore platform import restrictions * Remove unused ignores * feat: migrate rules over to .mjs and flat config * feat: implement support for .mjs tests * chore: remove old package approach * chore: update package-lock * fix: add empty TS file to stop errors * chore: clean up comments --------- Co-authored-by: Hinton <hinton@users.noreply.github.com> * fix: update CODEOWNERS to match folder name * fix: renovate.json after merge * fix: package.json, pin versions, sort order * fix: update package-lock.json --------- Co-authored-by: Hinton <hinton@users.noreply.github.com>
12 lines
442 B
TypeScript
12 lines
442 B
TypeScript
export type Disposable = { [Symbol.dispose]: () => void };
|
|
|
|
/**
|
|
* Types implementing this type must be used together with the `using` keyword
|
|
*
|
|
* @example using ref = rc.take();
|
|
*/
|
|
// We want to use `interface` here because it creates a separate type.
|
|
// Type aliasing would not expose `UsingRequired` to the linter.
|
|
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
export interface UsingRequired extends Disposable {}
|