@wordpress/block-library
Version:
Block library for the WordPress editor.
8 lines (7 loc) • 4.63 kB
Source Map (JSON)
{
"version": 3,
"sources": ["../../src/block/deprecated.js"],
"sourcesContent": ["const isObject = ( obj ) =>\n\ttypeof obj === 'object' && ! Array.isArray( obj ) && obj !== null;\n\n// v2: Migrate to a more condensed version of the 'content' attribute attribute.\nconst v2 = {\n\tattributes: {\n\t\tref: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tcontent: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tsupports: {\n\t\tcustomClassName: false,\n\t\thtml: false,\n\t\tinserter: false,\n\t\trenaming: false,\n\t},\n\t// Force this deprecation to run whenever there's a values sub-property that's an object.\n\t//\n\t// This could fail in the future if a block ever has binding to a `values` attribute.\n\t// Some extra protection is added to ensure `values` is an object, but this only reduces\n\t// the likelihood, it doesn't solve it completely.\n\tisEligible( { content } ) {\n\t\treturn (\n\t\t\t!! content &&\n\t\t\tObject.keys( content ).every(\n\t\t\t\t( contentKey ) =>\n\t\t\t\t\tcontent[ contentKey ].values &&\n\t\t\t\t\tisObject( content[ contentKey ].values )\n\t\t\t)\n\t\t);\n\t},\n\t/*\n\t * Old attribute format:\n\t * content: {\n\t * \"V98q_x\": {\n\t * \t \t\t// The attribute values are now stored as a 'values' sub-property.\n\t * values: { content: 'My content value' },\n\t * \t // ... additional metadata, like the block name can be stored here.\n\t * }\n\t * }\n\t *\n\t * New attribute format:\n\t * content: {\n\t * \"V98q_x\": {\n\t * content: 'My content value',\n\t * }\n\t * }\n\t */\n\tmigrate( attributes ) {\n\t\tconst { content, ...retainedAttributes } = attributes;\n\n\t\tif ( content && Object.keys( content ).length ) {\n\t\t\tconst updatedContent = { ...content };\n\n\t\t\tfor ( const contentKey in content ) {\n\t\t\t\tupdatedContent[ contentKey ] = content[ contentKey ].values;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\t...retainedAttributes,\n\t\t\t\tcontent: updatedContent,\n\t\t\t};\n\t\t}\n\n\t\treturn attributes;\n\t},\n};\n\n// v1: Rename the `overrides` attribute to the `content` attribute.\nconst v1 = {\n\tattributes: {\n\t\tref: {\n\t\t\ttype: 'number',\n\t\t},\n\t\toverrides: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tsupports: {\n\t\tcustomClassName: false,\n\t\thtml: false,\n\t\tinserter: false,\n\t\trenaming: false,\n\t},\n\t// Force this deprecation to run whenever there's an `overrides` object.\n\tisEligible( { overrides } ) {\n\t\treturn !! overrides;\n\t},\n\t/*\n\t * Old attribute format:\n\t * overrides: {\n\t * // An key is an id that represents a block.\n\t * // The values are the attribute values of the block.\n\t * \"V98q_x\": { content: 'My content value' }\n\t * }\n\t *\n\t * New attribute format:\n\t * content: {\n\t * \"V98q_x\": { content: 'My content value' }\n\t * }\n\t *\n\t */\n\tmigrate( attributes ) {\n\t\tconst { overrides, ...retainedAttributes } = attributes;\n\n\t\tconst content = {};\n\n\t\tObject.keys( overrides ).forEach( ( id ) => {\n\t\t\tcontent[ id ] = overrides[ id ];\n\t\t} );\n\n\t\treturn {\n\t\t\t...retainedAttributes,\n\t\t\tcontent,\n\t\t};\n\t},\n};\n\nexport default [ v2, v1 ];\n"],
"mappings": ";AAAA,IAAM,WAAW,CAAE,QAClB,OAAO,QAAQ,YAAY,CAAE,MAAM,QAAS,GAAI,KAAK,QAAQ;AAG9D,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACR,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAY,EAAE,QAAQ,GAAI;AACzB,WACC,CAAC,CAAE,WACH,OAAO,KAAM,OAAQ,EAAE;AAAA,MACtB,CAAE,eACD,QAAS,UAAW,EAAE,UACtB,SAAU,QAAS,UAAW,EAAE,MAAO;AAAA,IACzC;AAAA,EAEF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkBA,QAAS,YAAa;AACrB,UAAM,EAAE,SAAS,GAAG,mBAAmB,IAAI;AAE3C,QAAK,WAAW,OAAO,KAAM,OAAQ,EAAE,QAAS;AAC/C,YAAM,iBAAiB,EAAE,GAAG,QAAQ;AAEpC,iBAAY,cAAc,SAAU;AACnC,uBAAgB,UAAW,IAAI,QAAS,UAAW,EAAE;AAAA,MACtD;AAEA,aAAO;AAAA,QACN,GAAG;AAAA,QACH,SAAS;AAAA,MACV;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AACD;AAGA,IAAM,KAAK;AAAA,EACV,YAAY;AAAA,IACX,KAAK;AAAA,MACJ,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,MAAM;AAAA,IACP;AAAA,EACD;AAAA,EACA,UAAU;AAAA,IACT,iBAAiB;AAAA,IACjB,MAAM;AAAA,IACN,UAAU;AAAA,IACV,UAAU;AAAA,EACX;AAAA;AAAA,EAEA,WAAY,EAAE,UAAU,GAAI;AAC3B,WAAO,CAAC,CAAE;AAAA,EACX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,QAAS,YAAa;AACrB,UAAM,EAAE,WAAW,GAAG,mBAAmB,IAAI;AAE7C,UAAM,UAAU,CAAC;AAEjB,WAAO,KAAM,SAAU,EAAE,QAAS,CAAE,OAAQ;AAC3C,cAAS,EAAG,IAAI,UAAW,EAAG;AAAA,IAC/B,CAAE;AAEF,WAAO;AAAA,MACN,GAAG;AAAA,MACH;AAAA,IACD;AAAA,EACD;AACD;AAEA,IAAO,qBAAQ,CAAE,IAAI,EAAG;",
"names": []
}