Giter Club home page Giter Club logo

Comments (2)

7flash avatar 7flash commented on May 25, 2024

Usually I would search the latest item by /route/sort=-date

and I would expect to have similar ability using client generated code:

client.route.get({
filter: {},
sort: '-date',
})

from chiselstrike.

7flash avatar 7flash commented on May 25, 2024

My current workaround is to run following bash script:

echo "Generating TypeScript interfaces from chiselstrike models ..."
npx chisel generate "$CLIENT_DIRECTORY"

echo "Adding sort and limit fields ..."
sed -i '/const url = new URL(origUrl);/a\        if (params.sort !== undefined) {\n            url.searchParams.set("sort", params.sort);\n        }\n        if (params.limit !== undefined) {\n            url.searchParams.set("limit", params.limit);\n        }' "$CLIENT_DIRECTORY/client_lib.ts"
sed -i '/export type GetParams<Entity> = {/a\    limit?: number;\n    sort?: string;' "$CLIENT_DIRECTORY/client_lib.ts"

It modifies client_lib.ts accordingly:

export type GetParams<Entity> = {
    limit?: number;
    sort?: string;
    pageSize?: number;
    offset?: number;
    filter?: FilterExpr<Entity>;
    headers?: Headers | Record<string, string>;
};
// ...
        const url = new URL(origUrl);
        if (params.sort !== undefined) {
            url.searchParams.set("sort", params.sort);
        }
        if (params.limit !== undefined) {
            url.searchParams.set("limit", params.limit);
        }

from chiselstrike.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.