npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

d2i-reader

v0.3.0

Published

Simple TypeScript Dofus d2i file reader

Downloads

6

Readme

d2i-reader

Simple typescript based d2i dofus reader

installation

yarn add d2i-reader

or

npm install d2i-reader

usage

async / await

const d2iTest = new D2iLoader(pathToData)
const isLoaded = await d2iTest.loadFile()
if(isLoaded) {
    const d2iRec = d2iTest.get(1)
    console.dir(d2iRec)
}

Promise

const d2iTest = new D2iLoader(pathToData)
d2iTest.loadFile().then(isLoaded => {
    if(isLoaded) {
        const d2iRec = d2iTest.get(1)
        console.dir(d2iRec)
    }
}).catch(err => {
    console.log(err)
})

d2iRecord

Using D2iLoader.get will return a D2iRecord of the following format:

{
    id: number
    value: string
    hasDiacritical: boolean
    valueDiacritical?: string
}

To check if the record exists you can use D2iLoader.has which will return a boolean

d2iRecord

Here is a quick description of available information on a D2iLoader class

filePath: string // The path to the d2i file
fileBuffer: Buffer // File Buffer of the whole file (can be emptied after load)
filePointer: number // File pointer for parsing the d2i
d2i: D2i // The map of all D2iRecord loaded from the file
hasLoaded: boolean // Has the d2i finished loading
sizeData: number // Size of the d2iData
sizeIndex: number // Size of the d2iIndex
isLoading: boolean // if the data is being loaded
isD2iLoaded: boolean // if the d2i has finished being parsed

loadFile(autoLoad: boolean)

This will load all the chunks of the file to the buffer. autoLoad is set to true by default which means it will parse the d2i automatically through processd2i

getD2i(id: number)

Will return the current D2iRecord with the id

hasD2i(id: number)

Will return a boolean if a D2iRecord with the id exists