Picklist values are not showing in the LWC Datatable

import { LightningElement,track,wire,api} from 'lwc';
import { updateRecord, deleteRecord} from 'lightning/uiRecordApi';
import { ShowToastEvent } from 'lightning/platformShowToastEvent';
import { refreshApex } from '@salesforce/apex';
import { getObjectInfo, getPicklistValues } from 'lightning/uiObjectInfoApi';
import OPPORTUNITYPRODUCT_OBJECT from '@salesforce/schema/OpportunityLineItem'; 
import DISCOUNT_TYPE from '@salesforce/schema/OpportunityLineItem.Discount_Type__c'; 

import getOpportunityLineItems from '@salesforce/apex/OpportunityLineItemController.getOpportunityLineItems';

const columns = [
{ label: 'ProductLineItemName', fieldName: 'ProductLineItemName__c'},
{ label:'Quantity', fieldName:'Quantity',editable:true},
{ label: 'Sales Price', fieldName: 'UnitPrice', editable:true},
{ label: 'Discount Value', fieldName: 'Discount_Value__c', editable:true},
{
    label: 'Discount Type',
    fieldName: 'Discount_Type__c',
    type: 'customPicklist',
    editable: true,
    typeAttributes: {
       
        options:{fieldName:'pickListOptions'},
        value: { fieldName: 'Discount_Type__c'},
        context:{ fieldName: 'Id'}
        
    }
},
{ label: 'GST %', fieldName: 'GST__c', editable:true},


{
    type: "button",
    typeAttributes: {
        iconName: "utility:delete",
        name: "deleteOpportunity",
        variant: "destructive",
        iconSize: "x-small",
        class: "small-button"
    }
}

];

export default class OpportunityLineItemsEditor extends LightningElement {

@api recordId;

opportunityLineData=[];
columns = columns;
draftValues=[];
oppLineProp;
discountTypeOptions=[];

@wire(getObjectInfo, { objectApiName: OPPORTUNITYPRODUCT_OBJECT })
    opportunityProductInfo;

    @wire(getPicklistValues, {
        recordTypeId: '$opportunityProductInfo.data.defaultRecordTypeId',
        fieldApiName: DISCOUNT_TYPE
    })
    wiredPicklistValues({ data, error }) {
        if (data) {
            this.discountTypeOptions = data.value;
        } else if (error) {
            console.error('Error fetching picklist values', error);
        }
    }


@wire(getOpportunityLineItems,{
    opportunityId:'$recordId',pickList:'$discountTypeOptions'
}) getOpportunityLine(result){
    this.oppLineProp=result;

    if(result.data)
    {
        this.opportunityLineData=JSON.parse(JSON.stringify(result.data));
        this.opportunityLineData=result.data.map((currItem) =>{
            let pickListOptions = this.discountTypeOptions;
            return {
                ...currItem,
                pickListOptions:pickListOptions
                
                //pickListOptions:picklistOptions
            }
        });

    }
    else if(result.error)
    {
        console.log('error while loading records');
    }


}

async handleSave(event)
{

    let records=event.detail.draftValues;
    let updateRecordsArray= records.map((currItem) => {
        let fieldInput = {...currItem};
        return{
            fields:fieldInput
        };

    });

    this.draftValues=[]
    let updateRecordsArrayPromise=updateRecordsArray.map((currItem) => updateRecord(currItem));

    await Promise.all(updateRecordsArrayPromise);

    const toastEvent = new ShowToastEvent({
        title: 'Success',
        message:
            'Records Updated Successfully',
            variant:'success'
    });
    console.log('Dispatching toast event...');
    this.dispatchEvent(toastEvent);
    console.log('Toast event dispatched.');
    await refreshApex(this.oppLineProp);

}

async handleRowAction(event) {
    if (event.detail.action.name === "deleteOpportunity") {
        deleteRecord(event.detail.row.Id).then(() => {
            
            this.dispatchEvent(
                new ShowToastEvent({
                    title: 'Success',
                    message: "Record deleted successfully!",
                    variant: 'success'
                })
            );
        }).catch((error) => {
            console.log("error, " + error);
            this.dispatchEvent(
                new ShowToastEvent({
                    title: 'Error deleting record',
                    message: error.body.message,
                    variant: 'error'
                })
            );
        })
    }

    await refreshApex(this.oppLineProp);
}

}

I have create a custom type Datatable here which extends standard LWC Datatable. Also, create an extra HTML file customPicklist.html, customPickListEdit.html so we can put the Picklist Combobox and its static value here. Below image of the structure

enter image description here

My code is working fine apart from picklist values so could you please tell me where i’m making mistake?