UNPKG

@wordpress/core-data

Version:
8 lines (7 loc) 1.54 kB
{ "version": 3, "sources": ["../../src/utils/clear-unchanged-edits.ts"], "sourcesContent": ["import fastDeepEqual from 'fast-deep-equal/es6/index.js';\n\n/**\n * Returns a copy of `edits` where any value equal to its persisted counterpart\n * is set to `undefined`. The edits reducer treats `undefined` as a signal to\n * drop the edit, so the property is no longer considered dirty.\n *\n * @param edits Edits keyed by property name.\n * @param persistedRecord Persisted entity record to compare against.\n *\n * @return Edits with unchanged properties set to `undefined`.\n */\nexport default function clearUnchangedEdits(\n\tedits: Record< string, unknown >,\n\tpersistedRecord: Record< string, any > | undefined\n): Record< string, unknown > {\n\tif ( ! persistedRecord ) {\n\t\treturn edits;\n\t}\n\n\treturn Object.fromEntries(\n\t\tObject.entries( edits ).map( ( [ key, value ] ) => {\n\t\t\tconst persisted =\n\t\t\t\tpersistedRecord[ key ]?.raw ?? persistedRecord[ key ];\n\t\t\treturn [\n\t\t\t\tkey,\n\t\t\t\tfastDeepEqual( value, persisted ) ? undefined : value,\n\t\t\t];\n\t\t} )\n\t);\n}\n"], "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAA0B;AAYX,SAAR,oBACN,OACA,iBAC4B;AAC5B,MAAK,CAAE,iBAAkB;AACxB,WAAO;AAAA,EACR;AAEA,SAAO,OAAO;AAAA,IACb,OAAO,QAAS,KAAM,EAAE,IAAK,CAAE,CAAE,KAAK,KAAM,MAAO;AAClD,YAAM,YACL,gBAAiB,GAAI,GAAG,OAAO,gBAAiB,GAAI;AACrD,aAAO;AAAA,QACN;AAAA,YACA,WAAAA,SAAe,OAAO,SAAU,IAAI,SAAY;AAAA,MACjD;AAAA,IACD,CAAE;AAAA,EACH;AACD;", "names": ["fastDeepEqual"] }