How to use the @serafin/pipeline.QueryTemplate.getNonTemplatedParts function in @serafin/pipeline

To help you get started, we’ve selected a few @serafin/pipeline 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 serafin-labs / serafin / src / serafin / api / transport / rest / JsonHal.ts View on Github external
private createTemplatedLink(rel: Relation): object {
        let relationPath = _.findKey(this.api.pipelineByName, rel.pipeline() as any);
        if (relationPath !== undefined) {
            let idUrl = "";
            let url = "?";

            let templatedParts = QueryTemplate.getTemplatedParts(rel.query);
            let nonTemplatedParts = QueryTemplate.getNonTemplatedParts(rel.query);

            _.each(nonTemplatedParts, (value, key) => {
                if (key == 'id' && rel.type == 'one') {
                    idUrl = `/${value}`;
                } else if (Array.isArray(value)) {
                    value.forEach((subValue) => {
                        url += `${key}[]=${QueryTemplate.escape(subValue)}&`;
                    })
                } else {
                    url += `${key}=${QueryTemplate.escape(value)}&`;
                }
            });

            let templatedParams: string[] = [];
            _.each(templatedParts, (value, key) => {
                if (key == 'id' && rel.type == 'one') {