Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/ipfs-unixfs-exporter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
"@types/mocha": "^8.2.1",
"@types/sinon": "^9.0.10",
"abort-controller": "^3.0.0",
"aegir": "^32.0.0",
"aegir": "^32.1.0",
"copy": "^0.3.2",
"crypto-browserify": "^3.12.0",
"detect-node": "^2.0.4",
Expand Down
2 changes: 1 addition & 1 deletion packages/ipfs-unixfs-exporter/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../node_modules/aegir/src/config/tsconfig.aegir.json",
"extends": "aegir/src/config/tsconfig.aegir.json",
"compilerOptions": {
"outDir": "dist",
"importsNotUsedAsValues": "preserve"
Expand Down
2 changes: 1 addition & 1 deletion packages/ipfs-unixfs-importer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
"homepage": "https://github.com/ipfs/js-ipfs-unixfs#readme",
"devDependencies": {
"@types/mocha": "^8.2.1",
"aegir": "^32.0.0",
"aegir": "^32.1.0",
"assert": "^2.0.0",
"copy": "^0.3.2",
"crypto-browserify": "^3.12.0",
Expand Down
10 changes: 5 additions & 5 deletions packages/ipfs-unixfs-importer/src/types.d.ts
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
import { UnixFS, Mtime, MtimeLike } from 'ipfs-unixfs'
import { UnixFS, Mtime } from 'ipfs-unixfs'
import CID, { CIDVersion } from 'cids'
import { HashName } from 'multihashes'
import Block from 'ipld-block'
import { CodecName } from 'multicodec'

interface ImportCandidate {
path?: string
content?: AsyncIterable<Uint8Array> | Iterable<Uint8Array> | Uint8Array | ArrayLike<number> | string
mtime?: MtimeLike
content?: AsyncIterable<Uint8Array>
mtime?: Mtime
mode?: number
}

interface File {
content: AsyncIterable<Uint8Array>
path?: string
mtime?: MtimeLike
mtime?: Mtime
mode?: number
}

interface Directory {
path?: string
mtime?: MtimeLike
mtime?: Mtime
mode?: number
}

Expand Down
2 changes: 1 addition & 1 deletion packages/ipfs-unixfs-importer/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../node_modules/aegir/src/config/tsconfig.aegir.json",
"extends": "aegir/src/config/tsconfig.aegir.json",
"compilerOptions": {
"outDir": "dist",
"importsNotUsedAsValues": "preserve"
Expand Down
2 changes: 1 addition & 1 deletion packages/ipfs-unixfs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
"homepage": "https://github.com/ipfs/js-ipfs-unixfs#readme",
"devDependencies": {
"@types/mocha": "^8.2.1",
"aegir": "^32.0.0",
"aegir": "^32.1.0",
"copy": "^0.3.2",
"mkdirp": "^1.0.4",
"npm-run-all": "^4.1.5",
Expand Down
18 changes: 13 additions & 5 deletions packages/ipfs-unixfs/src/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ const errcode = require('err-code')
/**
* @typedef {object} Mtime
* @property {number} secs
* @property {number | null} [nsecs]
* @property {number} [nsecs]
*/

/**
* @typedef {null | undefined | { secs: number, nsecs?: number} | { Seconds: number, FractionalNanoseconds?: number} | Mtime | [number, number] | Date} MtimeLike
* @typedef {null | undefined | { secs: number, nsecs?: number} | { Seconds: number, FractionalNanoseconds?: number} | Mtime | [number, number] | Date} MtimeLike
*/

const types = [
Expand Down Expand Up @@ -40,11 +40,19 @@ function parseMode (mode) {
return undefined
}

if (typeof mode === 'string') {
mode = parseInt(mode, 8)
if (typeof mode === 'number') {
return mode & 0xFFF
}

return mode & 0xFFF
mode = mode.toString()

if (mode.substring(0, 1) === '0') {
// octal string
return parseInt(mode, 8) & 0xFFF
}

// decimal string
return parseInt(mode, 10) & 0xFFF
}

/**
Expand Down
2 changes: 1 addition & 1 deletion packages/ipfs-unixfs/tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"extends": "../../node_modules/aegir/src/config/tsconfig.aegir.json",
"extends": "aegir/src/config/tsconfig.aegir.json",
"compilerOptions": {
"outDir": "dist"
},
Expand Down