infer-owner

WebJar for infer-owner

License

License

ISC
Categories

Categories

Infer Application Testing & Monitoring Code Analysis owner Application Layer Libs Configuration
GroupId

GroupId

org.webjars.npm
ArtifactId

ArtifactId

infer-owner
Last Version

Last Version

1.0.4
Release Date

Release Date

Type

Type

jar
Description

Description

infer-owner
WebJar for infer-owner
Project URL

Project URL

http://webjars.org
Source Code Management

Source Code Management

https://github.com/npm/infer-owner

Download infer-owner

How to add to project

<!-- https://jarcasting.com/artifacts/org.webjars.npm/infer-owner/ -->
<dependency>
    <groupId>org.webjars.npm</groupId>
    <artifactId>infer-owner</artifactId>
    <version>1.0.4</version>
</dependency>
// https://jarcasting.com/artifacts/org.webjars.npm/infer-owner/
implementation 'org.webjars.npm:infer-owner:1.0.4'
// https://jarcasting.com/artifacts/org.webjars.npm/infer-owner/
implementation ("org.webjars.npm:infer-owner:1.0.4")
'org.webjars.npm:infer-owner:jar:1.0.4'
<dependency org="org.webjars.npm" name="infer-owner" rev="1.0.4">
  <artifact name="infer-owner" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.webjars.npm', module='infer-owner', version='1.0.4')
)
libraryDependencies += "org.webjars.npm" % "infer-owner" % "1.0.4"
[org.webjars.npm/infer-owner "1.0.4"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

There are no modules declared in this project.

infer-owner

Infer the owner of a path based on the owner of its nearest existing parent

USAGE

const inferOwner = require('infer-owner')

inferOwner('/some/cache/folder/file').then(owner => {
  // owner is {uid, gid} that should be attached to
  // the /some/cache/folder/file, based on ownership
  // of /some/cache/folder, /some/cache, /some, or /,
  // whichever is the first to exist
})

// same, but not async
const owner = inferOwner.sync('/some/cache/folder/file')

// results are cached!  to reset the cache (eg, to change
// permissions for whatever reason), do this:
inferOwner.clearCache()

This module endeavors to be as performant as possible. Parallel requests for ownership of the same path will only stat the directories one time.

API

  • inferOwner(path) -> Promise<{ uid, gid }>

    If the path exists, return its uid and gid. If it does not, look to its parent, then its grandparent, and so on.

  • inferOwner(path) -> { uid, gid }

    Sync form of inferOwner(path).

  • inferOwner.clearCache()

    Delete all cached ownership information and in-flight tracking.

org.webjars.npm

npm

node package manager

Versions

Version
1.0.4