[go: up one dir, main page]

@vscode-logging/types
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

@vscode-logging/types

Types used by @vscode-logging/logger extracted to a separate package to enable in-direct dependents to type check against the correct interfaces.

For example imagine a VSCode extension called Foo which uses an npm package called Bar as a dependency and Bar APIs can accept an optional logger implementation:

// Code in `Bar` npm package
// -------------------------------------------------------

// By defining the `IChildLogger` interface` in `@vscode-logging/types`
// `Bar` only depends (dev dependency) on the interface **not** the implementation.
import { IChildLogger } from "@vscode-logging/types";

export function add(lhs: number, rhs: number, logger: IChildLogger): number {
  logger.info("Entering <add> function with params:", { lhs: lhs, rhs: rhs });
  return lhs + rhs;
}

Installation

With npm:

  • npm install @vscode-logging/types --save-dev

With Yarn:

  • yarn add @vscode-logging/types --dev

Usage

As shown above, simply import the IChildLogger interface and use it to define the type of your injected logger implementation.

Support

Please open issues on github.

Contributing

See CONTRIBUTING.md.

License

Copyright (c) 2021 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file.

Readme

Keywords

Package Sidebar

Install

npm i @vscode-logging/types

Weekly Downloads

185,893

Version

2.0.0

License

Apache-2.0

Unpacked Size

28.3 kB

Total Files

7

Last publish

Collaborators

  • rima.sirich
  • oss_rima_bot
  • shahars