Skip to content

Instantly share code, notes, and snippets.

@bobaaaaa

bobaaaaa/.swcrc Secret

Last active March 14, 2022 14:16
Show Gist options
  • Save bobaaaaa/3649b3a7e6312793a257bf67c500128a to your computer and use it in GitHub Desktop.
Save bobaaaaa/3649b3a7e6312793a257bf67c500128a to your computer and use it in GitHub Desktop.
swc-jest-coverage
{
"test": ".*.ts$",
"jsc": {
"target": "es2021",
"parser": {
"syntax": "typescript",
"tsx": false,
"decorators": false,
"dynamicImport": false
},
"externalHelpers": true
},
"module": {
"type": "commonjs"
},
"sourceMaps": true
}
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
node: true,
node: true
};
exports.seq = exports.sources = exports.source = exports.header = exports.stage = exports.opener = exports.trustBox = exports.create = exports.node = void 0;
var swcHelpers = require("@swc/helpers");
var _abstractBuilders = require("./AbstractBuilders");
var _builderUtils = require("./Builder.utils");
var _elementBuilder = require("./ElementBuilder");
var _node = swcHelpers.interopRequireWildcard(require("./BodyNodesBuilder"));
Object.keys(_node).forEach(function(key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _node[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function() {
return _node[key];
}
});
});
exports.node = _node;
const create = ()=>new BodyBuilder()
;
exports.create = create;
const trustBox = ()=>new TrustBoxBuilder()
;
exports.trustBox = trustBox;
const opener = ()=>new OpenerBuilder()
;
exports.opener = opener;
const stage = ()=>new BodyStageBuilder()
;
exports.stage = stage;
const header = ()=>new BodyHeaderBuilder()
;
exports.header = header;
const source = (nodes = [])=>new ArticleSourceBuilder(...nodes)
;
exports.source = source;
const sources = ()=>new ArticleSourcesBuilder()
;
exports.sources = sources;
const seq = {
stage: ()=>new BodyStageSeqBuilder()
,
source: ()=>new ArticleSourceSeqBuilder()
};
exports.seq = seq;
var _stages = /*#__PURE__*/ new WeakMap(), _trustBox = /*#__PURE__*/ new WeakMap(), _disclaimer = /*#__PURE__*/ new WeakMap(), _articleSources = /*#__PURE__*/ new WeakMap();
class BodyBuilder extends _abstractBuilders.AbstractBuilder {
stages(...stages) {
swcHelpers.classPrivateFieldSet(this, _stages, stages.map(_builderUtils.mapBuildArg));
return this;
}
trustBox(trustBox1) {
swcHelpers.classPrivateFieldSet(this, _trustBox, (0, _builderUtils).mapBuildArg(trustBox1));
return this;
}
disclaimer(disclaimer) {
swcHelpers.classPrivateFieldSet(this, _disclaimer, disclaimer?.map(_builderUtils.mapBuildArg));
return this;
}
articleSources(articleSources) {
swcHelpers.classPrivateFieldSet(this, _articleSources, (0, _builderUtils).mapBuildArg(articleSources));
return this;
}
build() {
return {
stages: swcHelpers.classPrivateFieldGet(this, _stages),
trustBox: swcHelpers.classPrivateFieldGet(this, _trustBox),
disclaimer: swcHelpers.classPrivateFieldGet(this, _disclaimer),
articleSources: swcHelpers.classPrivateFieldGet(this, _articleSources)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _stages, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _trustBox, {
writable: true,
value: undefined
});
swcHelpers.classPrivateFieldInit(this, _disclaimer, {
writable: true,
value: undefined
});
swcHelpers.classPrivateFieldInit(this, _articleSources, {
writable: true,
value: undefined
});
}
}
var _nodes = /*#__PURE__*/ new WeakMap(), _hidden = /*#__PURE__*/ new WeakMap();
class TrustBoxBuilder extends _abstractBuilders.AbstractBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes, nodes.map(_builderUtils.mapBuildArg));
return this;
}
hidden(hidden) {
swcHelpers.classPrivateFieldSet(this, _hidden, hidden.map(_builderUtils.mapBuildArg));
return this;
}
build() {
return {
nodes: swcHelpers.classPrivateFieldGet(this, _nodes),
hidden: swcHelpers.classPrivateFieldGet(this, _hidden)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _hidden, {
writable: true,
value: []
});
}
}
var _element = /*#__PURE__*/ new WeakMap();
class OpenerBuilder extends _abstractBuilders.AbstractBuilder {
element(element) {
swcHelpers.classPrivateFieldSet(this, _element, (0, _builderUtils).mapBuildArg(element));
return this;
}
build() {
return {
element: swcHelpers.classPrivateFieldGet(this, _element)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _element, {
writable: true,
value: (0, _elementBuilder).image().build()
});
}
}
var _nodes1 = /*#__PURE__*/ new WeakMap(), _header = /*#__PURE__*/ new WeakMap(), _companions = /*#__PURE__*/ new WeakMap(), _commercialsEndOfStage = /*#__PURE__*/ new WeakMap();
class BodyStageSeqBuilder extends _abstractBuilders.AbstractSeqBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes1, nodes.map(_builderUtils.mapBuildArgs));
return this;
}
header(header1) {
swcHelpers.classPrivateFieldSet(this, _header, (0, _builderUtils).mapBuildArgs(header1 ?? []));
return this;
}
companions(companions) {
swcHelpers.classPrivateFieldSet(this, _companions, companions.map(_builderUtils.mapBuildArgs));
return this;
}
commercialsEndOfStage(commercialsEndOfStage) {
swcHelpers.classPrivateFieldSet(this, _commercialsEndOfStage, commercialsEndOfStage.map(_builderUtils.mapBuildArgs));
return this;
}
buildListItem(seqNextElement) {
return {
id: (0, _builderUtils).hash('bodyStage', swcHelpers.classPrivateFieldGet(this, _nodes1), swcHelpers.classPrivateFieldGet(this, _companions), swcHelpers.classPrivateFieldGet(this, _commercialsEndOfStage), swcHelpers.classPrivateFieldGet(this, _header)),
nodes: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _nodes1)),
header: seqNextElement.maybe(swcHelpers.classPrivateFieldGet(this, _header)),
companions: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _companions)),
commercialsEndOfStage: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _commercialsEndOfStage))
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes1, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _header, {
writable: true,
value: undefined
});
swcHelpers.classPrivateFieldInit(this, _companions, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _commercialsEndOfStage, {
writable: true,
value: []
});
}
}
var _seqBuilder = /*#__PURE__*/ new WeakMap();
class BodyStageBuilder extends _abstractBuilders.AbstractBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).nodes([
nodes
]);
return this;
}
header(header2) {
if (header2) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).header([
header2
]);
}
return this;
}
companions(companions) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).companions([
companions
]);
return this;
}
commercialsEndOfStage(commercialsEndOfStage) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).commercialsEndOfStage([
commercialsEndOfStage
]);
return this;
}
build() {
return swcHelpers.classPrivateFieldGet(this, _seqBuilder).build();
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _seqBuilder, {
writable: true,
value: new BodyStageSeqBuilder()
});
}
}
var _variant = /*#__PURE__*/ new WeakMap(), _opener = /*#__PURE__*/ new WeakMap();
class BodyHeaderBuilder extends _abstractBuilders.AbstractBuilder {
variant(variant) {
swcHelpers.classPrivateFieldSet(this, _variant, variant);
return this;
}
opener(opener1) {
swcHelpers.classPrivateFieldSet(this, _opener, (0, _builderUtils).mapBuildArg(opener1));
return this;
}
build() {
return {
variant: swcHelpers.classPrivateFieldGet(this, _variant),
opener: swcHelpers.classPrivateFieldGet(this, _opener)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _variant, {
writable: true,
value: 'full'
});
swcHelpers.classPrivateFieldInit(this, _opener, {
writable: true,
value: undefined
});
}
}
var _nodes2 = /*#__PURE__*/ new WeakMap();
class ArticleSourceSeqBuilder extends _abstractBuilders.AbstractSeqBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes2, nodes.map(_builderUtils.mapBuildArgs));
return this;
}
buildListItem(seqNextElement) {
const id = (0, _builderUtils).hash('article-source', swcHelpers.classPrivateFieldGet(this, _nodes2));
return {
id,
nodes: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _nodes2))
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes2, {
writable: true,
value: []
});
}
}
var _seqBuilder1 = /*#__PURE__*/ new WeakMap();
class ArticleSourceBuilder extends _abstractBuilders.AbstractBuilder {
nodes(...nodes) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder1).nodes([
nodes
]);
return this;
}
build() {
return swcHelpers.classPrivateFieldGet(this, _seqBuilder1).build();
}
constructor(...nodes){
super();
swcHelpers.classPrivateFieldInit(this, _seqBuilder1, {
writable: true,
value: new ArticleSourceSeqBuilder()
});
this.nodes(...nodes);
}
}
var _nodes3 = /*#__PURE__*/ new WeakMap(), _hidden1 = /*#__PURE__*/ new WeakMap();
class ArticleSourcesBuilder extends _abstractBuilders.AbstractBuilder {
nodes(...nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes3, nodes.map(_builderUtils.mapBuildArg));
return this;
}
hidden(...hidden) {
swcHelpers.classPrivateFieldSet(this, _hidden1, hidden.map(_builderUtils.mapBuildArg));
return this;
}
build() {
return {
nodes: swcHelpers.classPrivateFieldGet(this, _nodes3),
hidden: swcHelpers.classPrivateFieldGet(this, _hidden1)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes3, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _hidden1, {
writable: true,
value: []
});
}
}
//# sourceMappingURL=BodyBuilder.js.map
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _exportNames = {
node: true,
node: true
};
exports.seq = exports.sources = exports.source = exports.header = exports.stage = exports.opener = exports.trustBox = exports.create = exports.node = void 0;
var swcHelpers = require("@swc/helpers");
var _abstractBuilders = require("./AbstractBuilders");
var _builderUtils = require("./Builder.utils");
var _elementBuilder = require("./ElementBuilder");
var _node = swcHelpers.interopRequireWildcard(require("./BodyNodesBuilder"));
Object.keys(_node).forEach(function(key) {
if (key === "default" || key === "__esModule") return;
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
if (key in exports && exports[key] === _node[key]) return;
Object.defineProperty(exports, key, {
enumerable: true,
get: function() {
return _node[key];
}
});
});
exports.node = _node;
const create = ()=>new BodyBuilder()
;
exports.create = create;
const trustBox = ()=>new TrustBoxBuilder()
;
exports.trustBox = trustBox;
const opener = ()=>new OpenerBuilder()
;
exports.opener = opener;
const stage = ()=>new BodyStageBuilder()
;
exports.stage = stage;
const header = ()=>new BodyHeaderBuilder()
;
exports.header = header;
const source = (nodes = [])=>new ArticleSourceBuilder(...nodes)
;
exports.source = source;
const sources = ()=>new ArticleSourcesBuilder()
;
exports.sources = sources;
const seq = {
stage: ()=>new BodyStageSeqBuilder()
,
source: ()=>new ArticleSourceSeqBuilder()
};
exports.seq = seq;
var _stages = /*#__PURE__*/ new WeakMap(), _trustBox = /*#__PURE__*/ new WeakMap(), _disclaimer = /*#__PURE__*/ new WeakMap(), _articleSources = /*#__PURE__*/ new WeakMap();
class BodyBuilder extends _abstractBuilders.AbstractBuilder {
stages(...stages) {
swcHelpers.classPrivateFieldSet(this, _stages, stages.map(_builderUtils.mapBuildArg));
return this;
}
trustBox(trustBox1) {
swcHelpers.classPrivateFieldSet(this, _trustBox, (0, _builderUtils).mapBuildArg(trustBox1));
return this;
}
disclaimer(disclaimer) {
swcHelpers.classPrivateFieldSet(this, _disclaimer, disclaimer?.map(_builderUtils.mapBuildArg));
return this;
}
articleSources(articleSources) {
swcHelpers.classPrivateFieldSet(this, _articleSources, (0, _builderUtils).mapBuildArg(articleSources));
return this;
}
build() {
return {
stages: swcHelpers.classPrivateFieldGet(this, _stages),
trustBox: swcHelpers.classPrivateFieldGet(this, _trustBox),
disclaimer: swcHelpers.classPrivateFieldGet(this, _disclaimer),
articleSources: swcHelpers.classPrivateFieldGet(this, _articleSources)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _stages, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _trustBox, {
writable: true,
value: undefined
});
swcHelpers.classPrivateFieldInit(this, _disclaimer, {
writable: true,
value: undefined
});
swcHelpers.classPrivateFieldInit(this, _articleSources, {
writable: true,
value: undefined
});
}
}
var _nodes = /*#__PURE__*/ new WeakMap(), _hidden = /*#__PURE__*/ new WeakMap();
class TrustBoxBuilder extends _abstractBuilders.AbstractBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes, nodes.map(_builderUtils.mapBuildArg));
return this;
}
hidden(hidden) {
swcHelpers.classPrivateFieldSet(this, _hidden, hidden.map(_builderUtils.mapBuildArg));
return this;
}
build() {
return {
nodes: swcHelpers.classPrivateFieldGet(this, _nodes),
hidden: swcHelpers.classPrivateFieldGet(this, _hidden)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _hidden, {
writable: true,
value: []
});
}
}
var _element = /*#__PURE__*/ new WeakMap();
class OpenerBuilder extends _abstractBuilders.AbstractBuilder {
element(element) {
swcHelpers.classPrivateFieldSet(this, _element, (0, _builderUtils).mapBuildArg(element));
return this;
}
build() {
return {
element: swcHelpers.classPrivateFieldGet(this, _element)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _element, {
writable: true,
value: (0, _elementBuilder).image().build()
});
}
}
var _nodes1 = /*#__PURE__*/ new WeakMap(), _header = /*#__PURE__*/ new WeakMap(), _companions = /*#__PURE__*/ new WeakMap(), _commercialsEndOfStage = /*#__PURE__*/ new WeakMap();
class BodyStageSeqBuilder extends _abstractBuilders.AbstractSeqBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes1, nodes.map(_builderUtils.mapBuildArgs));
return this;
}
header(header1) {
swcHelpers.classPrivateFieldSet(this, _header, (0, _builderUtils).mapBuildArgs(header1 ?? []));
return this;
}
companions(companions) {
swcHelpers.classPrivateFieldSet(this, _companions, companions.map(_builderUtils.mapBuildArgs));
return this;
}
commercialsEndOfStage(commercialsEndOfStage) {
swcHelpers.classPrivateFieldSet(this, _commercialsEndOfStage, commercialsEndOfStage.map(_builderUtils.mapBuildArgs));
return this;
}
buildListItem(seqNextElement) {
return {
id: (0, _builderUtils).hash('bodyStage', swcHelpers.classPrivateFieldGet(this, _nodes1), swcHelpers.classPrivateFieldGet(this, _companions), swcHelpers.classPrivateFieldGet(this, _commercialsEndOfStage), swcHelpers.classPrivateFieldGet(this, _header)),
nodes: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _nodes1)),
header: seqNextElement.maybe(swcHelpers.classPrivateFieldGet(this, _header)),
companions: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _companions)),
commercialsEndOfStage: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _commercialsEndOfStage))
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes1, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _header, {
writable: true,
value: undefined
});
swcHelpers.classPrivateFieldInit(this, _companions, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _commercialsEndOfStage, {
writable: true,
value: []
});
}
}
var _seqBuilder = /*#__PURE__*/ new WeakMap();
class BodyStageBuilder extends _abstractBuilders.AbstractBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).nodes([
nodes
]);
return this;
}
header(header2) {
if (header2) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).header([
header2
]);
}
return this;
}
companions(companions) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).companions([
companions
]);
return this;
}
commercialsEndOfStage(commercialsEndOfStage) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder).commercialsEndOfStage([
commercialsEndOfStage
]);
return this;
}
build() {
return swcHelpers.classPrivateFieldGet(this, _seqBuilder).build();
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _seqBuilder, {
writable: true,
value: new BodyStageSeqBuilder()
});
}
}
var _variant = /*#__PURE__*/ new WeakMap(), _opener = /*#__PURE__*/ new WeakMap();
class BodyHeaderBuilder extends _abstractBuilders.AbstractBuilder {
variant(variant) {
swcHelpers.classPrivateFieldSet(this, _variant, variant);
return this;
}
opener(opener1) {
swcHelpers.classPrivateFieldSet(this, _opener, (0, _builderUtils).mapBuildArg(opener1));
return this;
}
build() {
return {
variant: swcHelpers.classPrivateFieldGet(this, _variant),
opener: swcHelpers.classPrivateFieldGet(this, _opener)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _variant, {
writable: true,
value: 'full'
});
swcHelpers.classPrivateFieldInit(this, _opener, {
writable: true,
value: undefined
});
}
}
var _nodes2 = /*#__PURE__*/ new WeakMap();
class ArticleSourceSeqBuilder extends _abstractBuilders.AbstractSeqBuilder {
nodes(nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes2, nodes.map(_builderUtils.mapBuildArgs));
return this;
}
buildListItem(seqNextElement) {
const id = (0, _builderUtils).hash('article-source', swcHelpers.classPrivateFieldGet(this, _nodes2));
return {
id,
nodes: seqNextElement.array(swcHelpers.classPrivateFieldGet(this, _nodes2))
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes2, {
writable: true,
value: []
});
}
}
var _seqBuilder1 = /*#__PURE__*/ new WeakMap();
class ArticleSourceBuilder extends _abstractBuilders.AbstractBuilder {
nodes(...nodes) {
swcHelpers.classPrivateFieldGet(this, _seqBuilder1).nodes([
nodes
]);
return this;
}
build() {
return swcHelpers.classPrivateFieldGet(this, _seqBuilder1).build();
}
constructor(...nodes){
super();
swcHelpers.classPrivateFieldInit(this, _seqBuilder1, {
writable: true,
value: new ArticleSourceSeqBuilder()
});
this.nodes(...nodes);
}
}
var _nodes3 = /*#__PURE__*/ new WeakMap(), _hidden1 = /*#__PURE__*/ new WeakMap();
class ArticleSourcesBuilder extends _abstractBuilders.AbstractBuilder {
nodes(...nodes) {
swcHelpers.classPrivateFieldSet(this, _nodes3, nodes.map(_builderUtils.mapBuildArg));
return this;
}
hidden(...hidden) {
swcHelpers.classPrivateFieldSet(this, _hidden1, hidden.map(_builderUtils.mapBuildArg));
return this;
}
build() {
return {
nodes: swcHelpers.classPrivateFieldGet(this, _nodes3),
hidden: swcHelpers.classPrivateFieldGet(this, _hidden1)
};
}
constructor(...args){
super(...args);
swcHelpers.classPrivateFieldInit(this, _nodes3, {
writable: true,
value: []
});
swcHelpers.classPrivateFieldInit(this, _hidden1, {
writable: true,
value: []
});
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Cb2R5QnVpbGRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdEJ1aWxkZXIsIEFic3RyYWN0U2VxQnVpbGRlciB9IGZyb20gJy4vQWJzdHJhY3RCdWlsZGVycyc7XG5pbXBvcnQgeyBoYXNoLCBtYXBCdWlsZEFyZywgbWFwQnVpbGRBcmdzIH0gZnJvbSAnLi9CdWlsZGVyLnV0aWxzJztcbmltcG9ydCB7IGltYWdlIH0gZnJvbSAnLi9FbGVtZW50QnVpbGRlcic7XG5cbmltcG9ydCB0eXBlIHtcbiAgQm9keSxcbiAgQm9keVN0YWdlLFxuICBUcnVzdEJveCxcbiAgUmljaFRleHQsXG4gIE9wZW5lcixcbiAgQm9keUhlYWRlcixcbiAgU3RhZ2UsXG4gIEFydGljbGVTb3VyY2UsXG4gIEFydGljbGVTb3VyY2VzLFxufSBmcm9tICdAcGFwZXIvbW9kZWxzJztcbmltcG9ydCB0eXBlIHsgQnVpbGRBcmcsIEJ1aWxkQXJncywgQ3JlYXRlQnVpbGRlciwgU2VxRWxlbWVudCwgU2VxTmV4dEVsZW1lbnRDb252ZXJ0ZXIgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2Uge0J1aWxkZXIuYm9keS5ub2RlLmltZygpfVxuICovXG5leHBvcnQgKiBmcm9tICcuL0JvZHlOb2Rlc0J1aWxkZXInO1xuZXhwb3J0ICogYXMgbm9kZSBmcm9tICcuL0JvZHlOb2Rlc0J1aWxkZXInO1xuXG5leHBvcnQgY29uc3QgY3JlYXRlOiBDcmVhdGVCdWlsZGVyPEJvZHlCdWlsZGVyPiA9ICgpID0+IG5ldyBCb2R5QnVpbGRlcigpO1xuZXhwb3J0IGNvbnN0IHRydXN0Qm94OiBDcmVhdGVCdWlsZGVyPFRydXN0Qm94QnVpbGRlcj4gPSAoKSA9PiBuZXcgVHJ1c3RCb3hCdWlsZGVyKCk7XG5leHBvcnQgY29uc3Qgb3BlbmVyOiBDcmVhdGVCdWlsZGVyPE9wZW5lckJ1aWxkZXI+ID0gKCkgPT4gbmV3IE9wZW5lckJ1aWxkZXIoKTtcbmV4cG9ydCBjb25zdCBzdGFnZTogQ3JlYXRlQnVpbGRlcjxCb2R5U3RhZ2VCdWlsZGVyPiA9ICgpID0+IG5ldyBCb2R5U3RhZ2VCdWlsZGVyKCk7XG5leHBvcnQgY29uc3QgaGVhZGVyOiBDcmVhdGVCdWlsZGVyPEJvZHlIZWFkZXJCdWlsZGVyPiA9ICgpID0+IG5ldyBCb2R5SGVhZGVyQnVpbGRlcigpO1xuZXhwb3J0IGNvbnN0IHNvdXJjZTogQ3JlYXRlQnVpbGRlcjxBcnRpY2xlU291cmNlQnVpbGRlciwgQnVpbGRBcmdzPFJpY2hUZXh0Lk5vZGU+PiA9IChcbiAgbm9kZXM6IEJ1aWxkQXJnczxSaWNoVGV4dC5Ob2RlPiA9IFtdLFxuKSA9PiBuZXcgQXJ0aWNsZVNvdXJjZUJ1aWxkZXIoLi4ubm9kZXMpO1xuZXhwb3J0IGNvbnN0IHNvdXJjZXM6IENyZWF0ZUJ1aWxkZXI8QXJ0aWNsZVNvdXJjZXNCdWlsZGVyPiA9ICgpID0+IG5ldyBBcnRpY2xlU291cmNlc0J1aWxkZXIoKTtcblxuZXhwb3J0IGNvbnN0IHNlcSA9IHtcbiAgc3RhZ2U6ICgoKSA9PiBuZXcgQm9keVN0YWdlU2VxQnVpbGRlcigpKSBhcyBDcmVhdGVCdWlsZGVyPEJvZHlTdGFnZVNlcUJ1aWxkZXI+LFxuICBzb3VyY2U6ICgoKSA9PiBuZXcgQXJ0aWNsZVNvdXJjZVNlcUJ1aWxkZXIoKSkgYXMgQ3JlYXRlQnVpbGRlcjxBcnRpY2xlU291cmNlU2VxQnVpbGRlcj4sXG59IGFzIGNvbnN0O1xuXG5jbGFzcyBCb2R5QnVpbGRlciBleHRlbmRzIEFic3RyYWN0QnVpbGRlcjxCb2R5PiB7XG4gICNzdGFnZXM6IEJvZHlTdGFnZVtdID0gW107XG4gICN0cnVzdEJveD86IFRydXN0Qm94ID0gdW5kZWZpbmVkO1xuICAjZGlzY2xhaW1lcj86IFJpY2hUZXh0Lk5vZGVbXSA9IHVuZGVmaW5lZDtcbiAgI2FydGljbGVTb3VyY2VzPzogQXJ0aWNsZVNvdXJjZXMgPSB1bmRlZmluZWQ7XG5cbiAgc3RhZ2VzKC4uLnN0YWdlczogQnVpbGRBcmdzPEJvZHlTdGFnZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNzdGFnZXMgPSBzdGFnZXMubWFwKG1hcEJ1aWxkQXJnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHRydXN0Qm94KHRydXN0Qm94PzogQnVpbGRBcmc8VHJ1c3RCb3g+KTogdGhpcyB7XG4gICAgdGhpcy4jdHJ1c3RCb3ggPSBtYXBCdWlsZEFyZyh0cnVzdEJveCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBkaXNjbGFpbWVyKGRpc2NsYWltZXI/OiBCdWlsZEFyZ3M8UmljaFRleHQuTm9kZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNkaXNjbGFpbWVyID0gZGlzY2xhaW1lcj8ubWFwKG1hcEJ1aWxkQXJnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFydGljbGVTb3VyY2VzKGFydGljbGVTb3VyY2VzPzogQnVpbGRBcmc8QXJ0aWNsZVNvdXJjZXM+KTogdGhpcyB7XG4gICAgdGhpcy4jYXJ0aWNsZVNvdXJjZXMgPSBtYXBCdWlsZEFyZyhhcnRpY2xlU291cmNlcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBidWlsZCgpOiBCb2R5IHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhZ2VzOiB0aGlzLiNzdGFnZXMsXG4gICAgICB0cnVzdEJveDogdGhpcy4jdHJ1c3RCb3gsXG4gICAgICBkaXNjbGFpbWVyOiB0aGlzLiNkaXNjbGFpbWVyLFxuICAgICAgYXJ0aWNsZVNvdXJjZXM6IHRoaXMuI2FydGljbGVTb3VyY2VzLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgVHJ1c3RCb3hCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RCdWlsZGVyPFRydXN0Qm94PiB7XG4gICNub2RlczogUmljaFRleHQuTm9kZVtdID0gW107XG4gICNoaWRkZW46IFJpY2hUZXh0Lk5vZGVbXSA9IFtdO1xuXG4gIG5vZGVzKG5vZGVzOiBCdWlsZEFyZ3M8UmljaFRleHQuTm9kZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNub2RlcyA9IG5vZGVzLm1hcChtYXBCdWlsZEFyZyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBoaWRkZW4oaGlkZGVuOiBCdWlsZEFyZ3M8UmljaFRleHQuTm9kZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNoaWRkZW4gPSBoaWRkZW4ubWFwKG1hcEJ1aWxkQXJnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGJ1aWxkKCk6IFRydXN0Qm94IHtcbiAgICByZXR1cm4ge1xuICAgICAgbm9kZXM6IHRoaXMuI25vZGVzLFxuICAgICAgaGlkZGVuOiB0aGlzLiNoaWRkZW4sXG4gICAgfTtcbiAgfVxufVxuXG5jbGFzcyBPcGVuZXJCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RCdWlsZGVyPE9wZW5lcj4ge1xuICAjZWxlbWVudDogT3BlbmVyWydlbGVtZW50J10gPSBpbWFnZSgpLmJ1aWxkKCk7XG5cbiAgZWxlbWVudChlbGVtZW50OiBCdWlsZEFyZzxPcGVuZXJbJ2VsZW1lbnQnXT4pOiB0aGlzIHtcbiAgICB0aGlzLiNlbGVtZW50ID0gbWFwQnVpbGRBcmcoZWxlbWVudCk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBidWlsZCgpOiBPcGVuZXIge1xuICAgIHJldHVybiB7XG4gICAgICBlbGVtZW50OiB0aGlzLiNlbGVtZW50LFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgQm9keVN0YWdlU2VxQnVpbGRlciBleHRlbmRzIEFic3RyYWN0U2VxQnVpbGRlcjxCb2R5U3RhZ2U+IHtcbiAgI25vZGVzOiBTZXFFbGVtZW50PFJpY2hUZXh0Lk5vZGVbXT4gPSBbXTtcbiAgI2hlYWRlcj86IFNlcUVsZW1lbnQ8Qm9keUhlYWRlcj4gPSB1bmRlZmluZWQ7XG4gICNjb21wYW5pb25zOiBTZXFFbGVtZW50PFN0YWdlLkNvbXBhbmlvbkl0ZW1bXT4gPSBbXTtcbiAgI2NvbW1lcmNpYWxzRW5kT2ZTdGFnZTogU2VxRWxlbWVudDxSaWNoVGV4dC5Ob2RlW10+ID0gW107XG5cbiAgbm9kZXMobm9kZXM6IFNlcUVsZW1lbnQ8QnVpbGRBcmdzPFJpY2hUZXh0Lk5vZGU+Pik6IHRoaXMge1xuICAgIHRoaXMuI25vZGVzID0gbm9kZXMubWFwKG1hcEJ1aWxkQXJncyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBoZWFkZXIoaGVhZGVyPzogU2VxRWxlbWVudDxCdWlsZEFyZzxCb2R5SGVhZGVyPj4pOiB0aGlzIHtcbiAgICB0aGlzLiNoZWFkZXIgPSBtYXBCdWlsZEFyZ3MoaGVhZGVyID8/IFtdKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNvbXBhbmlvbnMoY29tcGFuaW9uczogU2VxRWxlbWVudDxCdWlsZEFyZ3M8U3RhZ2UuQ29tcGFuaW9uSXRlbT4+KTogdGhpcyB7XG4gICAgdGhpcy4jY29tcGFuaW9ucyA9IGNvbXBhbmlvbnMubWFwKG1hcEJ1aWxkQXJncyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjb21tZXJjaWFsc0VuZE9mU3RhZ2UoY29tbWVyY2lhbHNFbmRPZlN0YWdlOiBTZXFFbGVtZW50PEJ1aWxkQXJnczxSaWNoVGV4dC5Ob2RlPj4pOiB0aGlzIHtcbiAgICB0aGlzLiNjb21tZXJjaWFsc0VuZE9mU3RhZ2UgPSBjb21tZXJjaWFsc0VuZE9mU3RhZ2UubWFwKG1hcEJ1aWxkQXJncyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBidWlsZExpc3RJdGVtKHNlcU5leHRFbGVtZW50OiBTZXFOZXh0RWxlbWVudENvbnZlcnRlcik6IEJvZHlTdGFnZSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkOiBoYXNoKCdib2R5U3RhZ2UnLCB0aGlzLiNub2RlcywgdGhpcy4jY29tcGFuaW9ucywgdGhpcy4jY29tbWVyY2lhbHNFbmRPZlN0YWdlLCB0aGlzLiNoZWFkZXIpLFxuICAgICAgbm9kZXM6IHNlcU5leHRFbGVtZW50LmFycmF5KHRoaXMuI25vZGVzKSxcbiAgICAgIGhlYWRlcjogc2VxTmV4dEVsZW1lbnQubWF5YmUodGhpcy4jaGVhZGVyKSxcbiAgICAgIGNvbXBhbmlvbnM6IHNlcU5leHRFbGVtZW50LmFycmF5KHRoaXMuI2NvbXBhbmlvbnMpLFxuICAgICAgY29tbWVyY2lhbHNFbmRPZlN0YWdlOiBzZXFOZXh0RWxlbWVudC5hcnJheSh0aGlzLiNjb21tZXJjaWFsc0VuZE9mU3RhZ2UpLFxuICAgIH07XG4gIH1cbn1cblxuY2xhc3MgQm9keVN0YWdlQnVpbGRlciBleHRlbmRzIEFic3RyYWN0QnVpbGRlcjxCb2R5U3RhZ2U+IHtcbiAgI3NlcUJ1aWxkZXI6IEJvZHlTdGFnZVNlcUJ1aWxkZXIgPSBuZXcgQm9keVN0YWdlU2VxQnVpbGRlcigpO1xuXG4gIG5vZGVzKG5vZGVzOiBCdWlsZEFyZ3M8UmljaFRleHQuTm9kZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNzZXFCdWlsZGVyLm5vZGVzKFtub2Rlc10pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgaGVhZGVyKGhlYWRlcj86IEJ1aWxkQXJnPEJvZHlIZWFkZXI+KTogdGhpcyB7XG4gICAgaWYgKGhlYWRlcikge1xuICAgICAgdGhpcy4jc2VxQnVpbGRlci5oZWFkZXIoW2hlYWRlcl0pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNvbXBhbmlvbnMoY29tcGFuaW9uczogQnVpbGRBcmdzPFN0YWdlLkNvbXBhbmlvbkl0ZW0+KTogdGhpcyB7XG4gICAgdGhpcy4jc2VxQnVpbGRlci5jb21wYW5pb25zKFtjb21wYW5pb25zXSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjb21tZXJjaWFsc0VuZE9mU3RhZ2UoY29tbWVyY2lhbHNFbmRPZlN0YWdlOiBCdWlsZEFyZ3M8UmljaFRleHQuTm9kZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNzZXFCdWlsZGVyLmNvbW1lcmNpYWxzRW5kT2ZTdGFnZShbY29tbWVyY2lhbHNFbmRPZlN0YWdlXSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBidWlsZCgpOiBCb2R5U3RhZ2Uge1xuICAgIHJldHVybiB0aGlzLiNzZXFCdWlsZGVyLmJ1aWxkKCk7XG4gIH1cbn1cblxuY2xhc3MgQm9keUhlYWRlckJ1aWxkZXIgZXh0ZW5kcyBBYnN0cmFjdEJ1aWxkZXI8Qm9keUhlYWRlcj4ge1xuICAjdmFyaWFudDogQm9keUhlYWRlclsndmFyaWFudCddID0gJ2Z1bGwnO1xuICAjb3BlbmVyPzogT3BlbmVyID0gdW5kZWZpbmVkO1xuXG4gIHZhcmlhbnQodmFyaWFudDogQm9keUhlYWRlclsndmFyaWFudCddKTogdGhpcyB7XG4gICAgdGhpcy4jdmFyaWFudCA9IHZhcmlhbnQ7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBvcGVuZXIob3BlbmVyOiBCdWlsZEFyZzxPcGVuZXI+KTogdGhpcyB7XG4gICAgdGhpcy4jb3BlbmVyID0gbWFwQnVpbGRBcmcob3BlbmVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGJ1aWxkKCk6IEJvZHlIZWFkZXIge1xuICAgIHJldHVybiB7XG4gICAgICB2YXJpYW50OiB0aGlzLiN2YXJpYW50LFxuICAgICAgb3BlbmVyOiB0aGlzLiNvcGVuZXIsXG4gICAgfTtcbiAgfVxufVxuXG5jbGFzcyBBcnRpY2xlU291cmNlU2VxQnVpbGRlciBleHRlbmRzIEFic3RyYWN0U2VxQnVpbGRlcjxBcnRpY2xlU291cmNlPiB7XG4gICNub2RlczogU2VxRWxlbWVudDxSaWNoVGV4dC5Ob2RlW10+ID0gW107XG5cbiAgbm9kZXMobm9kZXM6IFNlcUVsZW1lbnQ8QnVpbGRBcmdzPFJpY2hUZXh0Lk5vZGU+Pik6IHRoaXMge1xuICAgIHRoaXMuI25vZGVzID0gbm9kZXMubWFwKG1hcEJ1aWxkQXJncyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBidWlsZExpc3RJdGVtKHNlcU5leHRFbGVtZW50OiBTZXFOZXh0RWxlbWVudENvbnZlcnRlcik6IEFydGljbGVTb3VyY2Uge1xuICAgIGNvbnN0IGlkID0gaGFzaCgnYXJ0aWNsZS1zb3VyY2UnLCB0aGlzLiNub2Rlcyk7XG4gICAgcmV0dXJuIHtcbiAgICAgIGlkLFxuICAgICAgbm9kZXM6IHNlcU5leHRFbGVtZW50LmFycmF5KHRoaXMuI25vZGVzKSxcbiAgICB9O1xuICB9XG59XG5cbmNsYXNzIEFydGljbGVTb3VyY2VCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RCdWlsZGVyPEFydGljbGVTb3VyY2U+IHtcbiAgI3NlcUJ1aWxkZXI6IEFydGljbGVTb3VyY2VTZXFCdWlsZGVyID0gbmV3IEFydGljbGVTb3VyY2VTZXFCdWlsZGVyKCk7XG5cbiAgY29uc3RydWN0b3IoLi4ubm9kZXM6IEJ1aWxkQXJnczxSaWNoVGV4dC5Ob2RlPikge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5ub2RlcyguLi5ub2Rlcyk7XG4gIH1cblxuICBub2RlcyguLi5ub2RlczogQnVpbGRBcmdzPFJpY2hUZXh0Lk5vZGU+KTogdGhpcyB7XG4gICAgdGhpcy4jc2VxQnVpbGRlci5ub2Rlcyhbbm9kZXNdKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGJ1aWxkKCk6IEFydGljbGVTb3VyY2Uge1xuICAgIHJldHVybiB0aGlzLiNzZXFCdWlsZGVyLmJ1aWxkKCk7XG4gIH1cbn1cblxuY2xhc3MgQXJ0aWNsZVNvdXJjZXNCdWlsZGVyIGV4dGVuZHMgQWJzdHJhY3RCdWlsZGVyPEFydGljbGVTb3VyY2VzPiB7XG4gICNub2RlczogQXJ0aWNsZVNvdXJjZVtdID0gW107XG4gICNoaWRkZW46IEFydGljbGVTb3VyY2VbXSA9IFtdO1xuXG4gIG5vZGVzKC4uLm5vZGVzOiBCdWlsZEFyZ3M8QXJ0aWNsZVNvdXJjZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNub2RlcyA9IG5vZGVzLm1hcChtYXBCdWlsZEFyZyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBoaWRkZW4oLi4uaGlkZGVuOiBCdWlsZEFyZ3M8QXJ0aWNsZVNvdXJjZT4pOiB0aGlzIHtcbiAgICB0aGlzLiNoaWRkZW4gPSBoaWRkZW4ubWFwKG1hcEJ1aWxkQXJnKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGJ1aWxkKCk6IEFydGljbGVTb3VyY2VzIHtcbiAgICByZXR1cm4ge1xuICAgICAgbm9kZXM6IHRoaXMuI25vZGVzLFxuICAgICAgaGlkZGVuOiB0aGlzLiNoaWRkZW4sXG4gICAgfTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm5vZGUiLCJjcmVhdGUiLCJCb2R5QnVpbGRlciIsInRydXN0Qm94IiwiVHJ1c3RCb3hCdWlsZGVyIiwib3BlbmVyIiwiT3BlbmVyQnVpbGRlciIsInN0YWdlIiwiQm9keVN0YWdlQnVpbGRlciIsImhlYWRlciIsIkJvZHlIZWFkZXJCdWlsZGVyIiwic291cmNlIiwibm9kZXMiLCJBcnRpY2xlU291cmNlQnVpbGRlciIsInNvdXJjZXMiLCJBcnRpY2xlU291cmNlc0J1aWxkZXIiLCJzZXEiLCJCb2R5U3RhZ2VTZXFCdWlsZGVyIiwiQXJ0aWNsZVNvdXJjZVNlcUJ1aWxkZXIiLCJBYnN0cmFjdEJ1aWxkZXIiLCJzdGFnZXMiLCJtYXAiLCJtYXBCdWlsZEFyZyIsImRpc2NsYWltZXIiLCJhcnRpY2xlU291cmNlcyIsImJ1aWxkIiwidW5kZWZpbmVkIiwiaGlkZGVuIiwiZWxlbWVudCIsImltYWdlIiwiQWJzdHJhY3RTZXFCdWlsZGVyIiwibWFwQnVpbGRBcmdzIiwiY29tcGFuaW9ucyIsImNvbW1lcmNpYWxzRW5kT2ZTdGFnZSIsImJ1aWxkTGlzdEl0ZW0iLCJzZXFOZXh0RWxlbWVudCIsImlkIiwiaGFzaCIsImFycmF5IiwibWF5YmUiLCJzZXFCdWlsZGVyIiwidmFyaWFudCJdLCJtYXBwaW5ncyI6IllBQUE7OztFQUFBOzs7Ozs0SkFBQTs7QUFBb0QsR0FBb0IsQ0FBcEIsaUJBQW9CO0FBQ3hCLEdBQWlCLENBQWpCLGFBQWlCO0FBQzNDLEdBQWtCLENBQWxCLGVBQWtCO0FBbUI1QkEsR0FBSSxDQUFKQSxLQUFJO1lBQUpBLEtBQUk7OzsyQ0FBSkEsS0FBSTs7OzttQkFBSkEsS0FBSTs7TUFyQmhCO0VBQUE7UUFxQllBLElBQUksR0FBSkEsS0FBSSxBQXJCaEI7QUF1Qk8sS0FBSyxDQUFDQyxNQUFN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
{
"version": 3,
"sources": [
"../src/BodyBuilder.ts"
],
"sourcesContent": [
"import { AbstractBuilder, AbstractSeqBuilder } from './AbstractBuilders';\nimport { hash, mapBuildArg, mapBuildArgs } from './Builder.utils';\nimport { image } from './ElementBuilder';\n\nimport type {\n Body,\n BodyStage,\n TrustBox,\n RichText,\n Opener,\n BodyHeader,\n Stage,\n ArticleSource,\n ArticleSources,\n} from '@paper/models';\nimport type { BuildArg, BuildArgs, CreateBuilder, SeqElement, SeqNextElementConverter } from './types';\n\n/**\n * @deprecated use {Builder.body.node.img()}\n */\nexport * from './BodyNodesBuilder';\nexport * as node from './BodyNodesBuilder';\n\nexport const create: CreateBuilder<BodyBuilder> = () => new BodyBuilder();\nexport const trustBox: CreateBuilder<TrustBoxBuilder> = () => new TrustBoxBuilder();\nexport const opener: CreateBuilder<OpenerBuilder> = () => new OpenerBuilder();\nexport const stage: CreateBuilder<BodyStageBuilder> = () => new BodyStageBuilder();\nexport const header: CreateBuilder<BodyHeaderBuilder> = () => new BodyHeaderBuilder();\nexport const source: CreateBuilder<ArticleSourceBuilder, BuildArgs<RichText.Node>> = (\n nodes: BuildArgs<RichText.Node> = [],\n) => new ArticleSourceBuilder(...nodes);\nexport const sources: CreateBuilder<ArticleSourcesBuilder> = () => new ArticleSourcesBuilder();\n\nexport const seq = {\n stage: (() => new BodyStageSeqBuilder()) as CreateBuilder<BodyStageSeqBuilder>,\n source: (() => new ArticleSourceSeqBuilder()) as CreateBuilder<ArticleSourceSeqBuilder>,\n} as const;\n\nclass BodyBuilder extends AbstractBuilder<Body> {\n #stages: BodyStage[] = [];\n #trustBox?: TrustBox = undefined;\n #disclaimer?: RichText.Node[] = undefined;\n #articleSources?: ArticleSources = undefined;\n\n stages(...stages: BuildArgs<BodyStage>): this {\n this.#stages = stages.map(mapBuildArg);\n return this;\n }\n\n trustBox(trustBox?: BuildArg<TrustBox>): this {\n this.#trustBox = mapBuildArg(trustBox);\n return this;\n }\n\n disclaimer(disclaimer?: BuildArgs<RichText.Node>): this {\n this.#disclaimer = disclaimer?.map(mapBuildArg);\n return this;\n }\n\n articleSources(articleSources?: BuildArg<ArticleSources>): this {\n this.#articleSources = mapBuildArg(articleSources);\n return this;\n }\n\n build(): Body {\n return {\n stages: this.#stages,\n trustBox: this.#trustBox,\n disclaimer: this.#disclaimer,\n articleSources: this.#articleSources,\n };\n }\n}\n\nclass TrustBoxBuilder extends AbstractBuilder<TrustBox> {\n #nodes: RichText.Node[] = [];\n #hidden: RichText.Node[] = [];\n\n nodes(nodes: BuildArgs<RichText.Node>): this {\n this.#nodes = nodes.map(mapBuildArg);\n return this;\n }\n\n hidden(hidden: BuildArgs<RichText.Node>): this {\n this.#hidden = hidden.map(mapBuildArg);\n return this;\n }\n\n build(): TrustBox {\n return {\n nodes: this.#nodes,\n hidden: this.#hidden,\n };\n }\n}\n\nclass OpenerBuilder extends AbstractBuilder<Opener> {\n #element: Opener['element'] = image().build();\n\n element(element: BuildArg<Opener['element']>): this {\n this.#element = mapBuildArg(element);\n return this;\n }\n\n build(): Opener {\n return {\n element: this.#element,\n };\n }\n}\n\nclass BodyStageSeqBuilder extends AbstractSeqBuilder<BodyStage> {\n #nodes: SeqElement<RichText.Node[]> = [];\n #header?: SeqElement<BodyHeader> = undefined;\n #companions: SeqElement<Stage.CompanionItem[]> = [];\n #commercialsEndOfStage: SeqElement<RichText.Node[]> = [];\n\n nodes(nodes: SeqElement<BuildArgs<RichText.Node>>): this {\n this.#nodes = nodes.map(mapBuildArgs);\n return this;\n }\n\n header(header?: SeqElement<BuildArg<BodyHeader>>): this {\n this.#header = mapBuildArgs(header ?? []);\n return this;\n }\n\n companions(companions: SeqElement<BuildArgs<Stage.CompanionItem>>): this {\n this.#companions = companions.map(mapBuildArgs);\n return this;\n }\n\n commercialsEndOfStage(commercialsEndOfStage: SeqElement<BuildArgs<RichText.Node>>): this {\n this.#commercialsEndOfStage = commercialsEndOfStage.map(mapBuildArgs);\n return this;\n }\n\n buildListItem(seqNextElement: SeqNextElementConverter): BodyStage {\n return {\n id: hash('bodyStage', this.#nodes, this.#companions, this.#commercialsEndOfStage, this.#header),\n nodes: seqNextElement.array(this.#nodes),\n header: seqNextElement.maybe(this.#header),\n companions: seqNextElement.array(this.#companions),\n commercialsEndOfStage: seqNextElement.array(this.#commercialsEndOfStage),\n };\n }\n}\n\nclass BodyStageBuilder extends AbstractBuilder<BodyStage> {\n #seqBuilder: BodyStageSeqBuilder = new BodyStageSeqBuilder();\n\n nodes(nodes: BuildArgs<RichText.Node>): this {\n this.#seqBuilder.nodes([nodes]);\n return this;\n }\n\n header(header?: BuildArg<BodyHeader>): this {\n if (header) {\n this.#seqBuilder.header([header]);\n }\n return this;\n }\n\n companions(companions: BuildArgs<Stage.CompanionItem>): this {\n this.#seqBuilder.companions([companions]);\n return this;\n }\n\n commercialsEndOfStage(commercialsEndOfStage: BuildArgs<RichText.Node>): this {\n this.#seqBuilder.commercialsEndOfStage([commercialsEndOfStage]);\n return this;\n }\n\n build(): BodyStage {\n return this.#seqBuilder.build();\n }\n}\n\nclass BodyHeaderBuilder extends AbstractBuilder<BodyHeader> {\n #variant: BodyHeader['variant'] = 'full';\n #opener?: Opener = undefined;\n\n variant(variant: BodyHeader['variant']): this {\n this.#variant = variant;\n return this;\n }\n\n opener(opener: BuildArg<Opener>): this {\n this.#opener = mapBuildArg(opener);\n return this;\n }\n\n build(): BodyHeader {\n return {\n variant: this.#variant,\n opener: this.#opener,\n };\n }\n}\n\nclass ArticleSourceSeqBuilder extends AbstractSeqBuilder<ArticleSource> {\n #nodes: SeqElement<RichText.Node[]> = [];\n\n nodes(nodes: SeqElement<BuildArgs<RichText.Node>>): this {\n this.#nodes = nodes.map(mapBuildArgs);\n return this;\n }\n\n buildListItem(seqNextElement: SeqNextElementConverter): ArticleSource {\n const id = hash('article-source', this.#nodes);\n return {\n id,\n nodes: seqNextElement.array(this.#nodes),\n };\n }\n}\n\nclass ArticleSourceBuilder extends AbstractBuilder<ArticleSource> {\n #seqBuilder: ArticleSourceSeqBuilder = new ArticleSourceSeqBuilder();\n\n constructor(...nodes: BuildArgs<RichText.Node>) {\n super();\n this.nodes(...nodes);\n }\n\n nodes(...nodes: BuildArgs<RichText.Node>): this {\n this.#seqBuilder.nodes([nodes]);\n return this;\n }\n\n build(): ArticleSource {\n return this.#seqBuilder.build();\n }\n}\n\nclass ArticleSourcesBuilder extends AbstractBuilder<ArticleSources> {\n #nodes: ArticleSource[] = [];\n #hidden: ArticleSource[] = [];\n\n nodes(...nodes: BuildArgs<ArticleSource>): this {\n this.#nodes = nodes.map(mapBuildArg);\n return this;\n }\n\n hidden(...hidden: BuildArgs<ArticleSource>): this {\n this.#hidden = hidden.map(mapBuildArg);\n return this;\n }\n\n build(): ArticleSources {\n return {\n nodes: this.#nodes,\n hidden: this.#hidden,\n };\n }\n}\n"
],
"names": [
"node",
"create",
"BodyBuilder",
"trustBox",
"TrustBoxBuilder",
"opener",
"OpenerBuilder",
"stage",
"BodyStageBuilder",
"header",
"BodyHeaderBuilder",
"source",
"nodes",
"ArticleSourceBuilder",
"sources",
"ArticleSourcesBuilder",
"seq",
"BodyStageSeqBuilder",
"ArticleSourceSeqBuilder",
"AbstractBuilder",
"stages",
"map",
"mapBuildArg",
"disclaimer",
"articleSources",
"build",
"undefined",
"hidden",
"element",
"image",
"AbstractSeqBuilder",
"mapBuildArgs",
"companions",
"commercialsEndOfStage",
"buildListItem",
"seqNextElement",
"id",
"hash",
"array",
"maybe",
"seqBuilder",
"variant"
],
"mappings": "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"
}
import { AbstractBuilder, AbstractSeqBuilder } from './AbstractBuilders';
import { hash, mapBuildArg, mapBuildArgs } from './Builder.utils';
import { image } from './ElementBuilder';
import type {
Body,
BodyStage,
TrustBox,
RichText,
Opener,
BodyHeader,
Stage,
ArticleSource,
ArticleSources,
} from '@paper/models';
import type { BuildArg, BuildArgs, CreateBuilder, SeqElement, SeqNextElementConverter } from './types';
/**
* @deprecated use {Builder.body.node.img()}
*/
export * from './BodyNodesBuilder';
export * as node from './BodyNodesBuilder';
export const create: CreateBuilder<BodyBuilder> = () => new BodyBuilder();
export const trustBox: CreateBuilder<TrustBoxBuilder> = () => new TrustBoxBuilder();
export const opener: CreateBuilder<OpenerBuilder> = () => new OpenerBuilder();
export const stage: CreateBuilder<BodyStageBuilder> = () => new BodyStageBuilder();
export const header: CreateBuilder<BodyHeaderBuilder> = () => new BodyHeaderBuilder();
export const source: CreateBuilder<ArticleSourceBuilder, BuildArgs<RichText.Node>> = (
nodes: BuildArgs<RichText.Node> = [],
) => new ArticleSourceBuilder(...nodes);
export const sources: CreateBuilder<ArticleSourcesBuilder> = () => new ArticleSourcesBuilder();
export const seq = {
stage: (() => new BodyStageSeqBuilder()) as CreateBuilder<BodyStageSeqBuilder>,
source: (() => new ArticleSourceSeqBuilder()) as CreateBuilder<ArticleSourceSeqBuilder>,
} as const;
class BodyBuilder extends AbstractBuilder<Body> {
#stages: BodyStage[] = [];
#trustBox?: TrustBox = undefined;
#disclaimer?: RichText.Node[] = undefined;
#articleSources?: ArticleSources = undefined;
stages(...stages: BuildArgs<BodyStage>): this {
this.#stages = stages.map(mapBuildArg);
return this;
}
trustBox(trustBox?: BuildArg<TrustBox>): this {
this.#trustBox = mapBuildArg(trustBox);
return this;
}
disclaimer(disclaimer?: BuildArgs<RichText.Node>): this {
this.#disclaimer = disclaimer?.map(mapBuildArg);
return this;
}
articleSources(articleSources?: BuildArg<ArticleSources>): this {
this.#articleSources = mapBuildArg(articleSources);
return this;
}
build(): Body {
return {
stages: this.#stages,
trustBox: this.#trustBox,
disclaimer: this.#disclaimer,
articleSources: this.#articleSources,
};
}
}
class TrustBoxBuilder extends AbstractBuilder<TrustBox> {
#nodes: RichText.Node[] = [];
#hidden: RichText.Node[] = [];
nodes(nodes: BuildArgs<RichText.Node>): this {
this.#nodes = nodes.map(mapBuildArg);
return this;
}
hidden(hidden: BuildArgs<RichText.Node>): this {
this.#hidden = hidden.map(mapBuildArg);
return this;
}
build(): TrustBox {
return {
nodes: this.#nodes,
hidden: this.#hidden,
};
}
}
class OpenerBuilder extends AbstractBuilder<Opener> {
#element: Opener['element'] = image().build();
element(element: BuildArg<Opener['element']>): this {
this.#element = mapBuildArg(element);
return this;
}
build(): Opener {
return {
element: this.#element,
};
}
}
class BodyStageSeqBuilder extends AbstractSeqBuilder<BodyStage> {
#nodes: SeqElement<RichText.Node[]> = [];
#header?: SeqElement<BodyHeader> = undefined;
#companions: SeqElement<Stage.CompanionItem[]> = [];
#commercialsEndOfStage: SeqElement<RichText.Node[]> = [];
nodes(nodes: SeqElement<BuildArgs<RichText.Node>>): this {
this.#nodes = nodes.map(mapBuildArgs);
return this;
}
header(header?: SeqElement<BuildArg<BodyHeader>>): this {
this.#header = mapBuildArgs(header ?? []);
return this;
}
companions(companions: SeqElement<BuildArgs<Stage.CompanionItem>>): this {
this.#companions = companions.map(mapBuildArgs);
return this;
}
commercialsEndOfStage(commercialsEndOfStage: SeqElement<BuildArgs<RichText.Node>>): this {
this.#commercialsEndOfStage = commercialsEndOfStage.map(mapBuildArgs);
return this;
}
buildListItem(seqNextElement: SeqNextElementConverter): BodyStage {
return {
id: hash('bodyStage', this.#nodes, this.#companions, this.#commercialsEndOfStage, this.#header),
nodes: seqNextElement.array(this.#nodes),
header: seqNextElement.maybe(this.#header),
companions: seqNextElement.array(this.#companions),
commercialsEndOfStage: seqNextElement.array(this.#commercialsEndOfStage),
};
}
}
class BodyStageBuilder extends AbstractBuilder<BodyStage> {
#seqBuilder: BodyStageSeqBuilder = new BodyStageSeqBuilder();
nodes(nodes: BuildArgs<RichText.Node>): this {
this.#seqBuilder.nodes([nodes]);
return this;
}
header(header?: BuildArg<BodyHeader>): this {
if (header) {
this.#seqBuilder.header([header]);
}
return this;
}
companions(companions: BuildArgs<Stage.CompanionItem>): this {
this.#seqBuilder.companions([companions]);
return this;
}
commercialsEndOfStage(commercialsEndOfStage: BuildArgs<RichText.Node>): this {
this.#seqBuilder.commercialsEndOfStage([commercialsEndOfStage]);
return this;
}
build(): BodyStage {
return this.#seqBuilder.build();
}
}
class BodyHeaderBuilder extends AbstractBuilder<BodyHeader> {
#variant: BodyHeader['variant'] = 'full';
#opener?: Opener = undefined;
variant(variant: BodyHeader['variant']): this {
this.#variant = variant;
return this;
}
opener(opener: BuildArg<Opener>): this {
this.#opener = mapBuildArg(opener);
return this;
}
build(): BodyHeader {
return {
variant: this.#variant,
opener: this.#opener,
};
}
}
class ArticleSourceSeqBuilder extends AbstractSeqBuilder<ArticleSource> {
#nodes: SeqElement<RichText.Node[]> = [];
nodes(nodes: SeqElement<BuildArgs<RichText.Node>>): this {
this.#nodes = nodes.map(mapBuildArgs);
return this;
}
buildListItem(seqNextElement: SeqNextElementConverter): ArticleSource {
const id = hash('article-source', this.#nodes);
return {
id,
nodes: seqNextElement.array(this.#nodes),
};
}
}
class ArticleSourceBuilder extends AbstractBuilder<ArticleSource> {
#seqBuilder: ArticleSourceSeqBuilder = new ArticleSourceSeqBuilder();
constructor(...nodes: BuildArgs<RichText.Node>) {
super();
this.nodes(...nodes);
}
nodes(...nodes: BuildArgs<RichText.Node>): this {
this.#seqBuilder.nodes([nodes]);
return this;
}
build(): ArticleSource {
return this.#seqBuilder.build();
}
}
class ArticleSourcesBuilder extends AbstractBuilder<ArticleSources> {
#nodes: ArticleSource[] = [];
#hidden: ArticleSource[] = [];
nodes(...nodes: BuildArgs<ArticleSource>): this {
this.#nodes = nodes.map(mapBuildArg);
return this;
}
hidden(...hidden: BuildArgs<ArticleSource>): this {
this.#hidden = hidden.map(mapBuildArg);
return this;
}
build(): ArticleSources {
return {
nodes: this.#nodes,
hidden: this.#hidden,
};
}
}
{
"transform": {
"^.+\\.ts$": ["@swc/jest",
{
"jsc": {
"target": "es2021"
},
"sourceMaps": true
}
]
},
"testPathIgnorePatterns": ["/node_modules/", "/dist/"],
"coverageThreshold": {
"global": {
"branches": 100,
"functions": 100,
"lines": 100,
"statements": 100
},
"**/BodyBuilder.ts": {
"branches": 70
}
},
"snapshotFormat": {
"printBasicPrototype": true,
"indent": 2
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment