🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

data2code

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

data2code - npm Package Compare versions

Comparing version
0.0.4
to
0.0.5
+15
.eslintrc
{
"env": {
"node": true,
"browser": true,
"mocha": true
},
"rules": {
"quotes": [1, "single", "avoid-escape"],
"global-strict": [1, "always"],
"no-extra-strict": true,
"no-extra-semi": 2,
"semi": [2, "never"],
"camelcase": false
}
}
+1
-2
language: node_js
node_js:
- "0.11"
- "0.10"
before_script:
- npm install -g gulp
script: gulp
script: gulp build

@@ -1,27 +0,7 @@

var gulp = require('gulp');
var del = require('del');
var gutil = require('gulp-util');
var mocha = require('gulp-mocha');
var runSequence = require('run-sequence');
'use strict'
var gulp = require('gulp')
var mocha = require('gulp-mocha')
var runSequence = require('run-sequence')
var eslint = require('gulp-eslint')
var coffee = require('gulp-coffee');
gulp.task('clean', function (cb) {
del([
'lib/**'
], cb);
});
gulp.task('coffee', function() {
return gulp.src('./src/**/*.coffee')
.pipe(coffee({bare: true}).on('error', gutil.log))
.pipe(gulp.dest('./lib/'))
});
gulp.task('copy-templates', function(){
return gulp.src('./src/**/*.hbs')
.pipe(gulp.dest('./lib/'));
});
gulp.task('test', function(){

@@ -35,13 +15,18 @@ gulp.src('./test/*spec.js')

}
));
});
))
})
gulp.task('lint', function () {
return gulp.src(['**/*.js'])
.pipe(eslint('./.eslintrc'))
.pipe(eslint.format())
.pipe(eslint.failOnError())
})
gulp.task('build', function(callback) {
runSequence('clean',
['copy-templates', 'coffee'],
'test',
callback);
});
runSequence('test', 'lint',
callback)
})
gulp.task('default', ['build']);
gulp.task('default', ['build'])

@@ -1,42 +0,93 @@

var Handlebars;
'use strict'
var Handlebars = require('handlebars')
Handlebars = require("handlebars");
var processParsers = function(tmpl, gen, data){
var sdata = JSON.parse(JSON.stringify(data))
var parsed
if(typeof tmpl === 'function'){
if(typeof gen.parser === 'function'){
parsed = gen.parser(sdata)
}else{
parsed = sdata
}
}else if(typeof tmpl === 'object'){
if(typeof tmpl.parser === 'function'){
parsed = tmpl.parser(sdata)
}else{
parsed = sdata
}
}
return parsed
}
var compileTemplate = function(tmpl){
if(typeof tmpl === 'function'){
return tmpl
}else if(typeof tmpl === 'string') {
return Handlebars.compile(tmpl)
}else if(typeof tmpl === 'object'){
tmpl.tmpl = compileTemplate(tmpl.tmpl)
return tmpl
}
}
var handleTemplates = function(tmpls){
var templates = []
if(tmpls === undefined){
return templates
}
if(Array.isArray(tmpls)){
tmpls.forEach(function(def){
templates.push(compileTemplate(def))
})
}else{
throw new Error('gen.templates must be array')
}
return templates
}
var bindTemplate = function(tmplDef, data, options){
var htmpl = tmplDef
if(typeof tmplDef === 'object'){
htmpl = tmplDef.tmpl
}
var result = {}
var key = Object.keys(data)[0]
result[key] = htmpl(data[key], options)
return result
}
module.exports.process = function(data, gen) {
var dataParsed, key, obj, options, result, results, template, _i, _len;
if (gen.handleRender && typeof gen.handleRender === 'function') {
if (typeof gen.parser === 'function') {
dataParsed = gen.parser(data);
} else {
dataParsed = data;
var templates = []
if(gen.template !== undefined){
templates = templates.concat(compileTemplate(gen.template))
}
if (typeof gen.template !== "function") {
template = Handlebars.compile(gen.template);
} else {
template = gen.template;
}
options = {
templates = templates.concat(handleTemplates(gen.templates))
var options = {
helpers: gen.helpers,
partials: gen.partials
};
if (Array.isArray(dataParsed)) {
results = [];
for (_i = 0, _len = dataParsed.length; _i < _len; _i++) {
obj = dataParsed[_i];
key = Object.keys(obj)[0];
if (key && obj[key]) {
result = {};
result[key] = template(obj[key], options);
results.push(result);
} else {
throw new Error("Data element doesn't have name or model");
}
}
var results = []
templates.forEach(function(template){
var dataParsed = processParsers(template, gen, data)
if (Array.isArray(dataParsed)) {
dataParsed.forEach(function(dato){
results.push(bindTemplate(template, dato, options))
})
} else {
results.push(bindTemplate(template, dataParsed, options))
}
return gen.handleRender(results);
} else {
throw new Error("Digest data is not and Array");
}
})
gen.handleRender(results)
} else {
throw new Error("generator.handleRender not defined");
throw new Error('generator.handleRender not defined')
}
};
}
{
"name": "data2code",
"version": "0.0.4",
"version": "0.0.5",
"description": "Codegenerator for data",

@@ -10,10 +10,12 @@ "main": "lib/data2code.js",

"devDependencies": {
"gulp": "3.8.10",
"gulp-coffee": "2.2.0",
"gulp-mocha" : "1.0.0",
"chai": "~1.9.1",
"del": "^1.1.1",
"eslint": "^0.15.1",
"gulp": "3.8.10",
"gulp-eslint": "^0.5.0",
"gulp-mocha": "1.0.0",
"gulp-util": "3.0.1",
"lodash": "^3.3.1",
"mocha": "~1.20.1",
"raml-parser": "0.8.7",
"gulp-util": "3.0.1",
"run-sequence": "^1.0.2"

@@ -20,0 +22,0 @@ },

@@ -43,7 +43,12 @@ # data to code generator

simpleGen.template = '{{title}}';
simpleGen.parser = function(){
}
var handleRender = function (result) {
console.log(result);
}
Or to use multiple templates
var simpleGen = {}
simpleGen.templates = [{tmpl: "{title}", parser: function }]
raml.loadFile('myAPI.raml').then( function(data){

@@ -50,0 +55,0 @@ data2Code.process(data, simpleGen);