I modified my question to be more specific. now i don't care about the desired behavior and i just need to correct syntax error
I was studying this tutorial I face with an error in this code.
severity: 'Error'
message: 'Property 'offset' does not exist on type 'PagerserviceProvider'.'
actually i have the same error for this three variables.
that.pageSize,that.offset,that.size
public async getPager(tableName:string,pageSize: number = 10) {
let pageSize = pageSize;
let offset = 0;
let limit = pageSize;
let size = await this.getTotal(tableName);
let that = this;
return  {
        initialPage:function(){
            return new Promise((resolve,reject)=>{
                var d = [];
                that.executeSql(tableName,limit,offset).then((data)=>{
                    console.log(JSON.stringify(data));
                    for(var i = 0 ; i < data.rows.length ; i++)
                    {
                        d.push(data.rows.item(i));
                    }
                    resolve(d);
                },(e)=>{
                    reject(e);
                });
            });
        },
        nextPage:function(){
            if(that.offset <= that.size - that.pageSize )
            {  
                that.offset +=  that.pageSize;
            }
            return new Promise((resolve,reject)=>{
                var d = [];
                that.executeSql(tableName,limit,offset).then((data)=>{
                    for(var i = 0 ; i < data.rows.length ; i++)
                    {
                        d.push(data.rows.item(i));
                    }
                    resolve(d);
                },(e)=>{
                    reject(e);
                });
            });                    
        }            
    };}
 
     
     
    