github.com/zntrio/harp/v2@v2.0.9/pkg/bundle/fs/file_info.go (about)

     1  // Licensed to Elasticsearch B.V. under one or more contributor
     2  // license agreements. See the NOTICE file distributed with
     3  // this work for additional information regarding copyright
     4  // ownership. Elasticsearch B.V. licenses this file to you under
     5  // the Apache License, Version 2.0 (the "License"); you may
     6  // not use this file except in compliance with the License.
     7  // You may obtain a copy of the License at
     8  //
     9  //     http://www.apache.org/licenses/LICENSE-2.0
    10  //
    11  // Unless required by applicable law or agreed to in writing,
    12  // software distributed under the License is distributed on an
    13  // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    14  // KIND, either express or implied.  See the License for the
    15  // specific language governing permissions and limitations
    16  // under the License.
    17  
    18  //go:build go1.16
    19  // +build go1.16
    20  
    21  package fs
    22  
    23  import (
    24  	"io/fs"
    25  	"time"
    26  )
    27  
    28  type fileInfo struct {
    29  	name    string
    30  	size    int64
    31  	modTime time.Time
    32  	mode    fs.FileMode
    33  }
    34  
    35  // Compile time type assertion.
    36  var _ fs.FileInfo = (*fileInfo)(nil)
    37  
    38  // -----------------------------------------------------------------------------
    39  
    40  func (fi *fileInfo) Name() string {
    41  	return fi.name
    42  }
    43  
    44  func (fi *fileInfo) Size() int64 {
    45  	return fi.size
    46  }
    47  
    48  func (fi *fileInfo) Mode() fs.FileMode {
    49  	return fi.mode
    50  }
    51  
    52  func (fi *fileInfo) ModTime() time.Time {
    53  	return fi.modTime
    54  }
    55  
    56  func (fi *fileInfo) IsDir() bool {
    57  	return fi.mode&fs.ModeDir > 0
    58  }
    59  
    60  func (fi *fileInfo) Sys() interface{} {
    61  	return nil
    62  }