Skip to content

Latest commit

 

History

History

types

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

@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.