shelf_paginate 1.0.0 copy "shelf_paginate: ^1.0.0" to clipboard
shelf_paginate: ^1.0.0 copied to clipboard

Page a json file.

shelf_paginate #

Create a paging based on a json array
Inspirated by express-paginate and horse-paginate

Usage #

On get the HEADER must have x-paginate = true
limit = x - registration limit per page
page = x - current page that shelf_paginate will return

import 'package:shelf/shelf.dart';
import 'package:shelf/shelf_io.dart' as shelf_io;
import 'package:shelf_paginate/shelf_paginate.dart';

const API_URL = 'www.api_shelf_paginate.com/start?page=1&limit=2';
const Map<String, Object?> header = {'x-paginate': 'true'};

void main() async {
  var handler =
      const Pipeline()
        .addMiddleware(logRequests())
        .addMiddleware(shelPaginate(maxlimit: 100))
        .addHandler(_paginateRequest);

  var server = await shelf_io.serve(handler, 'localhost', 8080);

  print('Serving at http://${server.address.host}:${server.port}');
}

Response _paginateRequest(Request request) =>
      return Response.ok(jsonEncode([
        {
          "id": 1,
          "name": "Messi",
          "club": "PSG",
        },
        {
          "id": 2,
          "name": "Mbappé",
          "club": "PSG",
        },
        {
          "id": 3,
          "name": "Mohamed Salah",
          "club": "Liverpool",                    
        },
        {
          "id": 4,
          "name": "Cristiano Ronaldo",
          "club": "Manchester United",                    
        },
        {
          "id": 5,
          "name": "Griezmann",
          "club": "Atlético Madrid",          
        },
        {
          "id": 6,
          "name": "Pogba",
          "club": "Juventus",          
        }
      ]));
    });

Project credit #

Create A pagination middleware with Node.js
express_paginate
horse_paginate

2
likes
110
pub points
0%
popularity

Publisher

unverified uploader

Page a json file.

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

shelf

More

Packages that depend on shelf_paginate