How to use the handlebars/dist/handlebars.registerHelper function in handlebars

To help you get started, we’ve selected a few handlebars examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github lbovet / docson / lib / index.js View on Github external
} else {
        return resolveIdRef(ref);
    }
};

var getName = function (schema) {
    if (!schema) {
        return "";
    }
    var name = schema.title;
    name = !name && schema.id ? schema.id : name;
    name = !name ? schema.__name : name;
    return name;
};

Handlebars.registerHelper('name', function (schema, options) {
    schema.__name = getName(schema);
    if (schema.__name) {
        return options.fn(schema);
    }
});

var refName = function (ref) {
    var name = getName(resolveRef(ref));
    if (!name) {
        if (ref == "#") {
            name = "";
        } else {
            name = ref.replace("#", "/");
        }
    }
    var segments = name.split("/");
github lbovet / docson / lib / index.js View on Github external
} catch (e) {
                    console.error("Unable to parse " + segments[0], e);
                    content = {};
                }
            }
            return content;
        });

        schemaDocuments[url].then(function (schema) {
            resolveRefsReentrant(schema, url);
        });
    }
    return schemaDocuments[url];
}

Handlebars.registerHelper('scope', function (schema, options) {
    var result;
    boxes.push([]);
    if (schema && (schema.id || schema.root)) {
        stack.push(schema);
        result = options.fn(this);
        stack.pop();
    } else {
        result = options.fn(this);
    }
    boxes.pop();
    return result;
});

Handlebars.registerHelper('source', function (schema) {
    delete schema.root;
    delete schema.__boxId;
github lbovet / docson / src / index.js View on Github external
} else {
            result = options.fn(this);
        }
        boxes.pop();
        return result;
    });

    Handlebars.registerHelper('source', function(schema) {
        delete schema.root;
        delete schema.__boxId;
        delete schema.__name;
        delete schema.__ref;
        return JSON.stringify(schema, null, 2);
    });

    Handlebars.registerHelper('desc', function(schema) {
        var description = schema.description;
        var examples = schema.examples;

        var text = "";

        if( !description && !examples ) {
            return "";
        }

        if ( description ) {
            text = description
        }

        if ( examples && examples.length > 0 ) {
            examples = [ " Examples: \n" ].concat(examples).join("\n\t");
            text = text + examples;
github lbovet / docson / lib / index.js View on Github external
if (schema.enum) {
        return schema.enum.length > 1 ? "enum" : "constant";
    }
});

Handlebars.registerHelper('obj', function (schema, options) {
    if (schema.properties || schema.type == "object") {
        return withType(schema, options);
    }
});

var pushBox = function (schema) {
    boxes[boxes.length - 1].push(schema);
};

Handlebars.registerHelper('box', function (schema, options) {
    if (schema) {
        pushBox(schema);
        return options.fn(schema);
    }
});

Handlebars.registerHelper('boxId', function () {
    return boxes[boxes.length - 1].length;
});

Handlebars.registerHelper('boxes', function (options) {
    var result = "";
    _jquery2.default.each(boxes[boxes.length - 1], function (k, box) {
        box.__boxId = k + 1;
        result = result + options.fn(box);
    });
github lbovet / docson / lib / index.js View on Github external
if (examples && examples.length > 0) {
        text += "\n\n*Examples* \n";
        examples.forEach(e => {
            text += "\n\n```\n" + e + "\n```\n\n";
        });
    }

    if (_marked2.default) {
        _marked2.default.setOptions({ gfm: true, breaks: true });
        return new Handlebars.SafeString((0, _marked2.default)(text));
    } else {
        return text;
    }
});

Handlebars.registerHelper('equals', function (lvalue, rvalue, options) {
    if (arguments.length < 3) throw new Error("Handlebars Helper equals needs 2 parameters");
    if (lvalue != rvalue) {
        return options.inverse(this);
    } else {
        return options.fn(this);
    }
});

Handlebars.registerHelper('contains', function (arr, item, options) {
    ;
    if (arr && arr instanceof Array && arr.indexOf(item) != -1) {
        return options.fn(this);
    }
});

Handlebars.registerHelper('primitive', function (schema, options) {
github lbovet / docson / lib / index.js View on Github external
});

Handlebars.registerHelper('exists', function (value, options) {
    if (value !== undefined) {
        value = value === null ? "null" : value;
        value = value === true ? "true" : value;
        value = value === false ? "false" : value;
        value = typeof value === "object" ? JSON.stringify(value) : value;
        this.__default = value;
        var result = options.fn(this);
        delete this.__default;
        return result;
    }
});

Handlebars.registerHelper('range', function (from, to, replFrom, replTo, exclFrom, exclTo, sep) {
    var result = "";
    if (from !== undefined || to !== undefined) {
        result += exclFrom ? "]" : "[";
        result += from !== undefined ? from : replFrom;
        if ((from || replFrom) !== (to || replTo)) {
            result += (from !== undefined || replFrom !== null) && (to !== undefined || replTo !== null) ? sep : "";
            result += to !== undefined ? to : replTo;
        }
        result += exclTo ? "[" : "]";
        return result;
    }
});

var sub = function (schema) {
    return schema.type == "array" || schema.allOf || schema.anyOf || schema.oneOf || schema.not;
};
github lbovet / docson / lib / index.js View on Github external
result += exclFrom ? "]" : "[";
        result += from !== undefined ? from : replFrom;
        if ((from || replFrom) !== (to || replTo)) {
            result += (from !== undefined || replFrom !== null) && (to !== undefined || replTo !== null) ? sep : "";
            result += to !== undefined ? to : replTo;
        }
        result += exclTo ? "[" : "]";
        return result;
    }
});

