balena-cli/typings/update-notifier/index.d.ts

74 lines
1.8 KiB
TypeScript
Raw Normal View History

/**
* @license
* Copyright 2019 Balena Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// Based on the official types at:
// https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/update-notifier/index.d.ts
// but fixed to handle options correctly
declare module 'update-notifier' {
export = UpdateNotifier;
function UpdateNotifier(
settings?: UpdateNotifier.Settings,
): UpdateNotifier.UpdateNotifier;
namespace UpdateNotifier {
class UpdateNotifier {
constructor(settings?: Settings);
public update: UpdateInfo;
public check(): void;
public checkNpm(): void;
public notify(customMessage?: NotifyOptions): void;
}
interface Settings {
pkg?: Package;
callback?(update?: UpdateInfo): any;
packageName?: string;
packageVersion?: string;
updateCheckInterval?: number; // in milliseconds, default 1000 * 60 * 60 * 24 (1 day)
}
interface BoxenOptions {
padding: number;
margin: number;
align: string;
borderColor: string;
borderStyle: string;
}
interface NotifyOptions {
message?: string;
defer?: boolean;
boxenOpts?: BoxenOptions;
}
interface Package {
name: string;
version: string;
}
interface UpdateInfo {
latest: string;
current: string;
type: string;
name: string;
}
}
}