Demo entry 3495706

7788

   

Submitted by 779789 on Jan 04, 2016 at 17:19
Language: JavaScript. Code size: 2.0 kB.

(function () {
    'use strict';

    var fileSystem = require('fs'),
        path = 'caminho/para/produtos.json',
        produtos = [];

    fileSystem.readFile(path, function (error, dados) {
        if (error)
            throw new Error(error);

        produtos = JSON.parse(dados);

        console.log('PRODUTOS CADASTRADOS:');
        imprimirProdutos(produtos);

        incluirNovosProdutos();
    });

    function incluirNovosProdutos() {
        var novoProduto1 = {
                codigo: produtos.length + 1,
                descricao: 'Monitor BenQ 27"',
                marca: 'BenQ'
            },
            novoProduto2 = {
                codigo: produtos.length + 2,
                descricao: 'The Witcher 3: Wild Hunt Playstation 4 Edition',
                marca: 'CD Projekt Red'
            },
            novoProduto3 = {
                codigo: produtos.length + 3,
                descricao: 'The Witcher 3: Wild Hunt Xbox One Edition',
                marca: 'CD Projekt Red'
            };

        produtos.push(novoProduto1, novoProduto2, novoProduto3);

        var novosProdutos = [novoProduto1, novoProduto2, novoProduto3];
        escreverProdutosEmArquivo(produtos, novosProdutos);
    }

    function escreverProdutosEmArquivo(produtos, novosProdutos) {
        fileSystem.writeFile(path, JSON.stringify(produtos), function (error) {
            if (error) throw new Error(error);

            console.log('---\nNOVOS PRODUTOS');

            imprimirProdutos(novosProdutos);

            console.log('\nPRODUTOS SALVOS COM SUCESSO!');
        });
    }

    function imprimirProdutos(produtos) {
        produtos.forEach(function (produto, index) {
            var log = 'Código: ' + produto.codigo + '\n' + 'Descricão: ' + produto.descricao + '\n' + 'Marca: ' + produto.marca;

            console.log('---');
            console.log(log);
        });
    }
}());

This snippet took 0.01 seconds to highlight.

Back to the Entry List or Home.

Delete this entry (admin only).