/**
 * @license
 * Copyright (c) 2014, 2026, Oracle and/or its affiliates.
 * Licensed under The Universal Permissive License (UPL), Version 1.0
 * as shown at https://oss.oracle.com/licenses/upl/
 * @ignore
 */
define(["exports","ojs/ojcore-base","ojs/ojlogger","ojs/ojeventtarget"],function(t,e,r,i){"use strict";e=e&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e,
/**
     * @preserve Copyright 2013 jQuery Foundation and other contributors
     * Released under the MIT license.
     * http://jquery.org/license
     */
oj.DataProvider=function(){},function(t){let e;!function(t){t.$co="$co",t.$eq="$eq",t.$ew="$ew",t.$pr="$pr",t.$gt="$gt",t.$ge="$ge",t.$lt="$lt",t.$le="$le",t.$ne="$ne",t.$regex="$regex",t.$sw="$sw"}(e=t.AttributeOperator||(t.AttributeOperator={}))}(t.AttributeFilterOperator||(t.AttributeFilterOperator={})),e._registerLegacyNamespaceProp("AttributeFilterOperator",t.AttributeFilterOperator),function(t){let e;!function(t){t.$and="$and",t.$or="$or"}(e=t.CompoundOperator||(t.CompoundOperator={}))}(t.CompoundFilterOperator||(t.CompoundFilterOperator={})),e._registerLegacyNamespaceProp("CompoundFilterOperator",t.CompoundFilterOperator),function(t){function i(t,r){for(var i=0;i<t.length;i++)if(e.KeyUtils.equals(t[i],r))return!0;return!1}function s(t,r){for(var i=0;i<t.length;i++)if(e.KeyUtils.equals(t[i],r))return i;return-1}t.WARN_DUPLICATE_KEYS_DETAIL="Duplicate keys detected. Though this can occur due to race conditions, it is likely an indication that the underlying data set contains non-unique keys.",t.getAddEventKeysResult=function(e,n,a){var o,l,c,u,f;function h(t,e){return{key:t,index:e}}var p=e.slice(),d=[];n.keys.forEach(function(t){d.push(t)});var _=[],g=n.addBeforeKeys?n.addBeforeKeys:n.afterKeys;null!=g&&g.forEach(function(t){_.push(t)});var y=!1,m=n.indexes;if(_.length===d.length)for(var E=0,b=!0;b;){for(;d.length!==E;)for(E=d.length,o=d.length-1;o>=0;o--)c=d[o],i(p,c)?(_.splice(o,1),d.splice(o,1),y=!0):null!=(l=_[o])?-1!==(f=s(p,l))&&(p.splice(f,0,c),_.splice(o,1),d.splice(o,1)):a&&(p.push(c),_.splice(o,1),d.splice(o,1));a&&0!==d.length?(r.error('Invalid "beforeKey" value detected in "add" event.'),p.push(d[0]),_.splice(0,1),d.splice(0,1),b=0!==d.length):b=!1}else if(null!=m&&m.length===d.length){var A=[];for(o=0;o<d.length;o++)if(c=d[o],i(p,c))y=!0;else if(null!=(u=m[o])){for(var v=!1,x=0;x<A.length;x++)if(A[x].index>u){A.splice(x,0,h(c,u)),v=!0;break}v||A.push(h(c,u))}else a&&p.push(c);for(o=0;o<A.length;o++){var $=A[o];$.index<p.length?p.splice($.index,0,$.key):a&&($.index!==p.length&&r.error('Invalid "index" value detected in "add" event.'),p.push($.key))}}else a&&d.forEach(function(t){p.push(t)});return y&&r.warn(t.WARN_DUPLICATE_KEYS_DETAIL),p},t.doesAttributeExistInFilterCriterion=function(t,e){if(e.text)return!0;if(e.attribute&&e.op&&"$exists"===e.op){if(this.doesAttributeExistInFilterCriterion(t,e.criterion))return!0}else if(e.attribute){if("*"===e.attribute)return!0;if(e.attribute===t)return!0}else{if(e.value&&e.value.hasOwnProperty(t))return!0;if(e.criteria&&e.criteria.length>0)for(let r=0;r<e.criteria.length;r++)if(this.doesAttributeExistInFilterCriterion(t,e.criteria[r]))return!0}return!1},t.isSameFetchParameters=(t,r,i)=>{for(let s=0;s<i.length;s++){const n=t?.[i[s]],a=r?.[i[s]];if(!(n==a||"filterCriterion"===i[s]&&e.Object.__innerEquals(n,a)||e.Object.compareValues(n,a)))return!1}return!0}}(t.DataProviderUtils||(t.DataProviderUtils={})),function(t){function e(t){const e=(t,r)=>{if(null==t)return t;if("string"==typeof r){const i=r.indexOf(".");if(i>0){const s=r.substring(0,i),n=r.substring(i+1),a=t[s];if(a)return e(a,n)}}return"function"==typeof t[r]?t[r]():t[r]};return(i,s)=>{let n,a,o,l;n=t.direction,a=t.attribute,o=e(i,a),l=e(s,a);let c=0;const u=r();return c="ascending"===n?u(o,l):u(l,o),0!==c?c:0}}function r(){return(t,e)=>{if(null==t)return 1;if(null==e)return-1;let r=0;const i="string"==typeof t?t:String(t).toString(),s="string"==typeof e?e:String(e).toString();return r=i.localeCompare(s,void 0,{numeric:!0,sensitivity:"base"}),0!==r?r:0}}t.getNaturalSortCriteriaComparator=function(t){return(r,i)=>{for(const s of t){const t=e(s)(r,i);if(0!==t)return t}return 0}},t.getNaturalSortCriterionComparator=e,t.getNaturalSortComparator=r}(t.SortUtils||(t.SortUtils={}));
/**
     * @license
     * Copyright (c) 2014, 2026, Oracle and/or its affiliates.
     * Licensed under The Universal Permissive License (UPL), Version 1.0
     * @ignore
     */
class s{constructor(){this._handleMutationAdd=function(r,i){let n=[];const a=new Map,o=[];let l=0;const c=r[s._KEYS],u=r[s._DATA],f=this._deriveMetadataFromKey(r[s._METADATA],c);c.forEach(t=>{a.set(t,{data:u?.[l],metadata:f?.[l]}),l++});const h=this._fetchParams?.filterCriterion;if(this._fetchParams?.sortCriteria?.length>0){const e=t.SortUtils.getNaturalSortCriteriaComparator(this._fetchParams.sortCriteria),i=[];r[s._DATA]?.forEach((t,e)=>{i.push({data:t,metadata:f[e]})}),i.sort((t,r)=>e(t.data,r.data));let a=0,o=0;for(;o<i.length&&a<this._items.length&&null!=this._items[a];){if(h&&!h.filter(i[o].data)){o++;continue}e(i[o].data,this._items[a]?.data)<0?(this._items.splice(a,0,new this.Item(i[o].metadata,i[o].data)),n.push(a),o++,a++):a++}if(o<i.length)if(a<this._items.length&&void 0===this._items[a])this._items.length=a,this._done=!1;else if(this.isDone())for(;o<i.length;)!h||h.filter(i[o].data)?(this._items.push(new this.Item(i[o].metadata,i[o].data)),n.push(this._items.length-1),o++):o++}else{let l={addBeforeKeys:r[s._BEFOREKEYS]?[]:r[s._BEFOREKEYS],data:r[s._DATA]?[]:r[s._DATA],indexes:r[s._INDEXES]?[]:r[s._INDEXES],keys:new Set,metadata:f?[]:f,parentKeys:r.parentKeys?[]:r.parentKeys,transient:r.transient},c=0;r[s._KEYS].forEach(t=>{(!h||h&&h.filter(r[s._DATA][c]))&&(l.addBeforeKeys?.push(r[s._BEFOREKEYS][c]),l.data?.push(r[s._DATA][c]),l.indexes?.push(r[s._INDEXES][c]),l.metadata?.push(f[c]),l.parentKeys?.push(r.parentKeys[c]),l.keys.add(t)),c++});for(let t=0;t<this._items.length;t++)o.push(this._items[t]?.metadata?.key);const u=t.DataProviderUtils.getAddEventKeysResult(o,l,this.isDone()&&-1===this.getSparseIndex());let p=-1;u.forEach((t,r)=>{if(void 0===t&&-1===p&&(p=r),!e.Object.compareValues(t,this._items[r]?.metadata?.key)&&a.has(t)){let e=a.get(t);this._items.splice(r,0,new this.Item(e.metadata,e.data)),n.push(r),a.delete(t)}}),a.size>0&&p>-1&&(this._items.length=p,this._done=!1),i&&i("add",n)}},this._handleMutationRemove=function(t,r){let i=[];const n=t[s._KEYS],a=[];if(null==n||0===n.size)return;n.forEach(t=>{let r=!1;for(let s=this._items.length-1;s>=0;s--)if(this._items[s]&&e.Object.compareValues(this._items[s]?.metadata?.key,t)){this._items.splice(s,1),i.push(s),r=!0;break}r||a.push(t)});let o=this.getSparseIndex();a.length>0&&o>-1&&(this._items.length=o,this._done=!1),r&&r("remove",i)},this._handleMutationUpdate=function(t){const r=t[s._DATA];if(r&&r.length>0){const i=t[s._KEYS],n=this._deriveMetadataFromKey(t[s._METADATA],i);let a,o=0;i.forEach(t=>{for(a=this._items.length-1;a>=0;a--)if(e.Object.compareValues(this._items[a]?.metadata?.key,t)){this._items.splice(a,1,new this.Item(n[o],r[o]));break}o++})}},this.Item=class{constructor(t,e){this.metadata=t,this.data=e,this[s._METADATA]=t,this[s._DATA]=e}},this.FetchByKeysResults=class{constructor(t,e){this.fetchParameters=t,this.results=e,this[s._FETCHPARAMETERS]=t,this[s._RESULTS]=e}},this.FetchByOffsetResults=class{constructor(t,e,r,i){this.fetchParameters=t,this.results=e,this.done=r,this.totalFilteredRowCount=i,this[s._FETCHPARAMETERS]=t,this[s._RESULTS]=e,this[s._DONE]=r,"enabled"===t?.includeFilteredRowCount&&(this.totalFilteredRowCount=i)}},this._items=[]}addListResult(t){const e=[];t.value.data.forEach((r,i)=>{e.push(new this.Item(t.value.metadata[i],r))}),this._items=this._items.concat(e),this._done=t.done}getDataList(t,e){this._fetchParams=t;let r=25;null!=t.size&&(r=-1===t.size?this.getSize():t.size);const i=this._items.slice(e,e+r),s=[],n=[];return i.forEach(t=>{s.push(t.data),n.push(t.metadata)}),{fetchParameters:t,data:s,metadata:n}}getDataByKeys(t){const e=new Map;return t&&t.keys&&t.keys.forEach(t=>{for(const r of this._items)if(r?.metadata?.key===t){e.set(t,r);break}}),new this.FetchByKeysResults(t,e)}getDataByOffset(t){this._fetchParams=t;let e,r=[];if(-1===t.size)e=this.isDone(),r=this._items.slice(t.offset);else{const i=t.size||s._DEFAULT_SIZE;e=t.offset+i>=this.getSize()&&this.isDone(),r=this._items.slice(t.offset,t.offset+i)}return new this.FetchByOffsetResults(t,r,e,this.getSize())}addFetchByOffsetResult(t){const e=t.fetchParameters.offset||0;t.results.forEach((t,r)=>{this._items[e+r]=t}),this._done=this._done||t.done}processMutations(t,e=null){null!=t.remove&&this._handleMutationRemove(t.remove,e),null!=t.add&&this._handleMutationAdd(t.add,e),null!=t.update&&this._handleMutationUpdate(t.update)}reset(){this._items=[],this._done=!1}getSize(){return this._items.length}isDone(){return this._done}getSparseIndex(t=0,e=this._items.length){for(let r=t;r<e;r++)if(void 0===this._items[r])return r;return-1}_deriveMetadataFromKey(t,e){return t&&t.length==e.size||(t=[],e.forEach(e=>{t.push({key:e})})),t}}s._DATA="data",s._METADATA="metadata",s._ITEMS="items",s._BEFOREKEYS="addBeforeKeys",s._KEYS="keys",s._INDEXES="indexes",s._FROM="from",s._OFFSET="offset",s._REFRESH="refresh",s._MUTATE="mutate",s._SIZE="size",s._FETCHPARAMETERS="fetchParameters",s._SORTCRITERIA="sortCriteria",s._DIRECTION="direction",s._ATTRIBUTE="attribute",s._VALUE="value",s._DONE="done",s._RESULTS="results",s._CONTAINSPARAMETERS="containsParameters",s._DEFAULT_SIZE=25,s._CONTAINSKEYS="containsKeys",s._FETCHBYKEYS="fetchByKeys",s._FETCHBYOFFSET="fetchByOffset",s._FETCHFIRST="fetchFirst",s._FETCHATTRIBUTES="attributes",e._registerLegacyNamespaceProp("DataCache",s);class n extends i.GenericEvent{constructor(t){const e={};e[n._DETAIL]=t,super("mutate",e)}}n._DETAIL="detail",e._registerLegacyNamespaceProp("DataProviderMutationEvent",n);class a extends i.GenericEvent{constructor(t){const e={};e.detail=t,super("refresh",e)}}e._registerLegacyNamespaceProp("DataProviderRefreshEvent",a);class o{fetchByKeys(t){let e=0;const r=this.getIterationLimit?this.getIterationLimit():-1,i={size:25},s=new Map,n=this.fetchFirst(i)[Symbol.asyncIterator]();return function t(i,s,n){return s.next().then(function(a){const o=a.value,l=o.data,c=o.metadata,u=c.map(function(t){return t.key});let f=!0;return i.keys.forEach(function(t){n.has(t)||u.map(function(e,r){e===t&&n.set(e,{metadata:c[r],data:l[r]})}),n.has(t)||(f=!1)}),e+=l.length,f||a.done||-1!=r&&e>=r?n:t(i,s,n)})}(t,n,s).then(function(e){const r=new Map;return e.forEach(function(t,e){const i=[t];r.set(e,i[0])}),{fetchParameters:t,results:r}})}containsKeys(t){return this.fetchByKeys(t).then(function(e){const r=new Set;return t.keys.forEach(function(t){null!=e.results.get(t)&&r.add(t)}),Promise.resolve({containsParameters:t,results:r})})}getCapability(t){if("fetchByKeys"===t)return{implementation:"iteration"};let e=null;if(!0!==this._ojSkipLastCapability){this._ojSkipLastCapability=!0;let r=1;for(;this["_ojLastGetCapability"+r];)++r;for(--r;r>0&&(e=this["_ojLastGetCapability"+r](t),!e);r--);delete this._ojSkipLastCapability}return e}static applyMixin(t){const e=t.prototype.getCapability;if([o].forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{"constructor"!==r&&(t.prototype[r]=e.prototype[r])})}),e){let r=1;for(;t.prototype["_ojLastGetCapability"+r];)++r;t.prototype["_ojLastGetCapability"+r]=e}}}e._registerLegacyNamespaceProp("FetchByKeysMixin",o);class l{fetchByOffset(t){const e=t&&t.size>0?t.size:25,r=t?t.sortCriteria:null,i=t&&t.offset>0?t.offset:0;let s=0;const n=this.getIterationLimit?this.getIterationLimit():-1;let a=!1;const o={};o.size=e,o.sortCriteria=r;const l=new Array,c=this.fetchFirst(o)[Symbol.asyncIterator]();return function t(r,o,l){return o.next().then(function(c){a=c.done;const u=c.value,f=u.data,h=u.metadata,p=f.length;if(i<s+p){for(let t=i<=s?0:i-s;t<p&&l.length!==e;t++)l.push({metadata:h[t],data:f[t]})}return s+=p,l.length<e&&!a?-1!==n&&s>=n?l:t(r,o,l):l})}(t,c,l).then(function(e){return{fetchParameters:t,results:e,done:a}})}getCapability(t){if("fetchByOffset"===t)return{implementation:"iteration"};let e=null;if(!0!==this._ojSkipLastCapability){this._ojSkipLastCapability=!0;let r=1;for(;this["_ojLastGetCapability"+r];)++r;for(--r;r>0&&(e=this["_ojLastGetCapability"+r](t),!e);r--);delete this._ojSkipLastCapability}return e}static applyMixin(t){const e=t.prototype.getCapability;if([l].forEach(e=>{Object.getOwnPropertyNames(e.prototype).forEach(r=>{"constructor"!==r&&(t.prototype[r]=e.prototype[r])})}),e){let r=1;for(;t.prototype["_ojLastGetCapability"+r];)++r;t.prototype["_ojLastGetCapability"+r]=e}}}e._registerLegacyNamespaceProp("FetchByOffsetMixin",l),function(t){function e(t,i=undefined){let s;const l=[];for(const c in t)if("collationOptions"!==c&&"criterion"!==c&&t.hasOwnProperty(c)){const u=t[c];if(0===c.indexOf("$"))if(n(c)){if(!(u instanceof Array))throw new Error("not a valid expression: "+t);s={operator:c,array:[]};for(const r of u){const i=e(r,t.collationOptions);s.array.push(i)}}else{if(a(c))throw new Error("not a valid expression: "+t);if(o(c)){const r=e(t.criterion,t.criterion.collationOptions);l.push({left:u,right:r,operator:c,collationOptions:i})}}else if("object"!=typeof u)l.push({left:c,right:u,operator:"$eq",collationOptions:i});else{const t={left:c,collationOptions:i};r(t,u),l.push(t)}}return l.length>1?s={operator:"$and",array:l}:1===l.length&&(s=l[0]),s}function r(t,e){let r=!1;for(const i in e)if(e.hasOwnProperty(i)){const s=e[i];if(r||!a(i))throw new Error("parsing error "+e);t.operator=i,t.right=s,r=!0}}function i(t,e){const r=t.operator,{collationOptions:l}=t;if(n(r)){if(!t.left&&t.array instanceof Array){let s;const n=t.array;for(const t of n){const n=i(t,e);if("$or"===r&&!0===n)return!0;if("$and"===r&&!1===n)return!1;s=n}return s}throw new Error("invalid expression tree!"+t)}if(a(r)){const i=t.right;let n;if("*"!=t.left)return n=u(t.left,e),s(r,i,n,l);{const t=Object.keys(e);for(const a of t)if(n=u(a,e),s(r,i,n,l))return!0;return!1}}if(o(r)){let r=u(t.left,e);if(void 0===r||!(r instanceof Array)||0===r.length)return!1;for(const e of r){if(i(t.right,e))return!0}return!1}throw new Error("not a valid expression!"+t)}function s(t,e,r,i){if(i&&["base","accent","case","variant"].indexOf(i.sensitivity)<0)throw new Error("not a valid sensitivity! "+i.sensitivity);let s;if(i&&("string"==typeof e||e instanceof String)&&("string"==typeof r||r instanceof String)&&["base","accent","case","variant"].indexOf(i.sensitivity)>=0&&(s=new Intl.Collator(void 0,i)),"$lt"===t){const t=c(r,e);return r=t[0],e=t[1],s?s.compare(r,e)<0:r<e}if("$gt"===t){const t=c(r,e);return r=t[0],e=t[1],s?s.compare(r,e)>0:r>e}if("$lte"===t){const t=c(r,e);return r=t[0],e=t[1],s?s.compare(r,e)<=0:r<=e}if("$gte"===t){const t=c(r,e);return r=t[0],e=t[1],s?s.compare(r,e)>=0:r>=e}if("$eq"===t)return s?0===s.compare(r,e):r===e;if("$ne"===t)return s?0!==s.compare(r,e):r!==e;if("$regex"===t){if(null!=r){if("string"!=typeof r&&!(r instanceof String))if(r instanceof Object){if("[object Object]"==(r=r.toString()))return!1}else r=new String(r);const t=i?.sensitivity;let s;"base"!==t&&"case"!==t||(r=r.normalize("NFD").replace(/[\u0300-\u036f]/g,""),e=e.normalize("NFD").replace(/[\u0300-\u036f]/g,"")),"base"!==t&&"accent"!==t||(s="i");return null!==r.match(new RegExp(e,s))}return!1}if("$exists"===t)return e?null!=r:null==r;throw new Error("not a valid operator! "+t)}function n(t){return"$and"===t||"$or"===t}function a(t){return"$lt"===t||"$gt"===t||"$lte"===t||"$gte"===t||"$eq"===t||"$ne"===t||"$regex"===t||"$exists"===t}function o(t){return"$nestedAttr"===t}function l(t){return null!=t&&(t instanceof String||"string"==typeof t)}function c(t,e){return l(t)&&null==e?e="":l(e)&&null==t&&(t=""),[t,e]}function u(t,e){const r=t.split(".");let i=e;for(const t of r)i=i[t];return i}t.satisfy=function(t,r){if(t){return i(e(t,t.collationOptions),r)}return!0},t.validateFilterCapabilities=function t(e,r){let i;const s=e?.textFilterMatching?.matchBy;if(r){if(r.text&&(i=r.matchBy,i&&(!s||s.indexOf(i)<0)))throw new Error("This data provider does not support TextFilter with matchBy value "+i);if(r.criteria?.length>0)for(let i=0;i<r.criteria.length;i++){t(e,r.criteria[i])}r.criterion&&t(e,r.criterion)}}}(t.FilterUtils||(t.FilterUtils={}));class c{constructor(t){t=t||{},this._textFilterAttributes=t.filterOptions?t.filterOptions.textFilterAttributes:null;const e=t.filterDef;e&&(e.op?(this.op=e.op,void 0!==e.value?(this.value=e.value,e.attribute&&(this.attribute=e.attribute)):e.criteria?this.criteria=e.criteria:e.criterion&&(this.criterion=e.criterion,e.attribute&&(this.attribute=e.attribute)),e.collationOptions&&(this.collationOptions=e.collationOptions)):e.text&&(this.text=e.text,this.matchBy=e.matchBy))}filter(e,r,i){return t.FilterUtils.satisfy(c._transformFilter(this),e)}static _transformFilter(t){let e;if(t){let r,i=t.op;const s=null==t.text?null:String(t.text).substring(0,c._MAX_TEXT_FILTER_LENGTH),n=t.collationOptions;if("$exists"===i&&t.attribute&&t.criterion)return e={},e.$nestedAttr=t.attribute,e.criterion=c._transformFilter(u.getFilter({filterDef:t.criterion})),e;if(null!==s?i="$regex":"$le"===i?i="$lte":"$ge"===i?i="$gte":"$pr"===i&&(i="$exists"),"$and"!==i&&"$or"!==i){r=null!==s?"phrase"===t.matchBy?new RegExp(""+("\\b"+s.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&").replace(/('|")/g,"").replace(/(\s|\t)/g,"[^\\r\\n]*[\\s\\t\\r\\n]*")),"i"):"startsWith"===t.matchBy?new RegExp(`^${s.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&")}`,"i"):new RegExp(s.replace(/[.*+\-?^${}()|[\]\\]/g,"\\$&"),"i"):t.value,e={};const n=t.attribute;if(n){const t={};"$sw"!==i&&"$ew"!==i&&"$co"!==i||(r=c._fixStringExpr(i,r),i="$regex"),t[i]=r,e[n]=t}else if(null!==s){const s={};if(s[i]=r,t._textFilterAttributes&&t._textFilterAttributes.length>0){const r=[];t._textFilterAttributes.forEach(function(t){const e={};e[t]=s,r.push(e)}),e.$or=r}else e["*"]=s}else{const t=[];if(null==r)throw new Error("attribute cannot be empty");c._transformObjectExpr(r,i,null,t),e.$and=t}}else{const r=[];t.criteria.forEach(function(e){e&&e.text&&t._textFilterAttributes&&(e._textFilterAttributes=t._textFilterAttributes),r.push(c._transformFilter(e))}),e={},e[i]=r}e.collationOptions=n}return e}static _transformObjectExpr(t,e,r,i){if(Object.keys(t).length>0)Object.keys(t).forEach(function(s){let n=t[s];const a=r?r+"."+s:s;if(n instanceof Object)c._transformObjectExpr(n,e,a,i);else{const t={};"$sw"!==e&&"$ew"!==e&&"$co"!==e||(n=c._fixStringExpr(e,n),e="$regex"),t[e]=n;const r={};r[a]=t,i.push(r)}});else{const s={};s[e]=t;const n={};n[r]=s,i.push(n)}}static _fixStringExpr(t,e){return("string"==typeof e||e instanceof String)&&("$sw"===t?e="^"+e:"$ew"===t&&(e+="$")),e}}c._MAX_TEXT_FILTER_LENGTH=512;class u{static getFilter(t){return new c(t)}}e._registerLegacyNamespaceProp("FilterFactory",u);const f=t=>t.reason instanceof DOMException?t.reason:new DOMException(t.reason,"AbortError");class h{static isDataProvider(t){return!(!t||!t.fetchFirst)}static isTreeDataProvider(t){return!(!t||!t.getChildDataProvider)}}e._registerLegacyNamespaceProp("DataProviderFeatureChecker",h);t.DataCache=s,t.DataProviderFeatureChecker=h,t.DataProviderMutationEvent=n,t.DataProviderRefreshEvent=a,t.FetchByKeysMixin=o,t.FetchByOffsetMixin=l,t.FilterFactory=u,t.KeyCache=
/**
     * @license
     * Copyright (c) 2014, 2026, Oracle and/or its affiliates.
     * Licensed under The Universal Permissive License (UPL), Version 1.0
     * @ignore
     */
class{constructor(){this._items=[],this._done=!1}getIndexByKey(t){return this._items.findIndex(r=>e.Object.compareValues(r,t))}spliceKeys(t,e,...r){this._items.splice(t,e,...r)}getKeys(t=0,e=-1){return this._items.slice(t,-1!==e?t+e:void 0)}getSparseIndex(t=0,e=this._items.length){for(let r=t;r<e;r++)if(void 0===this._items[r])return r;return-1}isDone(){return this._done}setDone(t){this._done=t}getSize(){return this._items.length}reset(){this._items=[],this._done=!1}addKey(t,e){this._items.splice(e,0,t)}disregardAfterIndex(t){this._items.length=t+1}},t.wrapWithAbortHandling=(t,e,r)=>t?.aborted?Promise.reject(f(t)):new Promise((i,s)=>{t?.addEventListener("abort",()=>s(f(t))),r?e(i,s).catch(s):e(i,s)}),Object.defineProperty(t,"__esModule",{value:!0})});
//# sourceMappingURL=ojdataprovider.js.map