11/* @flow */
22
3+ import { Callback , IBasicAuth , IPlugin , IStorageManager , Package } from '@verdaccio/types' ;
4+
35declare type verdaccio$StringValue = string | void | null ;
46
57declare type verdaccio$Callback = Function ;
@@ -330,6 +332,7 @@ declare interface verdaccio$Config {
330332 max_body_size ? : string ;
331333 notifications ? : verdaccio$Notifications ;
332334 middlewares ? : any ;
335+ storage_filters ? : any ;
333336 checkSecretKey ( token : string ) : string ;
334337 getMatchedPackagesSpec ( storage : string ) : verdaccio$PackageAccess | void ;
335338 [ key : string ] : any ;
@@ -380,7 +383,7 @@ declare interface verdaccio$StoragePackageActions extends verdaccio$TarballActio
380383declare interface verdaccio$IStorageManager extends verdaccio$StoragePackageActions {
381384 config: $Subtype < verdaccio$Config > ;
382385 logger: verdaccio$Logger ;
383- init ( config : $Subtype < verdaccio$Config > ) : Promise < any > ;
386+ init ( config : $Subtype < verdaccio$Config > , filters : any ) : Promise < any > ;
384387 addPackage ( name : string , metadata : any , callback : verdaccio$Callback ) : Promise < any > ;
385388 getPackage ( options : any ) : void ;
386389 search ( startkey : string , options : any ) : verdaccio$IReadTarball ;
@@ -406,6 +409,7 @@ declare interface verdaccio$IBasicAuth {
406409
407410declare interface verdaccio$IPlugin {
408411 version ?: string ;
412+ close ( ) : void ;
409413}
410414
411415declare type verdaccio$PluginOptions = {
@@ -426,6 +430,10 @@ declare interface verdaccio$IPluginMiddleware extends verdaccio$IPlugin {
426430 register_middlewares ( app : any , auth : verdaccio$IBasicAuth , storage : verdaccio$IStorageManager ) : void ;
427431}
428432
433+ declare interface verdaccio$IPluginStorageFilter extends verdaccio$IPlugin {
434+ filter_metadata ( packageInfo : verdaccio$Package , cb : verdaccio$Callback ) : void ;
435+ }
436+
429437declare module "@verdaccio/local-storage" {
430438 declare export type ILocalData = verdaccio$ILocalData ;
431439 declare export type IPluginStorage = verdaccio$ILocalData ;
@@ -470,6 +478,7 @@ declare module "@verdaccio/types" {
470478 declare export type IBasicAuth = verdaccio$IBasicAuth ;
471479 declare export type IPluginAuth = verdaccio$IPluginAuth ;
472480 declare export type IPluginMiddleware = verdaccio$IPluginMiddleware ;
481+ declare export type IPluginStorageFilter = verdaccio$IPluginStorageFilter ;
473482 declare export type PluginOptions = verdaccio$PluginOptions ;
474483 declare export type Stdout = stream$Writable | tty$WriteStream ;
475484 declare export type Stdin = stream$Readable | tty$ReadStream ;
0 commit comments