var sub = function (schema) {
    return schema.type == "array" || schema.allOf || schema.anyOf || schema.oneOf || schema.not;
};

Handlebars.registerHelper('sub', function (schema, options) {
    if (sub(schema) || schema.type && schema.type != "object" && schema.type != "array" || schema.enum) {
        return options.fn(this);
    }
});

Handlebars.registerHelper('main', function (schema, options) {
    if (!sub(schema)) {
        return options.fn(this);
    }
});

var simpleSchema = function (schema) {
    var result = schema.description === undefined && schema.title === undefined && schema.id === undefined;
    result &= schema.properties === undefined;
    return result;
};
github lbovet / docson / lib / index.js View on Github external
});

Handlebars.registerHelper('contains', function (arr, item, options) {
    ;
    if (arr && arr instanceof Array && arr.indexOf(item) != -1) {
        return options.fn(this);
    }
});

Handlebars.registerHelper('primitive', function (schema, options) {
    if (schema.type && schema.type != "object" && schema.type != "array" || schema.enum || schema.const) {
        return withType(this, options, true);
    }
});

Handlebars.registerHelper('exists', function (value, options) {
    if (value !== undefined) {
        value = value === null ? "null" : value;
        value = value === true ? "true" : value;
        value = value === false ? "false" : value;
        value = typeof value === "object" ? JSON.stringify(value) : value;
        this.__default = value;
        var result = options.fn(this);
        delete this.__default;
        return result;
    }
});

Handlebars.registerHelper('range', function (from, to, replFrom, replTo, exclFrom, exclTo, sep) {
    var result = "";
    if (from !== undefined || to !== undefined) {
        result += exclFrom ? "]" : "[";
github lbovet / docson / lib / index.js View on Github external
Handlebars.registerHelper('scope', function (schema, options) {
    var result;
    boxes.push([]);
    if (schema && (schema.id || schema.root)) {
        stack.push(schema);
        result = options.fn(this);
        stack.pop();
    } else {
        result = options.fn(this);
    }
    boxes.pop();
    return result;
});

Handlebars.registerHelper('source', function (schema) {
    delete schema.root;
    delete schema.__boxId;
    delete schema.__name;
    delete schema.__ref;
    return JSON.stringify(schema, null, 2);
});

Handlebars.registerHelper('desc', function (schema) {
    var description = schema.description;
    var examples = schema.examples;

    var text = "";

    if (!description && !examples) {
        return "";
    }
github lbovet / docson / src / index.js View on Github external
});

    Handlebars.registerHelper('exists', function(value, options) {
        if(value !== undefined) {
            value = value === null ? "null": value;
            value = value === true ? "true": value;
            value = value === false ? "false": value;
            value = typeof value === "object" ? JSON.stringify(value): value;
            this.__default = value;
            var result = options.fn(this);
            delete this.__default;
            return result;
        }
    });

    Handlebars.registerHelper('range', function(from, to, replFrom, replTo, exclFrom, exclTo, sep) {
        var result = "";
        if(from !== undefined || to !== undefined) {
            result += exclFrom ? "]" : "[";
            result += from !== undefined ? from : replFrom;
            if( (from || replFrom) !== (to || replTo)) {
                result += (from !== undefined || replFrom !== null) && (to !== undefined || replTo !== null) ? sep : "";
                result += to !== undefined ? to : replTo;
            }
            result += exclTo ? "[" : "]";
            return result;
        }
    });

    var sub = function(schema) {
        return schema.type == "array" || schema.allOf || schema.anyOf || schema.oneOf || schema.not;
    }