@odata-effect/odata-effect-generator 0.5.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/dist/cjs/generator/Generator.js +10 -5
  2. package/dist/cjs/generator/Generator.js.map +1 -1
  3. package/dist/cjs/generator/IndexGenerator.js +7 -6
  4. package/dist/cjs/generator/IndexGenerator.js.map +1 -1
  5. package/dist/cjs/generator/NamingHelper.js +23 -1
  6. package/dist/cjs/generator/NamingHelper.js.map +1 -1
  7. package/dist/cjs/generator/NavigationGenerator.js +5 -4
  8. package/dist/cjs/generator/NavigationGenerator.js.map +1 -1
  9. package/dist/cjs/generator/OperationsGenerator.js +5 -4
  10. package/dist/cjs/generator/OperationsGenerator.js.map +1 -1
  11. package/dist/cjs/generator/QueryModelsGenerator.js +3 -2
  12. package/dist/cjs/generator/QueryModelsGenerator.js.map +1 -1
  13. package/dist/cjs/generator/ServiceFnGenerator.js +5 -4
  14. package/dist/cjs/generator/ServiceFnGenerator.js.map +1 -1
  15. package/dist/cjs/model/GeneratorConfig.js.map +1 -1
  16. package/dist/dts/generator/Generator.d.ts +6 -0
  17. package/dist/dts/generator/Generator.d.ts.map +1 -1
  18. package/dist/dts/generator/IndexGenerator.d.ts +14 -1
  19. package/dist/dts/generator/IndexGenerator.d.ts.map +1 -1
  20. package/dist/dts/generator/NamingHelper.d.ts +15 -0
  21. package/dist/dts/generator/NamingHelper.d.ts.map +1 -1
  22. package/dist/dts/generator/NavigationGenerator.d.ts +14 -1
  23. package/dist/dts/generator/NavigationGenerator.d.ts.map +1 -1
  24. package/dist/dts/generator/OperationsGenerator.d.ts +14 -1
  25. package/dist/dts/generator/OperationsGenerator.d.ts.map +1 -1
  26. package/dist/dts/generator/QueryModelsGenerator.d.ts +14 -1
  27. package/dist/dts/generator/QueryModelsGenerator.d.ts.map +1 -1
  28. package/dist/dts/generator/ServiceFnGenerator.d.ts +14 -1
  29. package/dist/dts/generator/ServiceFnGenerator.d.ts.map +1 -1
  30. package/dist/dts/model/GeneratorConfig.d.ts +20 -0
  31. package/dist/dts/model/GeneratorConfig.d.ts.map +1 -1
  32. package/dist/esm/generator/Generator.js +10 -5
  33. package/dist/esm/generator/Generator.js.map +1 -1
  34. package/dist/esm/generator/IndexGenerator.js +8 -7
  35. package/dist/esm/generator/IndexGenerator.js.map +1 -1
  36. package/dist/esm/generator/NamingHelper.js +21 -0
  37. package/dist/esm/generator/NamingHelper.js.map +1 -1
  38. package/dist/esm/generator/NavigationGenerator.js +6 -5
  39. package/dist/esm/generator/NavigationGenerator.js.map +1 -1
  40. package/dist/esm/generator/OperationsGenerator.js +6 -5
  41. package/dist/esm/generator/OperationsGenerator.js.map +1 -1
  42. package/dist/esm/generator/QueryModelsGenerator.js +4 -3
  43. package/dist/esm/generator/QueryModelsGenerator.js.map +1 -1
  44. package/dist/esm/generator/ServiceFnGenerator.js +6 -5
  45. package/dist/esm/generator/ServiceFnGenerator.js.map +1 -1
  46. package/dist/esm/model/GeneratorConfig.js.map +1 -1
  47. package/package.json +1 -1
  48. package/src/generator/Generator.ts +15 -5
  49. package/src/generator/IndexGenerator.ts +27 -6
  50. package/src/generator/NamingHelper.ts +26 -0
  51. package/src/generator/NavigationGenerator.ts +23 -5
  52. package/src/generator/OperationsGenerator.ts +25 -5
  53. package/src/generator/QueryModelsGenerator.ts +27 -3
  54. package/src/generator/ServiceFnGenerator.ts +23 -5
  55. package/src/model/GeneratorConfig.ts +22 -0
@@ -1 +1 @@
1
- {"version":3,"file":"OperationsGenerator.js","names":["toPascalCase","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","getOperationsModuleName","generateOperations","dataModel","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","collectModelImports","imports","Set","isModelType","add","param","parameters","lines","versionConfig","isV4","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","effectSchema","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"AAUA,SAASA,YAAY,QAAQ,mBAAmB;AAWhD,MAAMC,SAAS,GAAkB;EAC/BC,eAAe,EAAE,mBAAmB;EACpCC,kBAAkB,EAAE,mBAAmB;EACvCC,YAAY,EAAE;CACf;AAED,MAAMC,SAAS,GAAkB;EAC/BH,eAAe,EAAE,qBAAqB;EACtCC,kBAAkB,EAAE,qBAAqB;EACzCC,YAAY,EAAE;CACf;AAED,MAAME,gBAAgB,GAAIC,OAAqB,IAAoBA,OAAO,KAAK,IAAI,GAAGF,SAAS,GAAGJ,SAAS;AAE3G;;;;;;;AAOA,OAAO,MAAMO,wBAAwB,GAAIC,SAAyB,IAAY;EAC5E,OAAOA,SAAS,CAACC,IAAI;AACvB,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,uBAAuB,GAAGA,CAAA,KAAc,YAAY;AAuBjE;;;;;;AAMA,OAAO,MAAMC,kBAAkB,GAAIC,SAAoB,IAAgC;EACrF;EACA,MAAMC,iBAAiB,GAAGC,KAAK,CAACC,IAAI,CAACH,SAAS,CAACI,UAAU,CAACC,MAAM,EAAE,CAAC,CAACC,MAAM,CAAEC,EAAE,IAAK,CAACA,EAAE,CAACC,OAAO,CAAC;EAE/F,IAAIP,iBAAiB,CAACQ,MAAM,KAAK,CAAC,EAAE;IAClC,OAAO;MAAEC,cAAc,EAAE;IAAI,CAAE;EACjC;EAEA,MAAMC,OAAO,GAAGC,sBAAsB,CAACX,iBAAiB,EAAED,SAAS,CAAC;EAEpE,OAAO;IACLU,cAAc,EAAE;MACdG,QAAQ,EAAE,GAAGf,uBAAuB,EAAE,KAAK;MAC3Ca;;GAEH;AACH,CAAC;AAED;;;AAGA,MAAMG,gBAAgB,GAAGA,CAAClB,SAAyB,EAAEI,SAAoB,KAAa;EACpF,IAAI,CAACJ,SAAS,CAACmB,UAAU,EAAE,OAAO,KAAK;EAEvC,MAAM;IAAEC;EAAS,CAAE,GAAGpB,SAAS,CAACmB,UAAU;EAC1C;EACA,MAAME,QAAQ,GAAGD,SAAS,CAACE,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;EAC5D;EACA,MAAMC,QAAQ,GAAGF,QAAQ,CAACG,QAAQ,CAAC,GAAG,CAAC,GAAGH,QAAQ,CAACI,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,IAAIL,QAAQ,GAAGA,QAAQ;EAE1F;EACA,KAAK,MAAM,CAACM,MAAM,CAAC,IAAIvB,SAAS,CAACwB,WAAW,EAAE;IAC5C,IAAID,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;EACzE;EACA,KAAK,MAAM,CAACI,MAAM,CAAC,IAAIvB,SAAS,CAAC0B,YAAY,EAAE;IAC7C,IAAIH,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;EACzE;EAEA,OAAO,KAAK;AACd,CAAC;AAED;;;AAGA,MAAMQ,iBAAiB,GAAI/B,SAAyB,IAAY;EAC9D,IAAI,CAACA,SAAS,CAACmB,UAAU,EAAE,OAAO,MAAM;EAExC,MAAM;IAAEa,YAAY;IAAEC;EAAW,CAAE,GAAGjC,SAAS,CAACmB,UAAU;EAC1D,MAAME,QAAQ,GAAGY,WAAW,CAACC,MAAM;EAEnC,OAAOF,YAAY,GAAG,iBAAiBX,QAAQ,GAAG,GAAGA,QAAQ;AAC/D,CAAC;AAED;;;AAGA,MAAMc,mBAAmB,GAAGA,CAAC3B,UAAyC,EAAEJ,SAAoB,KAAiB;EAC3G,MAAMgC,OAAO,GAAG,IAAIC,GAAG,EAAU;EAEjC,MAAMC,WAAW,GAAIf,QAAgB,IAAa;IAChD,KAAK,MAAM,CAACI,MAAM,CAAC,IAAIvB,SAAS,CAACwB,WAAW,EAAE;MAC5C,IAAID,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;IACzE;IACA,KAAK,MAAM,CAACI,MAAM,CAAC,IAAIvB,SAAS,CAAC0B,YAAY,EAAE;MAC7C,IAAIH,MAAM,CAACE,QAAQ,CAAC,IAAIN,QAAQ,EAAE,CAAC,IAAII,MAAM,KAAKJ,QAAQ,EAAE,OAAO,IAAI;IACzE;IACA,OAAO,KAAK;EACd,CAAC;EAED,KAAK,MAAMvB,SAAS,IAAIQ,UAAU,EAAE;IAClC;IACA,IAAIR,SAAS,CAACmB,UAAU,EAAE;MACxB,MAAMI,QAAQ,GAAGvB,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM;MACxD,IAAII,WAAW,CAACf,QAAQ,CAAC,EAAE;QACzBa,OAAO,CAACG,GAAG,CAAChB,QAAQ,CAAC;MACvB;IACF;IAEA;IACA,KAAK,MAAMiB,KAAK,IAAIxC,SAAS,CAACyC,UAAU,EAAE;MACxC,MAAMlB,QAAQ,GAAGiB,KAAK,CAACP,WAAW,CAACC,MAAM;MACzC,IAAII,WAAW,CAACf,QAAQ,CAAC,EAAE;QACzBa,OAAO,CAACG,GAAG,CAAChB,QAAQ,CAAC;MACvB;IACF;EACF;EAEA,OAAOa,OAAO;AAChB,CAAC;AAED;;;AAGA,MAAMpB,sBAAsB,GAAGA,CAC7BR,UAAyC,EACzCJ,SAAoB,KACV;EACV,MAAMsC,KAAK,GAAkB,EAAE;EAC/B,MAAMC,aAAa,GAAG9C,gBAAgB,CAACO,SAAS,CAACN,OAAO,CAAC;EACzD,MAAM8C,IAAI,GAAGxC,SAAS,CAACN,OAAO,KAAK,IAAI;EAEvC;EACA4C,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,2BAA2BzC,SAAS,CAAC0C,WAAW,UAAU1C,SAAS,CAACN,OAAO,GAAG,CAAC;EAC1F4C,KAAK,CAACG,IAAI,CAAC,mCAAmC,CAAC;EAC/CH,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;EAChBH,KAAK,CAACG,IAAI,CAAC,iBAAiB,CAAC;EAC7BH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,yCAAyC,CAAC;EACrDH,KAAK,CAACG,IAAI,CAAC,+CAA+C,CAAC;EAC3DH,KAAK,CAACG,IAAI,CAAC,0EAA0E,CAAC;EACtFH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd;EACAH,KAAK,CAACG,IAAI,CAAC,mEAAmE,CAAC;EAC/EH,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;EACtBH,KAAK,CAACG,IAAI,CAAC,KAAKF,aAAa,CAACjD,kBAAkB,EAAE,CAAC;EACnDgD,KAAK,CAACG,IAAI,CAAC,sCAAsCF,aAAa,CAAChD,YAAY,GAAG,CAAC;EAC/E+C,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;EACtB,IAAI,CAACD,IAAI,EAAE;IACTF,KAAK,CAACG,IAAI,CAAC,kBAAkB,CAAC;EAChC;EACAH,KAAK,CAACG,IAAI,CAAC,oBAAoB,CAAC;EAChCH,KAAK,CAACG,IAAI,CAAC,mBAAmB,CAAC;EAC/BH,KAAK,CAACG,IAAI,CAAC,4CAA4C,CAAC;EACxDH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,MAAME,YAAY,GAAGZ,mBAAmB,CAAC3B,UAAU,EAAEJ,SAAS,CAAC;EAC/D,IAAI2C,YAAY,CAACC,IAAI,GAAG,CAAC,EAAE;IACzBN,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;IACtB,MAAMI,WAAW,GAAG3C,KAAK,CAACC,IAAI,CAACwC,YAAY,CAAC;IAC5C,KAAK,IAAIG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,WAAW,CAACpC,MAAM,EAAEqC,CAAC,EAAE,EAAE;MAC3C,MAAMC,MAAM,GAAGD,CAAC,KAAKD,WAAW,CAACpC,MAAM,GAAG,CAAC;MAC3C6B,KAAK,CAACG,IAAI,CAAC,KAAKI,WAAW,CAACC,CAAC,CAAC,GAAGC,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IACvD;IACAT,KAAK,CAACG,IAAI,CAAC,mBAAmB,CAAC;IAC/BH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA;EACAH,KAAK,CAACG,IAAI,CAAC,iFAAiF,CAAC;EAC7FH,KAAK,CAACG,IAAI,CAAC,UAAU,CAAC;EACtBH,KAAK,CAACG,IAAI,CAAC,iFAAiF,CAAC;EAC7FH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EACdH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,oCAAoC,CAAC;EAChDH,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;EAChBH,KAAK,CAACG,IAAI,CAAC,iBAAiB,CAAC;EAC7BH,KAAK,CAACG,IAAI,CAAC,qBAAqB,CAAC;EACjCH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,+BAA+B,CAAC;EAC3CH,KAAK,CAACG,IAAI,CAAC,qCAAqC,CAAC;EACjDH,KAAK,CAACG,IAAI,CAAC,gBAAgB,CAAC;EAC5B,IAAI,CAACD,IAAI,EAAE;IACTF,KAAK,CAACG,IAAI,CAAC,cAAc,CAAC;EAC5B;EACAH,KAAK,CAACG,IAAI,CAAC,gBAAgB,CAAC;EAC5BH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd;EACAH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,+CAA+C,CAAC;EAC3DH,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;EAChBH,KAAK,CAACG,IAAI,CAAC,iBAAiB,CAAC;EAC7BH,KAAK,CAACG,IAAI,CAAC,sBAAsB,CAAC;EAClCH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,mCAAmCF,aAAa,CAAClD,eAAe,0BAA0B,CAAC;EACtGiD,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd;EACAH,KAAK,CAACG,IAAI,CAAC,iFAAiF,CAAC;EAC7FH,KAAK,CAACG,IAAI,CAAC,eAAe,CAAC;EAC3BH,KAAK,CAACG,IAAI,CAAC,iFAAiF,CAAC;EAC7FH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd,KAAK,MAAM7C,SAAS,IAAIQ,UAAU,EAAE;IAClC,IAAIoC,IAAI,EAAE;MACRQ,mBAAmB,CAACV,KAAK,EAAE1C,SAAS,EAAEI,SAAS,CAAC;IAClD,CAAC,MAAM;MACLiD,wBAAwB,CAACX,KAAK,EAAE1C,SAAS,EAAEI,SAAS,CAAC;IACvD;IACAsC,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA,OAAOH,KAAK,CAACY,IAAI,CAAC,IAAI,CAAC;AACzB,CAAC;AAED;;;AAGA,MAAMC,qBAAqB,GACzBvD,SAAyB,IACR;EACjB,IAAIA,SAAS,CAACyC,UAAU,CAAC5B,MAAM,KAAK,CAAC,EAAE,OAAO,IAAI;EAElD,MAAMU,QAAQ,GAAG,GAAGhC,YAAY,CAACS,SAAS,CAACwD,SAAS,CAAC,QAAQ;EAC7D,OAAOjC,QAAQ;AACjB,CAAC;AAED;;;AAGA,MAAMkC,0BAA0B,GAAGA,CACjCf,KAAoB,EACpB1C,SAAyB,KACjB;EACR,IAAIA,SAAS,CAACyC,UAAU,CAAC5B,MAAM,KAAK,CAAC,EAAE;EAEvC,MAAMU,QAAQ,GAAG,GAAGhC,YAAY,CAACS,SAAS,CAACwD,SAAS,CAAC,QAAQ;EAE7Dd,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,qBAAqB7C,SAAS,CAACwD,SAAS,aAAa,CAAC;EACjEd,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;EAChBH,KAAK,CAACG,IAAI,CAAC,iBAAiB,CAAC;EAC7BH,KAAK,CAACG,IAAI,CAAC,qBAAqB,CAAC;EACjCH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,oBAAoBtB,QAAQ,IAAI,CAAC;EAE5C,KAAK,MAAMiB,KAAK,IAAIxC,SAAS,CAACyC,UAAU,EAAE;IACxC,MAAMiB,YAAY,GAAGlB,KAAK,CAACmB,UAAU,GAAG,GAAG,GAAG,EAAE;IAChD,MAAMzB,MAAM,GAAGM,KAAK,CAACR,YAAY,GAC7B,iBAAiBQ,KAAK,CAACP,WAAW,CAACC,MAAM,GAAG,GAC5CM,KAAK,CAACP,WAAW,CAACC,MAAM;IAC5BQ,KAAK,CAACG,IAAI,CAAC,cAAcL,KAAK,CAACvC,IAAI,GAAGyD,YAAY,KAAKxB,MAAM,EAAE,CAAC;EAClE;EAEAQ,KAAK,CAACG,IAAI,CAAC,GAAG,CAAC;EACfH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;AAChB,CAAC;AAED;;;AAGA,MAAMe,wBAAwB,GAAGA,CAC/BlB,KAAoB,EACpBmB,MAA8C,EAC9CC,MAAc,KACN;EACRpB,KAAK,CAACG,IAAI,CAAC,GAAGiB,MAAM,oDAAoD,CAAC;EACzE,KAAK,MAAMtB,KAAK,IAAIqB,MAAM,EAAE;IAC1B;IACA,IAAIrB,KAAK,CAACvC,IAAI,KAAKuC,KAAK,CAACgB,SAAS,EAAE;MAClCd,KAAK,CAACG,IAAI,CAAC,GAAGiB,MAAM,KAAKtB,KAAK,CAACvC,IAAI,YAAYuC,KAAK,CAACvC,IAAI,GAAG,CAAC;IAC/D,CAAC,MAAM;MACLyC,KAAK,CAACG,IAAI,CAAC,GAAGiB,MAAM,MAAMtB,KAAK,CAACgB,SAAS,aAAahB,KAAK,CAACvC,IAAI,GAAG,CAAC;IACtE;EACF;EACAyC,KAAK,CAACG,IAAI,CAAC,GAAGiB,MAAM,GAAG,CAAC;AAC1B,CAAC;AAED;;;AAGA,MAAMT,wBAAwB,GAAGA,CAC/BX,KAAoB,EACpB1C,SAAyB,EACzBI,SAAoB,KACZ;EACR,MAAM2D,MAAM,GAAGhE,wBAAwB,CAACC,SAAS,CAAC;EAClD,MAAMgE,UAAU,GAAGT,qBAAqB,CAACvD,SAAS,CAAC;EACnD,MAAMmB,UAAU,GAAGY,iBAAiB,CAAC/B,SAAS,CAAC;EAC/C,MAAMiE,YAAY,GAAG/C,gBAAgB,CAAClB,SAAS,EAAEI,SAAS,CAAC;EAE3D;EACAqD,0BAA0B,CAACf,KAAK,EAAE1C,SAAS,CAAC;EAE5C0C,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,kBAAkB7C,SAAS,CAACwD,SAAS,mBAAmB,CAAC;EACpEd,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;EAChBH,KAAK,CAACG,IAAI,CAAC,iBAAiB,CAAC;EAC7BH,KAAK,CAACG,IAAI,CAAC,yBAAyB,CAAC;EACrCH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EAEjB;EACA,IAAImB,UAAU,EAAE;IACdtB,KAAK,CAACG,IAAI,CAAC,gBAAgBkB,MAAM,MAAM,CAAC;IACxCrB,KAAK,CAACG,IAAI,CAAC,aAAamB,UAAU,EAAE,CAAC;IACrCtB,KAAK,CAACG,IAAI,CAAC,mBAAmB,CAAC;EACjC,CAAC,MAAM;IACLH,KAAK,CAACG,IAAI,CAAC,gBAAgBkB,MAAM,uBAAuB,CAAC;EAC3D;EAEArB,KAAK,CAACG,IAAI,CAAC,KAAK1B,UAAU,GAAG,CAAC;EAC9BuB,KAAK,CAACG,IAAI,CAAC,oBAAoB,CAAC;EAChCH,KAAK,CAACG,IAAI,CAAC,qBAAqB,CAAC;EACjCH,KAAK,CAACG,IAAI,CAAC,MAAM,CAAC;EAClBH,KAAK,CAACG,IAAI,CAAC,4BAA4B,CAAC;EACxCH,KAAK,CAACG,IAAI,CAAC,6BAA6BrD,SAAS,CAACE,kBAAkB,EAAE,CAAC;EACvEgD,KAAK,CAACG,IAAI,CAAC,iDAAiD,CAAC;EAC7DH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,IAAImB,UAAU,EAAE;IACdJ,wBAAwB,CAAClB,KAAK,EAAE1C,SAAS,CAACyC,UAAU,EAAE,MAAM,CAAC;IAC7DC,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAChB;EAEA,MAAMqB,SAAS,GAAGF,UAAU,GAAG,YAAY,GAAG,WAAW;EAEzD;EACA,IAAI,CAAChE,SAAS,CAACmB,UAAU,EAAE;IACzBuB,KAAK,CAACG,IAAI,CACR,yEAAyE7C,SAAS,CAACwD,SAAS,MAAMU,SAAS,GAAG,CAC/G;EACH,CAAC,MAAM,IAAIlE,SAAS,CAACmB,UAAU,CAACa,YAAY,EAAE;IAC5C,IAAIiC,YAAY,EAAE;MAChBvB,KAAK,CAACG,IAAI,CACR,+EAA+E7C,SAAS,CAACwD,SAAS,MAAMxD,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAKgC,SAAS,GAAG,CACjK;IACH,CAAC,MAAM;MACLxB,KAAK,CAACG,IAAI,CACR,+EAA+E7C,SAAS,CAACwD,SAAS,MAAMxD,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACkC,YAAY,KAAKD,SAAS,GAAG,CACvK;IACH;EACF,CAAC,MAAM,IAAID,YAAY,EAAE;IACvBvB,KAAK,CAACG,IAAI,CACR,2EAA2E7C,SAAS,CAACwD,SAAS,MAAMxD,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAKgC,SAAS,GAAG,CAC7J;EACH,CAAC,MAAM;IACL;IACA,MAAME,YAAY,GAAGpE,SAAS,CAACwD,SAAS;IACxCd,KAAK,CAACG,IAAI,CACR,8EAA8E7C,SAAS,CAACwD,SAAS,OAAOY,YAAY,MAAMpE,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACkC,YAAY,KAAKD,SAAS,GAAG,CACzL;EACH;EAEAxB,KAAK,CAACG,IAAI,CAAC,MAAM,CAAC;AACpB,CAAC;AAED;;;AAGA,MAAMO,mBAAmB,GAAGA,CAC1BV,KAAoB,EACpB1C,SAAyB,EACzBI,SAAoB,KACZ;EACR,MAAM2D,MAAM,GAAGhE,wBAAwB,CAACC,SAAS,CAAC;EAClD,MAAMgE,UAAU,GAAGT,qBAAqB,CAACvD,SAAS,CAAC;EACnD,MAAMmB,UAAU,GAAGY,iBAAiB,CAAC/B,SAAS,CAAC;EAC/C,MAAMiE,YAAY,GAAG/C,gBAAgB,CAAClB,SAAS,EAAEI,SAAS,CAAC;EAC3D,MAAMiE,QAAQ,GAAGrE,SAAS,CAACsE,IAAI,KAAK,QAAQ;EAE5C;EACAb,0BAA0B,CAACf,KAAK,EAAE1C,SAAS,CAAC;EAE5C0C,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EACjBH,KAAK,CAACG,IAAI,CAAC,kBAAkB7C,SAAS,CAACwD,SAAS,IAAIxD,SAAS,CAACsE,IAAI,CAACC,WAAW,EAAE,GAAG,CAAC;EACpF7B,KAAK,CAACG,IAAI,CAAC,IAAI,CAAC;EAChBH,KAAK,CAACG,IAAI,CAAC,iBAAiB,CAAC;EAC7BH,KAAK,CAACG,IAAI,CAAC,yBAAyB,CAAC;EACrCH,KAAK,CAACG,IAAI,CAAC,KAAK,CAAC;EAEjB;EACA,IAAImB,UAAU,EAAE;IACdtB,KAAK,CAACG,IAAI,CAAC,gBAAgBkB,MAAM,MAAM,CAAC;IACxCrB,KAAK,CAACG,IAAI,CAAC,aAAamB,UAAU,EAAE,CAAC;IACrCtB,KAAK,CAACG,IAAI,CAAC,mBAAmB,CAAC;EACjC,CAAC,MAAM;IACLH,KAAK,CAACG,IAAI,CAAC,gBAAgBkB,MAAM,uBAAuB,CAAC;EAC3D;EAEArB,KAAK,CAACG,IAAI,CAAC,KAAK1B,UAAU,GAAG,CAAC;EAC9BuB,KAAK,CAACG,IAAI,CAAC,oBAAoB,CAAC;EAChCH,KAAK,CAACG,IAAI,CAAC,qBAAqB,CAAC;EACjCH,KAAK,CAACG,IAAI,CAAC,MAAM,CAAC;EAClBH,KAAK,CAACG,IAAI,CAAC,4BAA4B,CAAC;EACxCH,KAAK,CAACG,IAAI,CAAC,6BAA6BjD,SAAS,CAACF,kBAAkB,EAAE,CAAC;EACvEgD,KAAK,CAACG,IAAI,CAAC,iDAAiD,CAAC;EAC7DH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;EAEd;EACA,IAAI,CAACwB,QAAQ,EAAE;IACb;IACA,IAAIL,UAAU,EAAE;MACdJ,wBAAwB,CAAClB,KAAK,EAAE1C,SAAS,CAACyC,UAAU,EAAE,MAAM,CAAC;MAC7DC,KAAK,CAACG,IAAI,CAAC,gDAAgD7C,SAAS,CAACwD,SAAS,gBAAgB,CAAC;IACjG,CAAC,MAAM;MACLd,KAAK,CAACG,IAAI,CAAC,gDAAgD7C,SAAS,CAACwD,SAAS,IAAI,CAAC;IACrF;IACAd,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;IAEd;IACA,IAAI,CAAC7C,SAAS,CAACmB,UAAU,EAAE;MACzBuB,KAAK,CAACG,IAAI,CAAC,uEAAuE,CAAC;IACrF,CAAC,MAAM,IAAI7C,SAAS,CAACmB,UAAU,CAACa,YAAY,EAAE;MAC5C,IAAIiC,YAAY,EAAE;QAChBvB,KAAK,CAACG,IAAI,CACR,+EAA+E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM,GAAG,CAC1H;MACH,CAAC,MAAM;QACLQ,KAAK,CAACG,IAAI,CACR,+EAA+E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACkC,YAAY,GAAG,CAChI;MACH;IACF,CAAC,MAAM,IAAIF,YAAY,EAAE;MACvBvB,KAAK,CAACG,IAAI,CACR,2EAA2E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM,GAAG,CACtH;IACH,CAAC,MAAM;MACL;MACAQ,KAAK,CAACG,IAAI,CACR,8EAA8E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACkC,YAAY,GAAG,CAC/H;IACH;EACF,CAAC,MAAM;IACL;IACAzB,KAAK,CAACG,IAAI,CAAC,oBAAoB7C,SAAS,CAACwD,SAAS,GAAG,CAAC;IACtDd,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;IAEd;IACA,IAAI2B,OAAO,GAAG,WAAW;IACzB,IAAIR,UAAU,EAAE;MACd;MACA,MAAMS,iBAAiB,GAAGzE,SAAS,CAACyC,UAAU,CAACiC,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAAC1E,IAAI,KAAK0E,CAAC,CAACnB,SAAS,CAAC;MAClF,IAAIiB,iBAAiB,EAAE;QACrB/B,KAAK,CAACG,IAAI,CAAC,oBAAoB,CAAC;QAChC,KAAK,MAAML,KAAK,IAAIxC,SAAS,CAACyC,UAAU,EAAE;UACxC,IAAID,KAAK,CAACvC,IAAI,KAAKuC,KAAK,CAACgB,SAAS,EAAE;YAClCd,KAAK,CAACG,IAAI,CAAC,SAASL,KAAK,CAACvC,IAAI,YAAYuC,KAAK,CAACvC,IAAI,GAAG,CAAC;UAC1D,CAAC,MAAM;YACLyC,KAAK,CAACG,IAAI,CAAC,UAAUL,KAAK,CAACgB,SAAS,aAAahB,KAAK,CAACvC,IAAI,GAAG,CAAC;UACjE;QACF;QACAyC,KAAK,CAACG,IAAI,CAAC,OAAO,CAAC;QACnBH,KAAK,CAACG,IAAI,CAAC,EAAE,CAAC;QACd2B,OAAO,GAAG,MAAM;MAClB,CAAC,MAAM;QACLA,OAAO,GAAG,QAAQ;MACpB;IACF;IAEA,IAAI,CAACxE,SAAS,CAACmB,UAAU,EAAE;MACzBuB,KAAK,CAACG,IAAI,CAAC,uEAAuE2B,OAAO,GAAG,CAAC;IAC/F,CAAC,MAAM,IAAIxE,SAAS,CAACmB,UAAU,CAACa,YAAY,EAAE;MAC5C,IAAIiC,YAAY,EAAE;QAChBvB,KAAK,CAACG,IAAI,CACR,6EAA6E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAKsC,OAAO,GAAG,CACpI;MACH,CAAC,MAAM;QACL9B,KAAK,CAACG,IAAI,CACR,6EAA6E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACkC,YAAY,KAAKK,OAAO,GAAG,CAC1I;MACH;IACF,CAAC,MAAM,IAAIP,YAAY,EAAE;MACvBvB,KAAK,CAACG,IAAI,CACR,yEAAyE7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACC,MAAM,KAAKsC,OAAO,GAAG,CAChI;IACH,CAAC,MAAM;MACL;MACA9B,KAAK,CAACG,IAAI,CACR,8EAA8E7C,SAAS,CAACmB,UAAU,CAACc,WAAW,CAACkC,YAAY,GAAG,CAC/H;IACH;EACF;EAEAzB,KAAK,CAACG,IAAI,CAAC,MAAM,CAAC;AACpB,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"OperationsGenerator.js","names":["formatRelativeImport","toPascalCase","V2_CONFIG","clientConfigTag","clientConfigImport","clientModule","V4_CONFIG","getVersionConfig","version","getOperationFunctionName","operation","name","getOperationsModuleName","generateOperations","dataModel","options","esmExtensions","unboundOperations","Array","from","operations","values","filter","op","isBound","length","operationsFile","content","generateOperationsFile","fileName","returnsModelType","returnType","odataType","baseType","replace","typeName","includes","split","pop","fqName","entityTypes","endsWith","complexTypes","getReturnTypeName","isCollection","typeMapping","tsType","collectModelImports","imports","Set","isModelType","add","param","parameters","lines","versionConfig","isV4","push","serviceName","modelImports","size","importsList","i","isLast","generateV4Operation","generateV2FunctionImport","join","generateParameterType","odataName","generateParameterInterface","optionalMark","isNullable","generateParametersObject","params","indent","fnName","paramsType","returnsModel","paramsArg","effectSchema","propertyName","isAction","type","toLowerCase","bodyArg","hasDifferentNames","some","p"],"sources":["../../../src/generator/OperationsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,12 @@
1
- import { getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName } from "./NamingHelper.js";
1
+ import { formatRelativeImport, getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName } from "./NamingHelper.js";
2
2
  /**
3
3
  * Generate the QueryModels.ts file content.
4
4
  *
5
5
  * @since 1.0.0
6
6
  * @category generation
7
7
  */
8
- export const generateQueryModels = dataModel => {
8
+ export const generateQueryModels = (dataModel, options) => {
9
+ const esmExtensions = options?.esmExtensions ?? true;
9
10
  const lines = [];
10
11
  // Collect all query path types needed
11
12
  const queryPathTypes = collectQueryPathTypes(dataModel);
@@ -32,7 +33,7 @@ export const generateQueryModels = dataModel => {
32
33
  if (usedEntityNames.length > 0) {
33
34
  lines.push(`import type {`);
34
35
  lines.push(` ${usedEntityNames.join(",\n ")}`);
35
- lines.push(`} from "./Models"`);
36
+ lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
36
37
  }
37
38
  lines.push(``);
38
39
  // Generate complex type query paths
@@ -1 +1 @@
1
- {"version":3,"file":"QueryModelsGenerator.js","names":["getClassName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","generateQueryModels","dataModel","lines","queryPathTypes","collectQueryPathTypes","push","serviceName","Array","from","join","usedEntityNames","entitySet","entitySets","values","entityType","entityTypes","get","entityTypeFqName","name","length","complexType","complexTypes","line","generateQueryInterface","generateQueryInstance","generateQueryFactory","types","Set","addPropertyTypes","props","prop","add","typeMapping","queryPath","split","addNavPropertyTypes","navProps","navProp","isCollection","properties","navigationProperties","type","interfaceName","odataName","basePathType","pathType","startsWith","replace","targetQName","targetType","instanceName","allFields","i","pathClass","isLast","targetMatch","match","targetInstanceName","factoryName"],"sources":["../../../src/generator/QueryModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"QueryModelsGenerator.js","names":["formatRelativeImport","getClassName","getQueryFactoryName","getQueryInstanceName","getQueryInterfaceName","generateQueryModels","dataModel","options","esmExtensions","lines","queryPathTypes","collectQueryPathTypes","push","serviceName","Array","from","join","usedEntityNames","entitySet","entitySets","values","entityType","entityTypes","get","entityTypeFqName","name","length","complexType","complexTypes","line","generateQueryInterface","generateQueryInstance","generateQueryFactory","types","Set","addPropertyTypes","props","prop","add","typeMapping","queryPath","split","addNavPropertyTypes","navProps","navProp","isCollection","properties","navigationProperties","type","interfaceName","odataName","basePathType","pathType","startsWith","replace","targetQName","targetType","instanceName","allFields","i","pathClass","isLast","targetMatch","match","targetInstanceName","factoryName"],"sources":["../../../src/generator/QueryModelsGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1,12 +1,13 @@
1
- import { getEditableTypeName, getIdTypeName, getServiceClassName } from "./NamingHelper.js";
1
+ import { formatRelativeImport, getEditableTypeName, getIdTypeName, getServiceClassName } from "./NamingHelper.js";
2
2
  /**
3
3
  * Generate the Services.ts file using crud factory.
4
4
  *
5
5
  * @since 1.0.0
6
6
  * @category generation
7
7
  */
8
- export const generateServiceFns = dataModel => {
9
- const content = generateServicesFile(dataModel);
8
+ export const generateServiceFns = (dataModel, options) => {
9
+ const esmExtensions = options?.esmExtensions ?? true;
10
+ const content = generateServicesFile(dataModel, esmExtensions);
10
11
  return {
11
12
  servicesFile: {
12
13
  fileName: "Services.ts",
@@ -17,7 +18,7 @@ export const generateServiceFns = dataModel => {
17
18
  /**
18
19
  * Generate the Services.ts file content.
19
20
  */
20
- const generateServicesFile = dataModel => {
21
+ const generateServicesFile = (dataModel, esmExtensions) => {
21
22
  const lines = [];
22
23
  const isV4 = dataModel.version === "V4";
23
24
  const crudImportPath = isV4 ? "@odata-effect/odata-effect/CrudV4" : "@odata-effect/odata-effect/Crud";
@@ -59,7 +60,7 @@ const generateServicesFile = dataModel => {
59
60
  const isLast = i === modelImports.length - 1;
60
61
  lines.push(` ${modelImports[i]}${isLast ? "" : ","}`);
61
62
  }
62
- lines.push(`} from "./Models"`);
63
+ lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`);
63
64
  lines.push(``);
64
65
  // Re-export types from the crud module
65
66
  lines.push(`// Re-export types for convenience`);
@@ -1 +1 @@
1
- {"version":3,"file":"ServiceFnGenerator.js","names":["getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","primitiveCheck","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ServiceFnGenerator.js","names":["formatRelativeImport","getEditableTypeName","getIdTypeName","getServiceClassName","generateServiceFns","dataModel","options","esmExtensions","content","generateServicesFile","servicesFile","fileName","lines","isV4","version","crudImportPath","entitySets","entitySet","values","entityType","entityTypes","get","entityTypeFqName","push","serviceName","modelImports","name","keys","length","i","isLast","serviceClassName","entityName","editableName","hasKeys","generateIdToKeyFunction","join","idTypeName","keyProp","keyTsType","typeMapping","tsType","primitiveCheck","odataName","keyMapping","map","k"],"sources":["../../../src/generator/ServiceFnGenerator.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"GeneratorConfig.js","names":["getPropertyOverride","overrides","typeName","typeKind","odataPropertyName","undefined","typeOverrides","entities","complexTypes","properties","getTypeOverride","name","getOperationOverride","operationName","operations","getOperationParameterOverride","parameterName","opOverride","parameters"],"sources":["../../../src/model/GeneratorConfig.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AA+FA;;;;;;AAMA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,SAAsC,EACtCC,QAAgB,EAChBC,QAA8B,EAC9BC,iBAAyB,KACH;EACtB,IAAI,CAACH,SAAS,EAAE,OAAOI,SAAS;EAEhC;EACA,MAAMC,aAAa,GAAGH,QAAQ,KAAK,QAAQ,GACvCF,SAAS,CAACM,QAAQ,GAAGL,QAAQ,CAAC,GAC9BD,SAAS,CAACO,YAAY,GAAGN,QAAQ,CAAC;EAEtC,IAAII,aAAa,EAAEG,UAAU,GAAGL,iBAAiB,CAAC,EAAE;IAClD,OAAOE,aAAa,CAACG,UAAU,CAACL,iBAAiB,CAAC;EACpD;EAEA;EACA,IAAIH,SAAS,CAACQ,UAAU,GAAGL,iBAAiB,CAAC,EAAE;IAC7C,OAAOH,SAAS,CAACQ,UAAU,CAACL,iBAAiB,CAAC;EAChD;EAEA,OAAOC,SAAS;AAClB,CAAC;AAED;;;;;;AAMA,OAAO,MAAMK,eAAe,GAAGA,CAC7BT,SAAsC,EACtCC,QAAgB,EAChBC,QAA8B,KACR;EACtB,IAAI,CAACF,SAAS,EAAE,OAAOI,SAAS;EAEhC,MAAMC,aAAa,GAAGH,QAAQ,KAAK,QAAQ,GACvCF,SAAS,CAACM,QAAQ,GAAGL,QAAQ,CAAC,GAC9BD,SAAS,CAACO,YAAY,GAAGN,QAAQ,CAAC;EAEtC,OAAOI,aAAa,EAAEK,IAAI;AAC5B,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,oBAAoB,GAAGA,CAClCX,SAAsC,EACtCY,aAAqB,KACC;EACtB,IAAI,CAACZ,SAAS,EAAE,OAAOI,SAAS;EAChC,OAAOJ,SAAS,CAACa,UAAU,GAAGD,aAAa,CAAC,EAAEF,IAAI;AACpD,CAAC;AAED;;;;;;AAMA,OAAO,MAAMI,6BAA6B,GAAGA,CAC3Cd,SAAsC,EACtCY,aAAqB,EACrBG,aAAqB,KACC;EACtB,IAAI,CAACf,SAAS,EAAE,OAAOI,SAAS;EAEhC;EACA,MAAMY,UAAU,GAAGhB,SAAS,CAACa,UAAU,GAAGD,aAAa,CAAC,EAAEK,UAAU,GAAGF,aAAa,CAAC;EACrF,IAAIC,UAAU,EAAE,OAAOA,UAAU;EAEjC;EACA,OAAOhB,SAAS,CAACQ,UAAU,GAAGO,aAAa,CAAC;AAC9C,CAAC","ignoreList":[]}
1
+ {"version":3,"file":"GeneratorConfig.js","names":["getPropertyOverride","overrides","typeName","typeKind","odataPropertyName","undefined","typeOverrides","entities","complexTypes","properties","getTypeOverride","name","getOperationOverride","operationName","operations","getOperationParameterOverride","parameterName","opOverride","parameters"],"sources":["../../../src/model/GeneratorConfig.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;;AAqHA;;;;;;AAMA,OAAO,MAAMA,mBAAmB,GAAGA,CACjCC,SAAsC,EACtCC,QAAgB,EAChBC,QAA8B,EAC9BC,iBAAyB,KACH;EACtB,IAAI,CAACH,SAAS,EAAE,OAAOI,SAAS;EAEhC;EACA,MAAMC,aAAa,GAAGH,QAAQ,KAAK,QAAQ,GACvCF,SAAS,CAACM,QAAQ,GAAGL,QAAQ,CAAC,GAC9BD,SAAS,CAACO,YAAY,GAAGN,QAAQ,CAAC;EAEtC,IAAII,aAAa,EAAEG,UAAU,GAAGL,iBAAiB,CAAC,EAAE;IAClD,OAAOE,aAAa,CAACG,UAAU,CAACL,iBAAiB,CAAC;EACpD;EAEA;EACA,IAAIH,SAAS,CAACQ,UAAU,GAAGL,iBAAiB,CAAC,EAAE;IAC7C,OAAOH,SAAS,CAACQ,UAAU,CAACL,iBAAiB,CAAC;EAChD;EAEA,OAAOC,SAAS;AAClB,CAAC;AAED;;;;;;AAMA,OAAO,MAAMK,eAAe,GAAGA,CAC7BT,SAAsC,EACtCC,QAAgB,EAChBC,QAA8B,KACR;EACtB,IAAI,CAACF,SAAS,EAAE,OAAOI,SAAS;EAEhC,MAAMC,aAAa,GAAGH,QAAQ,KAAK,QAAQ,GACvCF,SAAS,CAACM,QAAQ,GAAGL,QAAQ,CAAC,GAC9BD,SAAS,CAACO,YAAY,GAAGN,QAAQ,CAAC;EAEtC,OAAOI,aAAa,EAAEK,IAAI;AAC5B,CAAC;AAED;;;;;;AAMA,OAAO,MAAMC,oBAAoB,GAAGA,CAClCX,SAAsC,EACtCY,aAAqB,KACC;EACtB,IAAI,CAACZ,SAAS,EAAE,OAAOI,SAAS;EAChC,OAAOJ,SAAS,CAACa,UAAU,GAAGD,aAAa,CAAC,EAAEF,IAAI;AACpD,CAAC;AAED;;;;;;AAMA,OAAO,MAAMI,6BAA6B,GAAGA,CAC3Cd,SAAsC,EACtCY,aAAqB,EACrBG,aAAqB,KACC;EACtB,IAAI,CAACf,SAAS,EAAE,OAAOI,SAAS;EAEhC;EACA,MAAMY,UAAU,GAAGhB,SAAS,CAACa,UAAU,GAAGD,aAAa,CAAC,EAAEK,UAAU,GAAGF,aAAa,CAAC;EACrF,IAAIC,UAAU,EAAE,OAAOA,UAAU;EAEjC;EACA,OAAOhB,SAAS,CAACQ,UAAU,GAAGO,aAAa,CAAC;AAC9C,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odata-effect/odata-effect-generator",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Effect-based OData service code generator",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -40,6 +40,12 @@ export interface GeneratorConfig {
40
40
  readonly filesOnly?: boolean | undefined
41
41
  /** Optional naming overrides for properties and types */
42
42
  readonly overrides?: NamingOverrides | undefined
43
+ /**
44
+ * Add .js extensions to relative imports for ESM compatibility.
45
+ * Required for moduleResolution: node16/nodenext.
46
+ * @default true
47
+ */
48
+ readonly esmExtensions?: boolean | undefined
43
49
  }
44
50
 
45
51
  /**
@@ -82,6 +88,7 @@ export const generate = (
82
88
  const serviceName = config.serviceName ?? dataModel.serviceName
83
89
  const packageName = config.packageName ?? `@template/${serviceName.toLowerCase()}-effect`
84
90
  const filesOnly = config.filesOnly ?? false
91
+ const esmExtensions = config.esmExtensions ?? true
85
92
 
86
93
  // When filesOnly is true, output directly to outputDir; otherwise use outputDir/src
87
94
  const sourceDir = filesOnly ? outputDir : path.join(outputDir, "src")
@@ -91,14 +98,17 @@ export const generate = (
91
98
  serviceName
92
99
  }
93
100
 
101
+ // Generator options for ESM extensions
102
+ const generatorOptions = { esmExtensions }
103
+
94
104
  // Generate tree-shakable service function files
95
- const serviceResult = generateServiceFns(dataModel)
105
+ const serviceResult = generateServiceFns(dataModel, generatorOptions)
96
106
 
97
107
  // Generate operations file (FunctionImports, Functions, Actions)
98
- const operationsResult = generateOperations(dataModel)
108
+ const operationsResult = generateOperations(dataModel, generatorOptions)
99
109
 
100
110
  // Generate navigation builders
101
- const navigationResult = generateNavigations(dataModel)
111
+ const navigationResult = generateNavigations(dataModel, generatorOptions)
102
112
 
103
113
  // Generate source files
104
114
  const sourceFiles: Array<GeneratedFile> = [
@@ -108,7 +118,7 @@ export const generate = (
108
118
  },
109
119
  {
110
120
  path: path.join(sourceDir, "QueryModels.ts"),
111
- content: generateQueryModels(dataModel)
121
+ content: generateQueryModels(dataModel, generatorOptions)
112
122
  },
113
123
  // Services file (all entity CRUD services in one file)
114
124
  {
@@ -129,7 +139,7 @@ export const generate = (
129
139
  })),
130
140
  {
131
141
  path: path.join(sourceDir, "index.ts"),
132
- content: generateIndex(dataModel)
142
+ content: generateIndex(dataModel, generatorOptions)
133
143
  }
134
144
  ]
135
145
 
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import type { DataModel } from "../model/DataModel.js"
7
7
  import {
8
+ formatRelativeImport,
8
9
  getEditableTypeName,
9
10
  getIdTypeName,
10
11
  getQueryFactoryName,
@@ -15,13 +16,31 @@ import {
15
16
  import { getPathBuildersModuleName } from "./NavigationGenerator.js"
16
17
  import { getOperationsModuleName } from "./OperationsGenerator.js"
17
18
 
19
+ /**
20
+ * Options for index generation.
21
+ *
22
+ * @since 1.0.0
23
+ * @category types
24
+ */
25
+ export interface IndexGeneratorOptions {
26
+ /**
27
+ * Add .js extensions to relative imports for ESM compatibility.
28
+ * @default true
29
+ */
30
+ readonly esmExtensions?: boolean
31
+ }
32
+
18
33
  /**
19
34
  * Generate the index.ts file content.
20
35
  *
21
36
  * @since 1.0.0
22
37
  * @category generation
23
38
  */
24
- export const generateIndex = (dataModel: DataModel): string => {
39
+ export const generateIndex = (
40
+ dataModel: DataModel,
41
+ options?: IndexGeneratorOptions
42
+ ): string => {
43
+ const esmExtensions = options?.esmExtensions ?? true
25
44
  const lines: Array<string> = []
26
45
 
27
46
  // Header
@@ -64,7 +83,7 @@ export const generateIndex = (dataModel: DataModel): string => {
64
83
  lines.push(` ${modelExports[i]}${isLast ? "" : ","}`)
65
84
  }
66
85
 
67
- lines.push(`} from "./Models"`)
86
+ lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
68
87
  lines.push(``)
69
88
 
70
89
  // Entity Services (all in one file using crud factory)
@@ -83,7 +102,7 @@ export const generateIndex = (dataModel: DataModel): string => {
83
102
  const isLast = i === serviceExports.length - 1
84
103
  lines.push(` ${serviceExports[i]}${isLast ? "" : ","}`)
85
104
  }
86
- lines.push(`} from "./Services"`)
105
+ lines.push(`} from "${formatRelativeImport("Services", esmExtensions)}"`)
87
106
  lines.push(``)
88
107
 
89
108
  // Operations (FunctionImports, Functions, Actions) - only if there are unbound operations
@@ -91,14 +110,16 @@ export const generateIndex = (dataModel: DataModel): string => {
91
110
  if (hasUnboundOperations) {
92
111
  lines.push(`// Operations (FunctionImports, Functions, Actions)`)
93
112
  const operationsModuleName = getOperationsModuleName()
94
- lines.push(`export * as ${operationsModuleName} from "./${operationsModuleName}"`)
113
+ lines.push(
114
+ `export * as ${operationsModuleName} from "${formatRelativeImport(operationsModuleName, esmExtensions)}"`
115
+ )
95
116
  lines.push(``)
96
117
  }
97
118
 
98
119
  // Path Builders (tree-shakable navigation)
99
120
  lines.push(`// Path Builders (tree-shakable navigation)`)
100
121
  const pathBuildersModuleName = getPathBuildersModuleName()
101
- lines.push(`export * from "./${pathBuildersModuleName}"`)
122
+ lines.push(`export * from "${formatRelativeImport(pathBuildersModuleName, esmExtensions)}"`)
102
123
  lines.push(``)
103
124
 
104
125
  // Query Models
@@ -132,7 +153,7 @@ export const generateIndex = (dataModel: DataModel): string => {
132
153
  lines.push(` ${queryExports[i]}${isLast ? "" : ","}`)
133
154
  }
134
155
 
135
- lines.push(`} from "./QueryModels"`)
156
+ lines.push(`} from "${formatRelativeImport("QueryModels", esmExtensions)}"`)
136
157
 
137
158
  return lines.join("\n")
138
159
  }
@@ -279,3 +279,29 @@ export const getOperationParameterNameWithOverrides = (
279
279
  // Fall back to default camelCase conversion
280
280
  return getPropertyName(odataParamName)
281
281
  }
282
+
283
+ // ============================================================================
284
+ // Import path utilities
285
+ // ============================================================================
286
+
287
+ /**
288
+ * Format a relative import path, optionally adding .js extension for ESM compatibility.
289
+ *
290
+ * @param moduleName - The module name (e.g., "Models", "Services")
291
+ * @param esmExtensions - Whether to add .js extension (default: true)
292
+ * @returns The formatted import path (e.g., "./Models.js" or "./Models")
293
+ *
294
+ * @example
295
+ * formatRelativeImport("Models", true) // "./Models.js"
296
+ * formatRelativeImport("Models", false) // "./Models"
297
+ *
298
+ * @since 1.0.0
299
+ * @category imports
300
+ */
301
+ export const formatRelativeImport = (
302
+ moduleName: string,
303
+ esmExtensions: boolean = true
304
+ ): string => {
305
+ const ext = esmExtensions ? ".js" : ""
306
+ return `./${moduleName}${ext}`
307
+ }
@@ -23,7 +23,7 @@
23
23
  */
24
24
  import type { DataModel, EntityTypeModel } from "../model/DataModel.js"
25
25
  import type { ODataVersion } from "../parser/EdmxSchema.js"
26
- import { getClassName, toCamelCase } from "./NamingHelper.js"
26
+ import { formatRelativeImport, getClassName, toCamelCase } from "./NamingHelper.js"
27
27
 
28
28
  /**
29
29
  * Version-specific configuration.
@@ -166,15 +166,33 @@ const getDerivedTypes = (
166
166
  return derived
167
167
  }
168
168
 
169
+ /**
170
+ * Options for navigation generation.
171
+ *
172
+ * @since 1.0.0
173
+ * @category types
174
+ */
175
+ export interface NavigationGeneratorOptions {
176
+ /**
177
+ * Add .js extensions to relative imports for ESM compatibility.
178
+ * @default true
179
+ */
180
+ readonly esmExtensions?: boolean
181
+ }
182
+
169
183
  /**
170
184
  * Generate navigation builders.
171
185
  *
172
186
  * @since 1.0.0
173
187
  * @category generation
174
188
  */
175
- export const generateNavigations = (dataModel: DataModel): NavigationGenerationResult => {
189
+ export const generateNavigations = (
190
+ dataModel: DataModel,
191
+ options?: NavigationGeneratorOptions
192
+ ): NavigationGenerationResult => {
193
+ const esmExtensions = options?.esmExtensions ?? true
176
194
  const moduleName = getPathBuildersModuleName()
177
- const content = generatePathBuildersFile(dataModel)
195
+ const content = generatePathBuildersFile(dataModel, esmExtensions)
178
196
 
179
197
  return {
180
198
  navigationFiles: [{
@@ -187,7 +205,7 @@ export const generateNavigations = (dataModel: DataModel): NavigationGenerationR
187
205
  /**
188
206
  * Generate the PathBuilders.ts file.
189
207
  */
190
- const generatePathBuildersFile = (dataModel: DataModel): string => {
208
+ const generatePathBuildersFile = (dataModel: DataModel, esmExtensions: boolean): string => {
191
209
  const lines: Array<string> = []
192
210
  const versionConfig = getVersionConfig(dataModel.version)
193
211
 
@@ -235,7 +253,7 @@ const generatePathBuildersFile = (dataModel: DataModel): string => {
235
253
  const isLast = i === typesList.length - 1
236
254
  lines.push(` ${typesList[i]} as ${typesList[i]}Model${isLast ? "" : ","}`)
237
255
  }
238
- lines.push(`} from "./Models"`)
256
+ lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
239
257
  lines.push(``)
240
258
  }
241
259
 
@@ -8,7 +8,7 @@
8
8
  */
9
9
  import type { DataModel, OperationModel, OperationParameterModel } from "../model/DataModel.js"
10
10
  import type { ODataVersion } from "../parser/EdmxSchema.js"
11
- import { toPascalCase } from "./NamingHelper.js"
11
+ import { formatRelativeImport, toPascalCase } from "./NamingHelper.js"
12
12
 
13
13
  /**
14
14
  * Version-specific imports and identifiers.
@@ -73,13 +73,32 @@ export interface OperationsGenerationResult {
73
73
  readonly operationsFile: GeneratedOperationsFile | null
74
74
  }
75
75
 
76
+ /**
77
+ * Options for operations generation.
78
+ *
79
+ * @since 1.0.0
80
+ * @category types
81
+ */
82
+ export interface OperationsGeneratorOptions {
83
+ /**
84
+ * Add .js extensions to relative imports for ESM compatibility.
85
+ * @default true
86
+ */
87
+ readonly esmExtensions?: boolean
88
+ }
89
+
76
90
  /**
77
91
  * Generate the operations file.
78
92
  *
79
93
  * @since 1.0.0
80
94
  * @category generation
81
95
  */
82
- export const generateOperations = (dataModel: DataModel): OperationsGenerationResult => {
96
+ export const generateOperations = (
97
+ dataModel: DataModel,
98
+ options?: OperationsGeneratorOptions
99
+ ): OperationsGenerationResult => {
100
+ const esmExtensions = options?.esmExtensions ?? true
101
+
83
102
  // Get unbound operations only (bound operations are attached to entity services)
84
103
  const unboundOperations = Array.from(dataModel.operations.values()).filter((op) => !op.isBound)
85
104
 
@@ -87,7 +106,7 @@ export const generateOperations = (dataModel: DataModel): OperationsGenerationRe
87
106
  return { operationsFile: null }
88
107
  }
89
108
 
90
- const content = generateOperationsFile(unboundOperations, dataModel)
109
+ const content = generateOperationsFile(unboundOperations, dataModel, esmExtensions)
91
110
 
92
111
  return {
93
112
  operationsFile: {
@@ -174,7 +193,8 @@ const collectModelImports = (operations: ReadonlyArray<OperationModel>, dataMode
174
193
  */
175
194
  const generateOperationsFile = (
176
195
  operations: ReadonlyArray<OperationModel>,
177
- dataModel: DataModel
196
+ dataModel: DataModel,
197
+ esmExtensions: boolean
178
198
  ): string => {
179
199
  const lines: Array<string> = []
180
200
  const versionConfig = getVersionConfig(dataModel.version)
@@ -215,7 +235,7 @@ const generateOperationsFile = (
215
235
  const isLast = i === importsList.length - 1
216
236
  lines.push(` ${importsList[i]}${isLast ? "" : ","}`)
217
237
  }
218
- lines.push(`} from "./Models"`)
238
+ lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
219
239
  lines.push(``)
220
240
  }
221
241
 
@@ -10,7 +10,27 @@ import type {
10
10
  NavigationPropertyModel,
11
11
  PropertyModel
12
12
  } from "../model/DataModel.js"
13
- import { getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterfaceName } from "./NamingHelper.js"
13
+ import {
14
+ formatRelativeImport,
15
+ getClassName,
16
+ getQueryFactoryName,
17
+ getQueryInstanceName,
18
+ getQueryInterfaceName
19
+ } from "./NamingHelper.js"
20
+
21
+ /**
22
+ * Options for query models generation.
23
+ *
24
+ * @since 1.0.0
25
+ * @category types
26
+ */
27
+ export interface QueryModelsGeneratorOptions {
28
+ /**
29
+ * Add .js extensions to relative imports for ESM compatibility.
30
+ * @default true
31
+ */
32
+ readonly esmExtensions?: boolean
33
+ }
14
34
 
15
35
  /**
16
36
  * Generate the QueryModels.ts file content.
@@ -18,7 +38,11 @@ import { getClassName, getQueryFactoryName, getQueryInstanceName, getQueryInterf
18
38
  * @since 1.0.0
19
39
  * @category generation
20
40
  */
21
- export const generateQueryModels = (dataModel: DataModel): string => {
41
+ export const generateQueryModels = (
42
+ dataModel: DataModel,
43
+ options?: QueryModelsGeneratorOptions
44
+ ): string => {
45
+ const esmExtensions = options?.esmExtensions ?? true
22
46
  const lines: Array<string> = []
23
47
 
24
48
  // Collect all query path types needed
@@ -48,7 +72,7 @@ export const generateQueryModels = (dataModel: DataModel): string => {
48
72
  if (usedEntityNames.length > 0) {
49
73
  lines.push(`import type {`)
50
74
  lines.push(` ${usedEntityNames.join(",\n ")}`)
51
- lines.push(`} from "./Models"`)
75
+ lines.push(`} from "${formatRelativeImport("Models", esmExtensions)}"`)
52
76
  }
53
77
  lines.push(``)
54
78