@sap/generator-fiori
Version:
Create an SAPUI5 application using SAP Fiori elements or a freestyle approach
3 lines (2 loc) • 12.2 kB
JavaScript
const __esmImportMetaUrl = require('node:url').pathToFileURL(__filename).href;
var N=Object.defineProperty;var z=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var Z=Object.prototype.hasOwnProperty;var c=(n,t)=>N(n,"name",{value:t,configurable:!0});var V=(n,t)=>{for(var e in t)N(n,e,{get:t[e],enumerable:!0})},_=(n,t,e,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of J(t))!Z.call(n,i)&&i!==e&&N(n,i,{get:()=>t[i],enumerable:!(r=z(t,i))||r.enumerable});return n},d=(n,t,e)=>(_(n,t,"default"),e&&_(e,t,"default"));var tt=n=>_(N({},"__esModule",{value:!0}),n);var P={};V(P,{default:()=>ct,elements:()=>S,elementsWithName:()=>M,findPathToPosition:()=>k,getAliasInformation:()=>I,getAllNamespacesAndReferences:()=>b,getElementAttribute:()=>F,getElementAttributeValue:()=>B,getIndentLevel:()=>u.getIndentLevel,getPathBaseMetadataElement:()=>G,getPositionData:()=>L,getSegmentWithoutAlias:()=>D,getSingleTextNode:()=>K,indentWithSpaces:()=>u.indentWithSpaces,indentWithTabs:()=>u.indentWithTabs,isBefore:()=>u.isBefore,isElementWithName:()=>Y,parseIdentifier:()=>x,parsePath:()=>R,positionAt:()=>u.positionAt,positionContained:()=>u.positionContained,positionContainedStrict:()=>u.positionContainedStrict,rangeContained:()=>u.rangeContained,resolveName:()=>g,toAliasQualifiedName:()=>O,toFullyQualifiedName:()=>y,toFullyQualifiedPath:()=>$});module.exports=tt(P);var p={};V(p,{elements:()=>S,elementsWithName:()=>M,findPathToPosition:()=>k,getAliasInformation:()=>I,getAllNamespacesAndReferences:()=>b,getElementAttribute:()=>F,getElementAttributeValue:()=>B,getIndentLevel:()=>u.getIndentLevel,getPathBaseMetadataElement:()=>G,getPositionData:()=>L,getSegmentWithoutAlias:()=>D,getSingleTextNode:()=>K,indentWithSpaces:()=>u.indentWithSpaces,indentWithTabs:()=>u.indentWithTabs,isBefore:()=>u.isBefore,isElementWithName:()=>Y,parseIdentifier:()=>x,parsePath:()=>R,positionAt:()=>u.positionAt,positionContained:()=>u.positionContained,positionContainedStrict:()=>u.positionContainedStrict,rangeContained:()=>u.rangeContained,resolveName:()=>g,toAliasQualifiedName:()=>O,toFullyQualifiedName:()=>y,toFullyQualifiedPath:()=>$});var C="Collection(";function x(n){if(n.startsWith(C))return X(n);let t=n.indexOf("(")+1;if(t>0){let e=n.slice(0,t-1),r=n.slice(t,-1),i=v(e),o=r.length>0?r.split(",").map(s=>s.startsWith(C)?X(s):v(s)):[];return{...i,type:"action-function",parameters:o}}return v(n)}c(x,"parseIdentifier");function X(n){let t=n.endsWith(")")?-1:void 0;return{...v(n.slice(C.length,t)),type:"collection"}}c(X,"parseCollection");function v(n){let t=n.split(".");return t.length>1?{type:"identifier",namespaceOrAlias:t.slice(0,-1).join("."),name:t.splice(-1)[0]}:{type:"identifier",name:n}}c(v,"parseInternal");function y(n,t,e){let r=e.namespaceOrAlias?n[e.namespaceOrAlias]:t;if(!r)return;if(e.type==="action-function"){let o=e.parameters.map(s=>y(n,t,s)).filter(s=>!!s).join(",");return`${r}.${e.name}(${o})`}let i=`${r}.${e.name}`;return e.type==="collection"?`Collection(${i})`:i}c(y,"toFullyQualifiedName");function g(n,t){let e={name:n,qName:n};if(n&&typeof n=="string"&&n.indexOf(".")){let r=n.indexOf("("),i=r>-1?n.slice(0,r):n,{name:o,namespaceOrAlias:s}=x(i);et(n,s,t,e,o),nt(n,r,t,e,s)}return e}c(g,"resolveName");function O(n,t){let e=g(n,t.aliasMap),r=e.namespace?t.reverseAliasMap[e.namespace]:void 0,i=r?`${r}.${e.name}`:n,o=i.indexOf("(");if(o>-1){let s=i.slice(0,o),a=i.slice(o+1,i.lastIndexOf(")")).split(",");a=a.map(f=>O(f,t)),i=s+"("+a.join(",")+")"}return i}c(O,"toAliasQualifiedName");function et(n,t,e,r,i){n.startsWith(C)||(t&&e?.[t]?(e[t]&&e[t]!==t?(r.alias=t,r.namespace=e[t]):r.namespace=t,r.name=i,r.qName=r.namespace+"."+i):e||(r.name=i,r.namespace=t))}c(et,"resolveNonCollectionNames");function nt(n,t,e,r,i){if(t>-1){let o=n.slice(t+1,n.lastIndexOf(")")),s=x(n);if(s.type!=="collection"&&(r.name+="("+o+")"),i&&e?.[i]){if(s.type==="collection"){let l=`${s.namespaceOrAlias}.${s.name}`,a=w(s.type,l);a.name=g(a.name,e).qName;let f=U(a);r.qName=f}else if(s.type==="action-function"){let l=s.parameters.map(a=>{let f=`${a.namespaceOrAlias}.${a.name}`,h=w(a.type,f);return h.name=g(h.name,e).qName,U(h)});r.qName+="("+l.join(",")+")"}}else if(s.type==="collection"){let l=g(o,e).qName;r.qName="Collection("+l+")"}}}c(nt,"resolveCollectionAndFunctionNames");function U(n){return n?.asCollection?"Collection("+n.name+")":n?.name||""}c(U,"convertValueTypeToString");function w(n,t){return{name:t,asCollection:n==="collection"}}c(w,"convertValueTypeFromString");function I(n,t){let e={},r={},i={},o={},s="",l="";return n.forEach(a=>{let f={},h={};if(a?.name){f[a.name]=a.name,h[a.name]=a.name,a.alias&&(f[a.alias]=a.name,h[a.name]=a.alias),Object.assign(e,f),Object.assign(r,h);let q=t.has(a.name);a.type==="namespace"?(s=a.name,l=a.alias??"",q&&Object.assign(i,f)):Object.assign(q?i:o,f)}}),{currentFileNamespace:s,currentFileAlias:l,aliasMap:e,reverseAliasMap:r,aliasMapMetadata:i,aliasMapVocabulary:o}}c(I,"getAliasInformation");function b(n,t){let e=[];return n?.name&&e.push(n),t?.length&&e.push(...t),e}c(b,"getAllNamespacesAndReferences");var j="/";function R(n){return{segments:n.split(j).map(e=>{let r=e.indexOf("@");if(r===0){let[o,s]=e.slice(1).split("#");return{...x(o),type:"term-cast",qualifier:s}}else if(r>0){let[o,s]=e.split("@"),l=x(o),[a,f]=s.split("#");return{...l,type:"navigation-property-annotation",term:{...x(a),type:"term-cast",qualifier:f}}}let i=x(e);if(i.type==="identifier"||i.type==="action-function")return i}).filter(e=>!!e)}}c(R,"parsePath");function $(n,t,e){return e.segments.map(r=>rt(n,t,r)).join(j)}c($,"toFullyQualifiedPath");function rt(n,t,e){let r=e.namespaceOrAlias?n[e.namespaceOrAlias]:t;switch(e.type){case"action-function":{let i=e.parameters.map(o=>y(n,t,o)).filter(o=>!!o).join(",");return`${r??e.namespaceOrAlias}.${e.name}(${i})`}case"identifier":return e.namespaceOrAlias===void 0?e.name:`${r??e.namespaceOrAlias}.${e.name}`;case"term-cast":return`@${y(n,t,{...e,type:"identifier"})??""}${e.qualifier?"#"+e.qualifier:""}`;case"navigation-property-annotation":return`${y(n,t,{type:"identifier",name:e.name,namespaceOrAlias:e.namespaceOrAlias})??""}@${y(n,t,{...e.term,type:"identifier"})??""}${e.term.qualifier?"#"+e.term.qualifier:""}`;default:return""}}c(rt,"toFullyQualifiedPathSegment");var m=require("../../open-ux-shared/odata-annotation-core-types/index.js"),T=require("../../open-ux-shared/text-document-utils/index.js");var Q=class{static{c(this,"PositionVisitor")}forCompletion=!1;visit(t,e,r){let i=this[t.type];if(!(t.range&&!(0,T.positionContained)(t.range,e))&&i)return i(t,e,r)}[m.ANNOTATION_FILE_TYPE]=(t,e,r)=>this.visitChildren("references",t.references,t.range,e,r)??this.visitChildren("targets",t.targets,t.range,e,r)??this.visitChild(t.namespace,e,[...r,"namespace"]);[m.TARGET_TYPE]=(t,e,r)=>{let i=(0,T.positionContained)(t.termsRange,e)?"terms":"";return this.visitTextProperty("name",t.name,t.nameRange,e,r)??this.visitChildren("terms",t.terms,t.termsRange,e,r)??{path:[...r,i],range:t.termsRange}};[m.NAMESPACE_TYPE]=(t,e,r)=>this.visitTextProperty("name",t.name,t.nameRange,e,r)??this.visitTextProperty("alias",t.alias,t.aliasRange,e,r)??{path:[...r,"targets"],range:t.range};[m.REFERENCE_TYPE]=(t,e,r)=>this.visitTextProperty("name",t.name,t.nameRange,e,r)??this.visitTextProperty("alias",t.alias,t.aliasRange,e,r);[m.TEXT_TYPE]=(t,e,r)=>this.visitTextProperty("text",t.text,t.range,e,r);[m.ATTRIBUTE_TYPE]=(t,e,r)=>this.visitTextProperty("name",t.name,t.nameRange,e,r)??this.visitTextProperty("value",t.value,t.valueRange,e,r);[m.ELEMENT_TYPE]=(t,e,r)=>{if(!t.range)return;let i=this.forCompletion?1:0,o=t.range.start.character+i,s=m.Range.create(m.Position.create(t.range.start.line,o),t.range.end);if(!(0,T.positionContained)(s,e))return;let l=Object.keys(t.attributes);if((0,T.positionContained)(t.nameRange,e))return this.visitTextProperty("name",t.name,t.nameRange,e,r);for(let a of l){let f=t.attributes[a],h=this.visit(f,e,[...r,"attributes",a]);if(h)return h}return(0,T.positionContained)(t.contentRange,e)?this.visitContent(t,e,r):(t.attributes[""]=(0,m.createAttributeNode)("",""),{path:[...r,"attributes","","name"],range:t.range})};visitContent(t,e,r){return this.visitChildren("content",t.content,t.contentRange,e,r)??this.findRelativePosition(t,e,r)}findRelativePosition(t,e,r){let i=t.content.findIndex(o=>o.range&&(0,T.isBefore)(e,o.range.start,!0));return i===-1?(t.content.push((0,m.createTextNode)("",t.contentRange)),{path:[...r,"content",0,"text"],range:t.contentRange}):{path:[...r,`$${i===-1?t.content.length:i}`],range:t.contentRange}}visitChildren(t,e,r,i,o){if((0,T.positionContained)(r,i))for(let s=0;s<e.length;s++){let l=e[s],a=this.visitChild(l,i,[...o,t,s]);if(a)return a}}visitChild(t,e,r){if(t===void 0)return;let i=this.visit(t,e,r);if(i)return i}visitTextProperty(t,e,r,i,o){if(e!==void 0&&(0,T.positionContained)(r,i)){let s=it(e,r,i),l=i.character-r.start.character;return{path:[...o,t,`$${l}`],range:r,...s}}}},H=new Q;function k(n,t,e=!1){H.forCompletion=e;let r=H.visit(n,t,[]);if(r)return{path:r.path.join("/"),range:r.range}}c(k,"findPathToPosition");function it(n,t,e){let r=e.character-t.start.character;return{startString:n.slice(0,r),remainingString:n.slice(r,t.end.character)}}c(it,"getTextFragmentsUntilPosition");function L(n,t){let e=t.split("/");e[0]===""&&e.shift();let r=!0,i="$",o="",s="",l=n;for(let a=0;a<e.length;a++){let f=e[a];if(f.startsWith("$")){if(typeof l=="string"){let h=Number.parseInt(f.substring(1),10);o=l.substring(0,h),s=l.substring(h)}else typeof l=="object"&&(i+=W(f,!0));if(a<e.length-1)return{found:!1,path:i,startString:o,remainingString:s}}else if(f===Number.parseInt(f,10).toString()&&Array.isArray(l)){i+=W(f,!1);let h=Number.parseInt(f,10);l=l[h]}else typeof l=="object"?(i+=W(f),l=l[f]):r=!1}return{found:r,path:i,startString:o,remainingString:s}}c(L,"getPositionData");function W(n,t=!0){return`[${t?`'${n}'`:n}]`}c(W,"convertSegment");var u=require("../../open-ux-shared/text-document-utils/index.js");var A=require("../../open-ux-shared/odata-annotation-core-types/index.js");var S=c((n,t)=>(t.content||[]).filter(e=>e.type===A.ELEMENT_TYPE&&(!n||n(e))),"elements"),M=c((n,t)=>S(e=>e.name===n,t),"elementsWithName"),F=c((n,t)=>n?.attributes?.[t],"getElementAttribute"),B=c((n,t)=>F(n,t)?.value??"","getElementAttributeValue");function Y(n,t){return n?.type===A.ELEMENT_TYPE&&n.name===t}c(Y,"isElementWithName");function at(n){return(n||"").replace(/\s/g,"").length===0}c(at,"isEmptyText");function K(n){let t=!1,e=null;return(n.content||[]).forEach(r=>{t||(r.type===A.ELEMENT_TYPE&&r.name!==A.Edm.Annotation?t=!0:r.type===A.TEXT_TYPE&&!at(r.text)&&(e?t=!0:e=r))}),t?null:e}c(K,"getSingleTextNode");var E=require("../../open-ux-shared/odata-annotation-core-types/index.js");function G(n,t,e){let i=(t.startsWith("/")?t.slice(1):t).split("/").map(a=>e?D(e,a):a),o=[],s=null,l=null;for(let a=0;a<i.length&&!s;a++){o.push(i[a]);let f=o.join("/"),h=n.getMetadataElement(f);h&&(l=h,(st(h)||ot(n,f))&&(s=h))}return s??l}c(G,"getPathBaseMetadataElement");function st(n){return!!n.isEntityType||!!n.isComplexType||!!n.structuredType}c(st,"isEntityOrComplexOrStructuredType");function ot(n,t){let e=n.getEdmTargetKinds(t),r=new Set([E.ACTION_KIND,E.FUNCTION_KIND,E.ACTION_IMPORT_KIND,E.FUNCTION_IMPORT_KIND]);return e.findIndex(i=>r.has(i))>=0}c(ot,"isPathPointingToActionKindElement");function D(n,t){let e="",r=t.indexOf("@");if(r>=0){let i=g(t.substring(r+1),n.aliasMap).qName;e=t.substring(0,r)+"@"+i}else t.indexOf(".")>-1?e=g(t,n.aliasMap).qName:e=t;return e}c(D,"getSegmentWithoutAlias");d(p,require("../../open-ux-shared/odata-annotation-core-types/index.js"));d(P,p,module.exports);var ct=p.default;0&&(module.exports={elements,elementsWithName,findPathToPosition,getAliasInformation,getAllNamespacesAndReferences,getElementAttribute,getElementAttributeValue,getIndentLevel,getPathBaseMetadataElement,getPositionData,getSegmentWithoutAlias,getSingleTextNode,indentWithSpaces,indentWithTabs,isBefore,isElementWithName,parseIdentifier,parsePath,positionAt,positionContained,positionContainedStrict,rangeContained,resolveName,toAliasQualifiedName,toFullyQualifiedName,toFullyQualifiedPath});