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

structdatajs

v1.0.0

Published

Este reposítório contém todos códigos utilizados durante a disciplina de Estruturas de Dados do curso de Análise e Desenvolvimento de Sistemas/UFRN no semestre 2023.1

Downloads

4

Readme

Estruturas de Dados com JavaScript

Este reposítório contém todos códigos utilizados durante a disciplina de Estruturas de Dados do curso de Análise e Desenvolvimento de Sistemas/UFRN no semestre 2023.1

A disciplina de Estruturas de dados segue uma abordagem de desenvolvimento dirigido as testes (TDD) onde para cada Tipo Abstrato de Dados:

  1. Será descrito o Tipo Abstrato de Dados e suas funções independente de saber como elas são implementadas ou como os dados serão armazenados.
  2. Serão criados pequenos testes para validar o conceito do Tipo de Dado Abstrato. (note que não temos a intenção de realizar todos os testes possíveis)
  3. É implementada a classe, em JavaScript, para representar o Tipo Abstrato de Dados.

Utilize esse repositório caso não deseje configurar um novo.

Caso deseje clonar esse repositório execute os seguintes comandos:

git clone https://github.com/taniro/ED2023.git
npm install
npm test
npm run docs

Crie um novo repositório do zero.

Caso deseje criar um novo repositório execute os seguintes comandos:

npx gitignore node
npm init -y
git init
npm install --save-dev jest
npm install --save-dev babel-jest @babel/core @babel/preset-env @babel/plugin-proposal-class-properties @types/jest

Crie o arquivo babel.config.js e adicione as informações abaixo no arquivo:

module.exports = {
	presets: [
		[
			'@babel/preset-env',
			{
				targets: {
					node: 'current',
				},
			},
		],
	],
	plugins: ["@babel/plugin-proposal-class-properties"]
};

Edite o arquivo packege.json e altere a propriedade "scripts" para:

"scripts": {
	"test": "jest"
},

Para preparar o ambiente para criação de documentação execute o seguinte comando:

npm install --save-dev jsdoc

Crie as pastas "src" e "__tests__". A pasta src deverá ser utilizada para guardar seu código. A pasta "__tests__" deverá ser usada para guardar seus arquivos de teste".

Crie o arquivo jsdoc.json e adicione as informações abaixo no arquivo:

{
	"source": {
		"include": [
			"./src"
		],
		"includePattern": ".js$",
		"excludePattern": "(node_modules/|docs)"
	},
	"plugins": [
		"plugins/markdown"
	],
	"opts": {
		"encoding": "utf8",
		"readme": "./readme.md",
		"destination": "docs/",
		"recurse": true,
		"verbose": true
	}
}

Modifique o arquivo package.json para adicionar o script de criação de documentação:

	"scripts": {
		"test": "jest",
		"docs": "jsdoc -c jsdoc.json"
	},

Modifique o arquivo .gitignore para que o git ignore os arquivos da documentação. Adicione ao final do arquivo:

# Arquivos de documentação
/docs

Crie o arquivo readme.md e adicione algum texto.

Dentro da pasta "src" crie o arquivo "Hello.js" e copie o seguinte código:

/** Class representing a Hello. */
class Hello {
     /**
     * Create a Hello.
     * @constructor
     * @param {messagem} msg - The message.
     */
    constructor(msg = "World" ) {
        this.msg = msg;
    }

    /**
     * Display de message
     * @return {string} The message.
     */
    toString(){
        return "Hello " + this.msg;
    }
}

export default Hello;

Dentro da pasta "__tests__" crie o arquivo "Hello.test.js" e copie o seguinte código:

import Hello from "../src/Hello";

let h;

beforeEach(
    () => {
        h = new Hello();
    }
);

test("Hello World",
    () => {
        expect(h.toString()).toBe("Hello World");
    }
);

test("Hello TADS",
    () => {
        let p = new Hello("TADS")
        expect(p.toString()).toBe("Hello TADS");
    }
);

Para executar os testes:

npm test

Para criar a documentação:

npm run docs