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

dictyper

v0.1.14

Published

Small library for creating types definitions from .json dictionaries.

Downloads

7

Readme

Small library for creating types map from .json dict files.

Changelog

Status: Alpha

Currently is under hard development. PRs are appreciated!

Install

npm install --save-dev dictyper # or yarn add --dev dictyper 

Usage

Create a dt.js file with the following contents:

const { DictionaryParser } = require('dictyper');
const { join } = require('path');

// path to dict file (dict-example.json)
const d = new DictionaryParser(join(__dirname, 'dict-example.json'));

// path to save the resulting file with types (i18n.dict.d.ts)
d.generate(join(__dirname, './'));

Run dt.js with node

node dt.js

It creates i18n.dict.d.ts file. Now, you can use our dt function, for example:

<template>
  <h1> {{ translatedValue }} </h1>
</template>

<script lang="ts">
import { dt } from 'dictyper/dt';

export default {
  computed: {
    translatedValue() {
      return this.$t(dt('path.to.existing.key'));
    }      
  }
}
</script>

Once the file i18n.dict.d.ts is created, your IDE will prompt the current keys from the dictionary and indicate an error if the dialed key does not exist. Or you can type any other function using the generated dtFuncArgiments interface.

vscode

Webstorm

Example

Try dictyper yourself! Check this repo.

TODO

  • [x] 1. Project init
    • [x] 1.1. Init base folder and files structure
    • [x] 1.2. Init git repo
    • [x] 1.3. Create changelog
  • [x] 2. Setup compile process via tsc
    • [x] 2.4 compilation
    • [x] 2.3 bundling to dist folder
  • [x] 3. Write lib
    • [x] 3.1 read from json function
    • [x] 3.2 Tree, Node e.t.c
    • [x] 3.3 Tree from json data
    • [x] 3.4 types generator
    • [x] 3.5 save <dict>.d.ts
  • [x] 4. Setup webpack configuration (node package for generating dict.d.ts file and dt() typed function)
  • [x] 5. npm-package bundling
  • [ ] 6. Unit tests
    • [ ] 6.1 setup jest env
  • [ ] 7. e2e tests (?)
  • [ ] 8. documentation

Thanks for help with tree traversal algorithm Ann Romme