UNPKG

sdin

Version:

JavaScript package builder.

2 lines 3.43 kB
var t=require("@babel/runtime/helpers/interopRequireDefault"),r=(Object.defineProperty(exports,"__esModule",{value:!0}),exports.SdinApplicationPage=void 0,t(require("@babel/runtime/helpers/defineProperty"))),i=require("lodash"),e=require("./abstract-config"),s=require("../utils/array"),c=require("../utils/string"),n=require("../tools/check"),a=require("../utils/check"),l=require("../tools/errors"),o=require("../utils/print"),h=require("../utils/path");function p(e,t){var i,r=Object.keys(e);return Object.getOwnPropertySymbols&&(i=Object.getOwnPropertySymbols(e),t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,i)),r}function u(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?p(Object(i),!0).forEach(function(t){(0,r.default)(e,t,i[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):p(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}let g=()=>"";class m extends e.SdinAbstractConfig{constructor(t,e,i){super(t,e,i),this.name=i.name,this.title=i.title,this.index=i.index?e.withSrc(i.index):(0,h.resolveExtensionSync)(e.src,this.name+"/index",h.TJSX_FILE_EXTENSIONS),this.path=(0,h.resolvePosixSlash)(i.path||this.name,!1,!1),this.metas=this.assignLabels(e.params.metas,i.metas),this.links=this.assignLabels(e.params.links,i.links),this.styles=this.assignLabels(e.params.styles,i.styles),this.scripts=this.assignLabels(e.params.scripts,i.scripts),this.skeleton=i.skeleton||e.params.skeleton||g,this.datas=u(u(u({},this.parent.datas),this.params.datas),{},{SDIN_PAGE_NAME:this.name,SDIN_PAGE_TITLE:this.title,SDIN_PAGE_PATH:e.path+this.path})}async validate(){var t,e;if(await super.validate(),(0,a.matchRegExpOrThrow)("page name",this.name,n.APP_PAGE_NAME_EXP),(0,a.matchRegExpOrThrow)("page path",this.path,n.RELATIVE_URL_PATH_EXP),!this.index)throw t=this.parent.withSrc(this.name,"index.(tsx|ts|jsx|js)"),e="module ".concat((0,o.yellow)(this.parent.name)," page ").concat((0,o.magenta)(this.name)),new l.SdinConfigError(l.SdinConfigError.APP_PAGE_INDEX_IS_NOT_EXIST,"".concat(e,' index fille "').concat((0,o.blue)(t),'" is not exist.'));await(0,h.fileExistOrThrow)(this.index)}getHtmlTitle(){return this.parent.title?"".concat(this.title," - ").concat(this.parent.title):this.title}getHtmlDatas(){return(0,i.omit)(this.datas,["SDIN_PROJECT_AUTHOR_NAME","SDIN_PROJECT_AUTHOR_EMAIL"])}getMetaHtmlString(){return this.toHtmlString("meta",this.metas)}getLinkHtmlString(){return this.toHtmlString("link",this.links)}getStyleHtmlString(){return this.toHtmlString("link",this.styles)}getScriptHtmlString(t){return this.toHtmlString("script",t||this.scripts)}getSkeleton(){return this.skeleton(this)}assignLabels(t,e){return Object.values(Object.assign((0,i.keyBy)((0,s.filterNotNone)(t),"key"),(0,i.keyBy)((0,s.filterNotNone)(e),"key")))}toHtmlString(e,i){var n=["script"].includes(e),a=[];for(let t=0,s;t<i.length;t++){s=i[t];var l=[];let r;var o,h=Object.keys(s);for(let t=0,e,i;t<h.length;t++)"key"!==(e=h[t])&&(i=s[e],"children"===e?r=(0,c.replaceByCode)(i,this.datas):l.push(!0===i?e:e+'="'+(0,c.replaceByCode)(i,this.datas)+'"'));l.length<=0||(o="<"+e+" "+l.join(" "),r?a.push(o+">"+r+"</"+e+">"):a.push(n?o+"></"+e+">":o+"/>"))}return a.join("\n")}}exports.SdinApplicationPage=m; //# sourceMappingURL=application-page.js.map