'use strict';
import { expect } from 'playwright/test';
import { isPlainObject } from '../../../fd-toolbox/lib/utils.js';
import { ensureWithIndexer } from '../../../fd-toolbox/types/ensure-type.js';
import { baseResourceProps } from '../../../fd-toolbox/base-resource/props/base-resource-props.js';

var __defProp=Object['defineProperty'],__name=(_0x2808a8,_0x5b8960)=>__defProp(_0x2808a8,'name',{'value':_0x5b8960,'configurable':!![]});function compare(_0xe7ea43,_0x1a6524,_0x17437a=[],_0x5b3b8e=![],_0x3532f2=![]){const _0xb05b23=[baseResourceProps['createdDate'],baseResourceProps['createdByUserId'],baseResourceProps['modifiedDate'],baseResourceProps['modifiedByUserId'],..._0x17437a];if(_0x5b3b8e){const _0x1f4ef1=transformForCompare(_0xb05b23,_0x3532f2),_0x1e48cc=Object['fromEntries'](Object['entries'](_0xe7ea43)['map'](_0x1f4ef1)),_0x35d945=Object['fromEntries'](Object['entries'](_0x1a6524)['map'](_0x1f4ef1));expect(_0x35d945)['toEqual'](_0x1e48cc);}else {const _0x4b8e80=ensureWithIndexer(_0x1a6524),_0x58de65=ensureWithIndexer(_0xe7ea43);expect(getFilterIgnoredProperties(_0x4b8e80,_0xb05b23,_0x3532f2))['toEqual'](getFilterIgnoredProperties(_0x58de65,_0xb05b23,_0x3532f2));}}__name(compare,'compare');function transformForCompare(_0x2acb1b,_0x26179d){return ([_0x302619,_0x6bb9e8])=>[_0x302619,isPlainObject(_0x6bb9e8)?getFilterIgnoredProperties(_0x6bb9e8,_0x2acb1b,_0x26179d):_0x6bb9e8];}__name(transformForCompare,'transformForCompare');function getFilterIgnoredProperties(_0xf0d4d,_0x38f428,_0x5aa548){const _0x2e9add={..._0xf0d4d};return _0x38f428['forEach'](_0x54a0ee=>delete _0x2e9add[_0x54a0ee]),_0x5aa548&&Object['entries'](_0x2e9add)['forEach'](([_0x5c8370,_0x5ec08a])=>{isPlainObject(_0x5ec08a)&&(_0x2e9add[_0x5c8370]=getFilterIgnoredProperties(_0x5ec08a,_0x38f428,_0x5aa548));}),_0x2e9add;}__name(getFilterIgnoredProperties,'getFilterIgnoredProperties');

export { compare };
