Socket
Socket
Sign inDemoInstall

@sanity/block-content-to-tree

Package Overview
Dependencies
Maintainers
7
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@sanity/block-content-to-tree - npm Package Compare versions

Comparing version 0.1.2 to 0.2.0-next

lib/generateKey.js

46

lib/BlockContentToTree.js
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var _typeHandlers = require('./type-handlers');
var objectAssign = require('object-assign');
var migrate = require('./migrate');
var builtInHandlers = require('./type-handlers');
var _typeHandlers2 = _interopRequireDefault(_typeHandlers);
var _require = require('./type-checkers'),
isList = _require.isList;
var _typeCheckers = require('./type-checkers');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
function parseListBlocks(blocks, typeHandlers) {

@@ -31,3 +24,3 @@ return typeHandlers.list(blocks);

if (!typeHandler) {
var attributes = _extends({}, block);
var attributes = objectAssign({}, block);
delete attributes._type;

@@ -43,6 +36,7 @@ return {

var BlockContentToTree = function () {
function BlockContentToTree() {
function BlockContentToTree(options) {
_classCallCheck(this, BlockContentToTree);
this.typeHandlers = _typeHandlers2.default;
this.typeHandlers = builtInHandlers;
this.options = objectAssign({ staticKeys: true }, options);
}

@@ -59,8 +53,14 @@

if (Array.isArray(data)) {
if (!Array.isArray(data) && (!data || !data._type)) {
throw new Error('Input must be an Array or an Object (with a ._type) - got ' + data);
}
var content = migrate(data, this.options);
if (Array.isArray(content)) {
var parsedData = [];
var listBlocks = [];
data.forEach(function (block, index, blocks) {
if ((0, _typeCheckers.isList)(block)) {
content.forEach(function (block, index, blocks) {
if (isList(block)) {
// Each item in a list comes in its own block

@@ -83,7 +83,3 @@ // We bundle those togther in a single list object

if (!data || !data._type) {
throw new Error('Input must be an Array or an Object (with a ._type) - got ' + data);
}
return parseSingleBlock(data, this.typeHandlers);
return parseSingleBlock(content, this.typeHandlers);
}

@@ -95,3 +91,3 @@ }]);

exports.default = BlockContentToTree;
module.exports = BlockContentToTree;
//# sourceMappingURL=BlockContentToTree.js.map
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var objectAssign = require('object-assign');
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
module.exports = function nestContent(spans, parent) {
var model = { children: [] };
var nodeStack = [model];
var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
spans.forEach(function (span) {
var dataAttributes = objectAssign({}, span);
delete dataAttributes.text;
delete dataAttributes.marks;
delete dataAttributes._type;
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
var marksNeeded = span.marks.sort();
var ContentNester = function () {
function ContentNester(spans) {
_classCallCheck(this, ContentNester);
var pos = 1;
this.spans = spans;
}
_createClass(ContentNester, [{
key: 'run',
value: function run() {
var model = { content: [] };
var nodeStack = [model];
this.spans.forEach(function (span) {
var dataAttributes = _extends({}, span);
delete dataAttributes.text;
delete dataAttributes.marks;
delete dataAttributes._type;
var marksNeeded = span.marks.sort();
var pos = 1;
// Start at position one. Root is always plain and should never be removed. (?)
if (nodeStack.length > 1) {
for (pos; pos < nodeStack.length; pos++) {
var mark = nodeStack[pos].mark;
if (marksNeeded.includes(mark)) {
// eslint-disable-line max-depth
var index = marksNeeded.indexOf(mark);
marksNeeded.splice(index, 1);
} else {
break;
}
}
// Start at position one. Root is always plain and should never be removed. (?)
if (nodeStack.length > 1) {
for (pos; pos < nodeStack.length; pos++) {
var mark = nodeStack[pos].markKey;
// eslint-disable-next-line max-depth
if (marksNeeded.includes(mark)) {
var index = marksNeeded.indexOf(mark);
marksNeeded.splice(index, 1);
} else {
break;
}
}
}
// Keep from beginning to first miss
nodeStack = nodeStack.slice(0, pos);
// Keep from beginning to first miss
nodeStack = nodeStack.slice(0, pos);
// Add needed nodes
var currentNode = nodeStack.slice(-1)[0];
marksNeeded.forEach(function (mark) {
var node = {
content: [],
mark: mark,
type: 'span',
attributes: {}
};
currentNode.content.push(node);
nodeStack.push(node);
currentNode = node;
});
// Add needed nodes
var currentNode = nodeStack.slice(-1)[0];
marksNeeded.forEach(function (mark) {
var node = {
type: 'span',
children: [],
mark: parent.markDefs.find(function (def) {
return def._key === mark;
}) || mark,
markKey: mark
};
currentNode.children.push(node);
nodeStack.push(node);
currentNode = node;
});
if (Object.keys(dataAttributes).length) {
currentNode.content.push({
type: 'span',
attributes: dataAttributes,
content: [span.text]
});
} else {
currentNode.content.push(span.text);
}
if (Object.keys(dataAttributes).length) {
currentNode.children.push({
type: 'span',
attributes: dataAttributes,
children: [span.text]
});
return model.content;
} else {
currentNode.children.push(span.text);
}
}]);
});
return ContentNester;
}();
var getContent = function getContent(spans) {
var cn = new ContentNester(spans);
var got = cn.run();
return got;
return model.children;
};
exports.default = getContent;
//# sourceMappingURL=ContentNester.js.map
'use strict';
var _BlockContentToTree = require('./BlockContentToTree.js');
var _BlockContentToTree2 = _interopRequireDefault(_BlockContentToTree);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
module.exports = _BlockContentToTree2.default;
module.exports = require('./BlockContentToTree');
//# sourceMappingURL=index.js.map
'use strict';
var _fs = require('fs');
/* eslint-disable no-console */
var fs = require('fs');
var path = require('path');
var boxen = require('boxen');
var chalk = require('chalk');
var gzipSize = require('gzip-size');
var prettyBytes = require('pretty-bytes');
var _fs2 = _interopRequireDefault(_fs);
var umdPath = path.join(__dirname, '..', '..', 'umd');
var bundlePath = path.join(umdPath, 'index.js');
var minPath = path.join(umdPath, 'index.min.js');
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _boxen = require('boxen');
var _boxen2 = _interopRequireDefault(_boxen);
var _chalk = require('chalk');
var _chalk2 = _interopRequireDefault(_chalk);
var _gzipSize = require('gzip-size');
var _gzipSize2 = _interopRequireDefault(_gzipSize);
var _prettyBytes = require('pretty-bytes');
var _prettyBytes2 = _interopRequireDefault(_prettyBytes);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/* eslint-disable no-console */
var umdPath = _path2.default.join(__dirname, '..', '..', 'umd');
var bundlePath = _path2.default.join(umdPath, 'index.js');
var minPath = _path2.default.join(umdPath, 'index.min.js');
_fs2.default.readFile(bundlePath, function (bundleErr, bundle) {
fs.readFile(bundlePath, function (bundleErr, bundle) {
throwOnError(bundleErr);
_fs2.default.readFile(minPath, function (minErr, minBundle) {
fs.readFile(minPath, function (minErr, minBundle) {
throwOnError(minErr);
(0, _gzipSize2.default)(bundle, function (gzipErr, gzipedSize) {
gzipSize(bundle, function (gzipErr, gzipedSize) {
throwOnError(gzipErr);

@@ -45,3 +26,3 @@

console.log((0, _boxen2.default)(output, {
console.log(boxen(output, {
padding: 1,

@@ -65,4 +46,4 @@ borderColor: 'yellow',

var color = bytes > 1024 * 50 ? 'red' : 'green';
return _chalk2.default[color]((0, _prettyBytes2.default)(bytes));
return chalk[color](prettyBytes(bytes));
}
//# sourceMappingURL=print-bundle-size.js.map
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.isList = isList;
exports.isText = isText;
exports.getInternalBlockType = getInternalBlockType;
module.exports = {
isList: isList,
isText: isText,
getInternalBlockType: getInternalBlockType
};
function isList(data) {

@@ -26,7 +26,9 @@ var _type = data._type,

}
if (isList(data)) {
return 'list';
}
return 'custom';
}
//# sourceMappingURL=type-checkers.js.map
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var nestContent = require('./ContentNester');
var _ContentNester = require('./ContentNester');
var _ContentNester2 = _interopRequireDefault(_ContentNester);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var block = function block(singleBlock) {
var block = function block(node) {
var output = {
type: 'block',
style: singleBlock.style,
content: (0, _ContentNester2.default)(singleBlock.spans)
style: node.style,
children: nestContent(node.children, node)
};
if (singleBlock.extra) {
output.extra = singleBlock.extra;
if (node.extra) {
output.extra = node.extra;
}

@@ -33,3 +25,3 @@ return output;

style: listBlock.style,
content: (0, _ContentNester2.default)(listBlock.spans)
children: nestContent(listBlock.children, listBlock)
};

@@ -44,3 +36,3 @@ if (listBlock.extra) {

exports.default = {
module.exports = {
block: block,

@@ -47,0 +39,0 @@ list: list

{
"name": "@sanity/block-content-to-tree",
"description": "Converts the flat Sanity block content structure into a generic tree structure for easier transformation into other formats.",
"version": "0.1.2",
"description":
"Converts the flat Sanity block content structure into a generic tree structure for easier transformation into other formats.",
"version": "0.2.0-next",
"main": "lib/index.js",
"umd": "umd/index.min.js",
"scripts": {
"browserify": "NODE_ENV=production BROWSERIFY_ENV=build DEBUG='' browserify -t envify -g uglifyify lib/index.js -o umd/index.js --standalone=BlockContentAdapter",
"build": "npm run clean && npm run compile && npm run browserify && npm run minify && npm run size",
"browserify":
"NODE_ENV=production BROWSERIFY_ENV=build browserify -t envify -g uglifyify lib/index.js -o umd/index.js --standalone=BlockContentAdapter",
"build":
"npm run clean && npm run compile && npm run browserify && npm run minify && npm run size",
"size": "node -r babel-register src/scripts/print-bundle-size",
"watch": "npm run compile -- --watch",
"clean": "rimraf lib coverage .nyc_output umd/*.js",
"clean": "rimraf lib coverage umd/*.js",
"compile": "babel --source-maps --copy-files -d lib/ src/",
"coverage": "DEBUG=sanity NODE_ENV=test nyc --reporter=html --reporter=lcov --reporter=text npm test",
"coverage": "jest --coverage",
"minify": "uglifyjs -c -m -- umd/index.js > umd/index.min.js",

@@ -19,3 +22,3 @@ "postpublish": "npm run clean",

"prepublish": "in-publish && npm run build || not-in-publish",
"test": "tap --node-arg=--require --node-arg=babel-register test/*.test.js"
"test": "jest"
},

@@ -26,11 +29,8 @@ "keywords": [],

"dependencies": {
"in-publish": "^2.0.0"
"in-publish": "^2.0.0",
"object-assign": "^4.1.1"
},
"devDependencies": {
"babel-cli": "^6.22.2",
"babel-eslint": "^7.1.1",
"babel-plugin-syntax-object-rest-spread": "^6.13.0",
"babel-plugin-transform-object-rest-spread": "^6.23.0",
"babel-preset-es2015": "^6.22.0",
"babel-register": "^6.22.0",
"babel-preset-env": "^1.6.0",
"boxen": "^0.8.1",

@@ -41,9 +41,10 @@ "browserify": "^13.1.1",

"eslint": "^3.13.1",
"eslint-config-prettier": "^2.4.0",
"eslint-config-sanity": "^2.0.1",
"eslint-plugin-import": "^2.2.0",
"gzip-size": "^3.0.0",
"nyc": "^10.0.0",
"jest": "^21.0.2",
"prettier": "^1.6.1",
"pretty-bytes": "^4.0.2",
"rimraf": "^2.5.4",
"tap": "^8.0.1",
"uglify-js": "^2.7.3",

@@ -50,0 +51,0 @@ "uglifyify": "^3.0.4"

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.BlockContentAdapter = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function parseListBlocks(e,r){return r.list(e)}function parseSingleBlock(e,r){var t=e._type,n=r[t];if(!n){var a=_extends({},e);return delete a._type,{type:t,attributes:a}}return n(e)}Object.defineProperty(exports,"__esModule",{value:!0});var _createClass=function(){function e(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(r,t,n){return t&&e(r.prototype,t),n&&e(r,n),r}}(),_extends=Object.assign||function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])}return e},_typeHandlers=require("./type-handlers"),_typeHandlers2=_interopRequireDefault(_typeHandlers),_typeCheckers=require("./type-checkers"),BlockContentToTree=function(){function e(){_classCallCheck(this,e),this.typeHandlers=_typeHandlers2.default}return _createClass(e,[{key:"convert",value:function(e){var r=this;if(Array.isArray(e)){var t=[],n=[];return e.forEach(function(e,a,s){if((0,_typeCheckers.isList)(e)){n.push(e);if((s[a+1]||{}).listItem!==e.listItem){var l=Array.from(n);n=[],t.push(parseListBlocks(l,r.typeHandlers))}}else t.push(parseSingleBlock(e,r.typeHandlers))}),t}if(!e||!e._type)throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);return parseSingleBlock(e,this.typeHandlers)}}]),e}();exports.default=BlockContentToTree;
},{"./type-checkers":4,"./type-handlers":5}],2:[function(require,module,exports){
"use strict";function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(exports,"__esModule",{value:!0});var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},_createClass=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),ContentNester=function(){function e(t){_classCallCheck(this,e),this.spans=t}return _createClass(e,[{key:"run",value:function(){var e={content:[]},t=[e];return this.spans.forEach(function(e){var n=_extends({},e);delete n.text,delete n.marks,delete n._type;var r=e.marks.sort(),a=1;if(t.length>1)for(a;a<t.length;a++){var s=t[a].mark;if(!r.includes(s))break;var o=r.indexOf(s);r.splice(o,1)}t=t.slice(0,a);var c=t.slice(-1)[0];r.forEach(function(e){var n={content:[],mark:e,type:"span",attributes:{}};c.content.push(n),t.push(n),c=n}),Object.keys(n).length?c.content.push({type:"span",attributes:n,content:[e.text]}):c.content.push(e.text)}),e.content}}]),e}(),getContent=function(e){return new ContentNester(e).run()};exports.default=getContent;
},{}],3:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}var _BlockContentToTree=require("./BlockContentToTree.js"),_BlockContentToTree2=_interopRequireDefault(_BlockContentToTree);module.exports=_BlockContentToTree2.default;
},{"./BlockContentToTree.js":1}],4:[function(require,module,exports){
"use strict";function isList(t){var e=t._type,s=t.listItem;return"block"===e&&!!s}function isText(t){return"block"===t._type&&!isList(t)}function getInternalBlockType(t){return isText(t)?"text":isList(t)?"list":"custom"}Object.defineProperty(exports,"__esModule",{value:!0}),exports.isList=isList,exports.isText=isText,exports.getInternalBlockType=getInternalBlockType;
},{}],5:[function(require,module,exports){
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(exports,"__esModule",{value:!0});var _ContentNester=require("./ContentNester"),_ContentNester2=_interopRequireDefault(_ContentNester),block=function(e){var t={type:"block",style:e.style,content:(0,_ContentNester2.default)(e.spans)};return e.extra&&(t.extra=e.extra),t},list=function(e){return{type:"list",itemStyle:e[0].listItem,items:e.map(function(e){var t={type:"block",style:e.style,content:(0,_ContentNester2.default)(e.spans)};return e.extra&&(t.extra=e.extra),t})}};exports.default={block:block,list:list};
"use strict";function _classCallCheck(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function parseListBlocks(e,r){return r.list(e)}function parseSingleBlock(e,r){var t=e._type,n=r[t];if(!n){var s=objectAssign({},e);return delete s._type,{type:t,attributes:s}}return n(e)}var _createClass=function(){function e(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(r,t,n){return t&&e(r.prototype,t),n&&e(r,n),r}}(),objectAssign=require("object-assign"),migrate=require("./migrate"),builtInHandlers=require("./type-handlers"),_require=require("./type-checkers"),isList=_require.isList,BlockContentToTree=function(){function e(r){_classCallCheck(this,e),this.typeHandlers=builtInHandlers,this.options=objectAssign({staticKeys:!0},r)}return _createClass(e,[{key:"convert",value:function(e){var r=this;if(!(Array.isArray(e)||e&&e._type))throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);var t=migrate(e,this.options);if(Array.isArray(t)){var n=[],s=[];return t.forEach(function(e,t,i){if(isList(e)){s.push(e);if((i[t+1]||{}).listItem!==e.listItem){var a=Array.from(s);s=[],n.push(parseListBlocks(a,r.typeHandlers))}}else n.push(parseSingleBlock(e,r.typeHandlers))}),n}return parseSingleBlock(t,this.typeHandlers)}}]),e}();module.exports=BlockContentToTree;
},{"./migrate":5,"./type-checkers":6,"./type-handlers":7,"object-assign":8}],2:[function(require,module,exports){
"use strict";var objectAssign=require("object-assign");module.exports=function(e,r){var t={children:[]},n=[t];return e.forEach(function(e){var t=objectAssign({},e);delete t.text,delete t.marks,delete t._type;var i=e.marks.sort(),s=1;if(n.length>1)for(s;s<n.length;s++){var c=n[s].markKey;if(!i.includes(c))break;var a=i.indexOf(c);i.splice(a,1)}n=n.slice(0,s);var l=n.slice(-1)[0];i.forEach(function(e){var t={type:"span",children:[],mark:r.markDefs.find(function(r){return r._key===e})||e,markKey:e};l.children.push(t),n.push(t),l=t}),Object.keys(t).length?l.children.push({type:"span",attributes:t,children:[e.text]}):l.children.push(e.text)}),t.children};
},{"./ContentNester":2}]},{},[3])(3)
},{"object-assign":8}],3:[function(require,module,exports){
"use strict";function getStaticKey(t){return checksum(JSON.stringify(t)).toString(36).replace(/[^A-Za-z0-9]/g,"")}function getRandomKey(t,e){return Math.random().toString(36).slice(2,e+2)}function checksum(t){var e=0,n=t.length;if(0===n)return e;for(var r=0;r<n;r++)e=(e<<5)-e+t.charCodeAt(r),e&=e;return e}module.exports=function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=e.length||8;return e.staticKeys?getStaticKey(t,n):getRandomKey(t,n)};
},{}],4:[function(require,module,exports){
"use strict";module.exports=require("./BlockContentToTree");
},{"./BlockContentToTree":1}],5:[function(require,module,exports){
"use strict";function migrate(e,r){if("block"===e._type)return migrateBlock(e,r);if(Array.isArray(e))return e.map(function(e){return migrateBlock(e,r)});throw new Error("Unrecognized block structure passed to migrate()")}function migrateBlock(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.spans)return e;var t=[],n=e.spans.map(function(e){return Object.keys(e).reduce(function(n,s){if(knownSpanKeys.includes(s))return n[s]=e[s],n;var a=generateKey(e[s],r);return n.marks=[a].concat(e.marks),t.push(objectAssign({},e[s],{_type:s,_key:a})),n},{})}),s=objectAssign({},e,{children:n,markDefs:t});return delete s.spans,s}var objectAssign=require("object-assign"),generateKey=require("./generateKey"),knownSpanKeys=["_type","text","marks"];module.exports=migrate;
},{"./generateKey":3,"object-assign":8}],6:[function(require,module,exports){
"use strict";function isList(t){var e=t._type,i=t.listItem;return"block"===e&&!!i}function isText(t){return"block"===t._type&&!isList(t)}function getInternalBlockType(t){return isText(t)?"text":isList(t)?"list":"custom"}module.exports={isList:isList,isText:isText,getInternalBlockType:getInternalBlockType};
},{}],7:[function(require,module,exports){
"use strict";var nestContent=require("./ContentNester"),block=function(t){var e={type:"block",style:t.style,children:nestContent(t.children,t)};return t.extra&&(e.extra=t.extra),e},list=function(t){return{type:"list",itemStyle:t[0].listItem,items:t.map(function(t){var e={type:"block",style:t.style,children:nestContent(t.children,t)};return t.extra&&(e.extra=t.extra),e})}};module.exports={block:block,list:list};
},{"./ContentNester":2}],8:[function(require,module,exports){
"use strict";function toObject(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function shouldUseNative(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var r={},t=0;t<10;t++)r["_"+String.fromCharCode(t)]=t;if("0123456789"!==Object.getOwnPropertyNames(r).map(function(e){return r[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}var getOwnPropertySymbols=Object.getOwnPropertySymbols,hasOwnProperty=Object.prototype.hasOwnProperty,propIsEnumerable=Object.prototype.propertyIsEnumerable;module.exports=shouldUseNative()?Object.assign:function(e,r){for(var t,n,o=toObject(e),a=1;a<arguments.length;a++){t=Object(arguments[a]);for(var s in t)hasOwnProperty.call(t,s)&&(o[s]=t[s]);if(getOwnPropertySymbols){n=getOwnPropertySymbols(t);for(var c=0;c<n.length;c++)propIsEnumerable.call(t,n[c])&&(o[n[c]]=t[n[c]])}}return o};
},{}]},{},[4])(4)
});

@@ -1,1 +0,1 @@

!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.BlockContentAdapter=e()}}(function(){return function e(t,n,r){function o(i,a){if(!n[i]){if(!t[i]){var f="function"==typeof require&&require;if(!a&&f)return f(i,!0);if(u)return u(i,!0);var s=new Error("Cannot find module '"+i+"'");throw s.code="MODULE_NOT_FOUND",s}var c=n[i]={exports:{}};t[i][0].call(c.exports,function(e){var n=t[i][1][e];return o(n||e)},c,c.exports,e,t,n,r)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}({1:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){return t.list(e)}function u(e,t){var n=e._type,r=t[n];if(!r){var o=a({},e);return delete o._type,{type:n,attributes:o}}return r(e)}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},f=e("./type-handlers"),s=function(e){return e&&e.__esModule?e:{default:e}}(f),c=e("./type-checkers"),l=function(){function e(){r(this,e),this.typeHandlers=s.default}return i(e,[{key:"convert",value:function(e){var t=this;if(Array.isArray(e)){var n=[],r=[];return e.forEach(function(e,i,a){if((0,c.isList)(e)){if(r.push(e),(a[i+1]||{}).listItem!==e.listItem){var f=Array.from(r);r=[],n.push(o(f,t.typeHandlers))}}else n.push(u(e,t.typeHandlers))}),n}if(!e||!e._type)throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);return u(e,this.typeHandlers)}}]),e}();n.default=l},{"./type-checkers":4,"./type-handlers":5}],2:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=function(){function e(t){r(this,e),this.spans=t}return u(e,[{key:"run",value:function(){var e={content:[]},t=[e];return this.spans.forEach(function(e){var n=o({},e);delete n.text,delete n.marks,delete n._type;var r=e.marks.sort(),u=1;if(t.length>1)for(u;u<t.length;u++){var i=t[u].mark;if(!r.includes(i))break;var a=r.indexOf(i);r.splice(a,1)}t=t.slice(0,u);var f=t.slice(-1)[0];r.forEach(function(e){var n={content:[],mark:e,type:"span",attributes:{}};f.content.push(n),t.push(n),f=n}),Object.keys(n).length?f.content.push({type:"span",attributes:n,content:[e.text]}):f.content.push(e.text)}),e.content}}]),e}(),a=function(e){return new i(e).run()};n.default=a},{}],3:[function(e,t,n){"use strict";var r=e("./BlockContentToTree.js"),o=function(e){return e&&e.__esModule?e:{default:e}}(r);t.exports=o.default},{"./BlockContentToTree.js":1}],4:[function(e,t,n){"use strict";function r(e){var t=e._type,n=e.listItem;return"block"===t&&!!n}function o(e){return"block"===e._type&&!r(e)}function u(e){return o(e)?"text":r(e)?"list":"custom"}Object.defineProperty(n,"__esModule",{value:!0}),n.isList=r,n.isText=o,n.getInternalBlockType=u},{}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./ContentNester"),o=function(e){return e&&e.__esModule?e:{default:e}}(r),u=function(e){var t={type:"block",style:e.style,content:(0,o.default)(e.spans)};return e.extra&&(t.extra=e.extra),t},i=function(e){return{type:"list",itemStyle:e[0].listItem,items:e.map(function(e){var t={type:"block",style:e.style,content:(0,o.default)(e.spans)};return e.extra&&(t.extra=e.extra),t})}};n.default={block:u,list:i}},{"./ContentNester":2}]},{},[3])(3)});
!function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;t="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,t.BlockContentAdapter=e()}}(function(){return function e(t,r,n){function i(s,a){if(!r[s]){if(!t[s]){var c="function"==typeof require&&require;if(!a&&c)return c(s,!0);if(o)return o(s,!0);var u=new Error("Cannot find module '"+s+"'");throw u.code="MODULE_NOT_FOUND",u}var f=r[s]={exports:{}};t[s][0].call(f.exports,function(e){var r=t[s][1][e];return i(r||e)},f,f.exports,e,t,r,n)}return r[s].exports}for(var o="function"==typeof require&&require,s=0;s<n.length;s++)i(n[s]);return i}({1:[function(e,t,r){"use strict";function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){return t.list(e)}function o(e,t){var r=e._type,n=t[r];if(!n){var i=a({},e);return delete i._type,{type:r,attributes:i}}return n(e)}var s=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),a=e("object-assign"),c=e("./migrate"),u=e("./type-handlers"),f=e("./type-checkers"),l=f.isList,p=function(){function e(t){n(this,e),this.typeHandlers=u,this.options=a({staticKeys:!0},t)}return s(e,[{key:"convert",value:function(e){var t=this;if(!(Array.isArray(e)||e&&e._type))throw new Error("Input must be an Array or an Object (with a ._type) - got "+e);var r=c(e,this.options);if(Array.isArray(r)){var n=[],s=[];return r.forEach(function(e,r,a){if(l(e)){if(s.push(e),(a[r+1]||{}).listItem!==e.listItem){var c=Array.from(s);s=[],n.push(i(c,t.typeHandlers))}}else n.push(o(e,t.typeHandlers))}),n}return o(r,this.typeHandlers)}}]),e}();t.exports=p},{"./migrate":5,"./type-checkers":6,"./type-handlers":7,"object-assign":8}],2:[function(e,t,r){"use strict";var n=e("object-assign");t.exports=function(e,t){var r={children:[]},i=[r];return e.forEach(function(e){var r=n({},e);delete r.text,delete r.marks,delete r._type;var o=e.marks.sort(),s=1;if(i.length>1)for(s;s<i.length;s++){var a=i[s].markKey;if(!o.includes(a))break;var c=o.indexOf(a);o.splice(c,1)}i=i.slice(0,s);var u=i.slice(-1)[0];o.forEach(function(e){var r={type:"span",children:[],mark:t.markDefs.find(function(t){return t._key===e})||e,markKey:e};u.children.push(r),i.push(r),u=r}),Object.keys(r).length?u.children.push({type:"span",attributes:r,children:[e.text]}):u.children.push(e.text)}),r.children}},{"object-assign":8}],3:[function(e,t,r){"use strict";function n(e){return o(JSON.stringify(e)).toString(36).replace(/[^A-Za-z0-9]/g,"")}function i(e,t){return Math.random().toString(36).slice(2,t+2)}function o(e){var t=0,r=e.length;if(0===r)return t;for(var n=0;n<r;n++)t=(t<<5)-t+e.charCodeAt(n),t&=t;return t}t.exports=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=t.length||8;return t.staticKeys?n(e):i(e,r)}},{}],4:[function(e,t,r){"use strict";t.exports=e("./BlockContentToTree")},{"./BlockContentToTree":1}],5:[function(e,t,r){"use strict";function n(e,t){if("block"===e._type)return i(e,t);if(Array.isArray(e))return e.map(function(e){return i(e,t)});throw new Error("Unrecognized block structure passed to migrate()")}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e.spans)return e;var r=[],n=e.spans.map(function(e){return Object.keys(e).reduce(function(n,i){if(a.includes(i))return n[i]=e[i],n;var c=s(e[i],t);return n.marks=[c].concat(e.marks),r.push(o({},e[i],{_type:i,_key:c})),n},{})}),i=o({},e,{children:n,markDefs:r});return delete i.spans,i}var o=e("object-assign"),s=e("./generateKey"),a=["_type","text","marks"];t.exports=n},{"./generateKey":3,"object-assign":8}],6:[function(e,t,r){"use strict";function n(e){var t=e._type,r=e.listItem;return"block"===t&&!!r}function i(e){return"block"===e._type&&!n(e)}function o(e){return i(e)?"text":n(e)?"list":"custom"}t.exports={isList:n,isText:i,getInternalBlockType:o}},{}],7:[function(e,t,r){"use strict";var n=e("./ContentNester"),i=function(e){var t={type:"block",style:e.style,children:n(e.children,e)};return e.extra&&(t.extra=e.extra),t},o=function(e){return{type:"list",itemStyle:e[0].listItem,items:e.map(function(e){var t={type:"block",style:e.style,children:n(e.children,e)};return e.extra&&(t.extra=e.extra),t})}};t.exports={block:i,list:o}},{"./ContentNester":2}],8:[function(e,t,r){"use strict";function n(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},r=0;r<10;r++)t["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(e){n[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var r,a,c=n(e),u=1;u<arguments.length;u++){r=Object(arguments[u]);for(var f in r)o.call(r,f)&&(c[f]=r[f]);if(i){a=i(r);for(var l=0;l<a.length;l++)s.call(r,a[l])&&(c[a[l]]=r[a[l]])}}return c}},{}]},{},[4])(4)});

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc