zenstack 2.8.1 → 2.9.1
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.
- package/cli/cli-util.js +7 -5
- package/cli/cli-util.js.map +1 -1
- package/cli/plugin-runner.js +3 -1
- package/cli/plugin-runner.js.map +1 -1
- package/language-server/utils.d.ts +5 -1
- package/language-server/utils.js +7 -0
- package/language-server/utils.js.map +1 -1
- package/language-server/validator/attribute-application-validator.js +3 -0
- package/language-server/validator/attribute-application-validator.js.map +1 -1
- package/language-server/validator/function-invocation-validator.js +1 -1
- package/language-server/validator/function-invocation-validator.js.map +1 -1
- package/language-server/validator/schema-validator.js +2 -1
- package/language-server/validator/schema-validator.js.map +1 -1
- package/language-server/validator/typedef-validator.d.ts +1 -0
- package/language-server/validator/typedef-validator.js +4 -0
- package/language-server/validator/typedef-validator.js.map +1 -1
- package/language-server/validator/utils.d.ts +1 -5
- package/language-server/validator/utils.js +0 -65
- package/language-server/validator/utils.js.map +1 -1
- package/language-server/zmodel-linker.js +10 -9
- package/language-server/zmodel-linker.js.map +1 -1
- package/language-server/zmodel-scope.d.ts +2 -2
- package/language-server/zmodel-scope.js +35 -27
- package/language-server/zmodel-scope.js.map +1 -1
- package/package.json +4 -4
- package/plugins/enhancer/enhance/auth-type-generator.d.ts +2 -2
- package/plugins/enhancer/enhance/auth-type-generator.js +4 -4
- package/plugins/enhancer/enhance/auth-type-generator.js.map +1 -1
- package/plugins/enhancer/enhance/index.d.ts +7 -3
- package/plugins/enhancer/enhance/index.js +109 -77
- package/plugins/enhancer/enhance/index.js.map +1 -1
- package/plugins/enhancer/enhance/model-typedef-generator.js +2 -1
- package/plugins/enhancer/enhance/model-typedef-generator.js.map +1 -1
- package/plugins/enhancer/index.js +2 -2
- package/plugins/enhancer/index.js.map +1 -1
- package/plugins/enhancer/policy/policy-guard-generator.d.ts +1 -1
- package/plugins/enhancer/policy/policy-guard-generator.js +23 -35
- package/plugins/enhancer/policy/policy-guard-generator.js.map +1 -1
- package/plugins/enhancer/policy/utils.js +15 -12
- package/plugins/enhancer/policy/utils.js.map +1 -1
- package/plugins/plugin-utils.d.ts +1 -1
- package/plugins/plugin-utils.js +5 -3
- package/plugins/plugin-utils.js.map +1 -1
- package/plugins/prisma/index.js +26 -1
- package/plugins/prisma/index.js.map +1 -1
- package/plugins/prisma/schema-generator.d.ts +0 -1
- package/plugins/prisma/schema-generator.js +40 -60
- package/plugins/prisma/schema-generator.js.map +1 -1
- package/plugins/zod/generator.d.ts +2 -0
- package/plugins/zod/generator.js +77 -19
- package/plugins/zod/generator.js.map +1 -1
- package/plugins/zod/transformer.d.ts +3 -2
- package/plugins/zod/transformer.js +31 -10
- package/plugins/zod/transformer.js.map +1 -1
- package/plugins/zod/utils/schema-gen.d.ts +1 -2
- package/plugins/zod/utils/schema-gen.js +0 -40
- package/plugins/zod/utils/schema-gen.js.map +1 -1
- package/res/stdlib.zmodel +3 -3
- package/utils/ast-utils.d.ts +5 -7
- package/utils/ast-utils.js +8 -43
- package/utils/ast-utils.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/plugins/zod/generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAsrBA,8DASC;AA/rBD,yCAeyB;AACzB,6CAA2G;AAC3G,+DAA4G;AAC5G,mDAAiG;AACjG,qCAA4C;AAC5C,gDAAwB;AAExB,uDAAkD;AAClD,wBAAyB;AACzB,kDAAyD;AACzD,gEAAwC;AAExC,mDAAgF;AAEhF,MAAa,kBAAkB;IAK3B,YACqB,KAAY,EACZ,OAAsB,EACtB,IAAmB,EACpC,aAA8C;;QAH7B,UAAK,GAAL,KAAK,CAAO;QACZ,YAAO,GAAP,OAAO,CAAe;QACtB,SAAI,GAAJ,IAAI,CAAe;QAPvB,gBAAW,GAAiB,EAAE,CAAC;QAU5C,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QAEnC,qBAAqB;QACrB,IACI,IAAI,CAAC,OAAO,CAAC,IAAI;YACjB,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAC5G,CAAC;YACC,MAAM,IAAI,iBAAW,CACjB,OAAI,EACJ,yBAAyB,IAAI,CAAC,OAAO,CAAC,IAAI,wDAAwD,CACrG,CAAC;QACN,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,CAAC,MAAA,IAAI,CAAC,OAAO,CAAC,IAAI,mCAAI,QAAQ,CAAe,CAAC;IAC9D,CAAC;IAEK,QAAQ;;;YACV,IAAI,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAgB,CAAC;YAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,MAAM,mBAAmB,GAAG,IAAA,qCAAsB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBACvE,IAAI,mBAAmB,EAAE,CAAC;oBACtB,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;gBACnD,CAAC;qBAAM,CAAC;oBACJ,MAAM,GAAG,iBAAiB,CAAC;gBAC/B,CAAC;YACL,CAAC;YACD,MAAM,GAAG,IAAA,iBAAW,EAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAA,oBAAc,EAAC,MAAM,CAAC,CAAC;YACvB,qBAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YAElC,sCAAsC;YACtC,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC;YAEnC,MAAM,eAAe,GAAG,gBAAgB,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CACpE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CACnD,CAAC;YAEF,wDAAwD;YACxD,MAAM,gBAAgB,GAAG,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAC3E,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAClG,CAAC;YACF,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAC7E,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAC5F,CAAC;YAEF,MAAM,MAAM,GAAiB,gBAAgB,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CACjE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAClD,CAAC;YAEF,iBAAiB;YACjB,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;YAEzC,QAAQ;YACR,MAAM,IAAI,CAAC,mBAAmB,CAC1B,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,EACxC,MAAA,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,mCAAI,EAAE,CAChD,CAAC;YAEF,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;gBACzB,0GAA0G;gBAC1G,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACnG,CAAC;gBACF,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACjG,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,wDAAwD;gBACxD,IAAA,yCAA0B,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,yBAAyB,GAAG,IAAA,+CAAgC,EAAC,gBAAgB,CAAC,CAAC;gBACrF,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAE3D,gBAAgB;gBAChB,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC;oBAChC,MAAM;oBACN,eAAe;oBACf,yBAAyB;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,gBAAgB;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC;gBACH,MAAM,WAAW,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;gBACjE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACtD,CAAC;YAED,qBAAqB;YACrB,MAAM,OAAO,GAAG,CAAC,oCAAoC,EAAE,kCAAkC,CAAC,CAAC;YAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAClC,OAAO,CAAC,IAAI,CAAC,kCAAkC,EAAE,sCAAsC,CAAC,CAAC;YAC7F,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CACzG,CAAC;YAEF,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,KAAK,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;gBAC/D,6EAA6E;gBAC7E,2BAA2B;gBAC3B,MAAM,OAAO,CAAC,GAAG,CACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAO,EAAE,EAAE,EAAE;oBAC9B,MAAM,EAAE,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpB,CAAC,CAAA,CAAC,CACL,CAAC;YACN,CAAC;QACL,CAAC;KAAA;IAED,IAAY,OAAO;QACf,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC;IACxC,CAAC;IAEO,iBAAiB;QACrB,kCAAkC;QAClC,MAAM,cAAc,GAAG,IAAA,0BAAoB,EAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,EAAE,OAAI,CAAC,CAAC;QAClF,IAAI,cAAc,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE,CAAC;gBAClC,qFAAqF;gBACrF,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY;qBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,iBAAW,EAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;qBACjE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACJ,0DAA0D;gBAC1D,MAAM,IAAI,GAAG,IAAA,mBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;gBACxF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAa,CAAC;gBACtC,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,oEAAoE;oBACpE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAG,CAAC;oBACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAEjB,yCAAyC;oBACzC,EAAE,CAAC,MAAM;yBACJ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,WAAC,OAAA,MAAA,CAAC,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAA,EAAA,CAAC;yBACjC,MAAM,CAAC,CAAC,IAAI,EAAqB,EAAE,CAAC,IAAA,iBAAW,EAAC,IAAI,CAAC,CAAC;yBACtD,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;wBACd,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACtB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACpB,CAAC;oBACL,CAAC,CAAC,CAAC;gBACX,CAAC;gBAED,yCAAyC;gBACzC,OAAO,IAAA,mBAAa,EAAC,IAAI,CAAC,KAAK,CAAC;qBAC3B,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;qBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAEa,qBAAqB,CAAC,MAAc;;YAC9C,UAAU;YACV,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CACzB,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EACvC;;;KAGX,EACW,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CACJ,CAAC;QACN,CAAC;KAAA;IAEa,mBAAmB,CAC7B,gBAA4C,EAC5C,eAA2C;;YAE3C,MAAM,SAAS,GAAG,CAAC,GAAG,gBAAgB,EAAE,GAAG,eAAe,CAAC,CAAC;YAC5D,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAA,iCAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7E,qBAAW,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC;gBAChC,SAAS;gBACT,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,gBAAgB,EAAE,EAAE;gBACpB,MAAM,EAAE,IAAI,CAAC,KAAK;gBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;aAClB,CAAC,CAAC;YACH,MAAM,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;QACtD,CAAC;KAAA;IAEa,qBAAqB,CAAC,gBAAkC,EAAE,MAAc;;;YAClF,wEAAwE;YACxE,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,KAAK,IAAI,CAAC;YAEjE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,MAAM,MAAM,GAAG,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC;gBAC3C,MAAM,IAAI,GAAG,MAAA,gBAAgB,CAAC,CAAC,CAAC,0CAAE,IAAI,CAAC;gBAEvC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACnD,SAAS;gBACb,CAAC;gBAED,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAA,0BAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBAChE,SAAS;gBACb,CAAC;gBAED,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC;oBAChC,IAAI;oBACJ,MAAM;oBACN,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,gBAAgB;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK;oBAClB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAClB,CAAC,CAAC;gBACH,MAAM,UAAU,GAAG,WAAW,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;gBACrF,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC7B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YACtD,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CACzB,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,kBAAkB,CAAC,EACrC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAClE,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CACJ,CAAC;QACN,CAAC;KAAA;IAEa,oBAAoB,CAAC,MAAc,EAAE,cAAwB;;YACvE,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,EAAE,IAAI,IAAA,mBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;oBACpC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;gBACjE,CAAC;YACL,CAAC;YAED,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,eAAS,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzC,WAAW,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;YAED,IAAI,CAAC,WAAW,CAAC,IAAI,CACjB,IAAI,CAAC,OAAO,CAAC,gBAAgB,CACzB,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,EACvC,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,oBAAoB,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAClE,EAAE,SAAS,EAAE,IAAI,EAAE,CACtB,CACJ,CAAC;QACN,CAAC;KAAA;IAEO,qBAAqB,CAAC,OAAgB,EAAE,MAAc;QAC1D,MAAM,UAAU,GAAG,GAAG,IAAA,iCAAc,EAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,SAAS,EAAE;YACjG,SAAS,EAAE,IAAI;SAClB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1B,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;YAEnD,MAAM,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,IAAI,oBAAoB,CAAC,CAAC;YAC/D,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAA,4BAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAClE,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;YAEH,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,OAAO;oBACR,wBAAwB;oBACxB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACtB,MAAM;gBACV,KAAK,aAAa;oBACd,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;oBACrC,MAAM;gBACV;oBACI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;oBAChC,MAAM;YACd,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,iCAAiC;QAEjC,OAAO,UAAU,CAAC;IACtB,CAAC;IAEO,oBAAoB,CAAC,IAAyB,EAAE,MAAuB,EAAE,MAAc;;QAC3F,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACzC,MAAM,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAE7C,uFAAuF;QACvF,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAA,2BAAiB,EAAC,IAAI,CAAC,EAAE,CAAC;YACzC,IAAI,IAAA,0BAAoB,EAAC,IAAI,CAAC,EAAE,CAAC;gBAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAgB,CAAC;gBAC3C,IAAI,CAAC,IAAA,kBAAY,EAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;oBAClC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC3C,CAAC;YACL,CAAC;QACL,CAAC;QACD,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,YAAY,GAAG,yBAAyB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1F,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC;QAC1F,CAAC;QAED,sBAAsB;QACtB,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAC9B,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,KAAI,IAAA,YAAM,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,EAAE,CAAC;gBACjE,MAAM,IAAI,GAAG,IAAA,iCAAc,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5D,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjC,MAAM,CAAC,SAAS,CAAC,YAAY,IAAI,2BAA2B,IAAI,WAAW,CAAC,CAAC;oBAC7E,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,SAAS,CAAC,4CAA4C,CAAC,CAAC;YAC/D,MAAM,CAAC,SAAS,CAAC,uCAAuC,CAAC,CAAC;QAC9D,CAAC;QAED,mCAAmC;QACnC,MAAM,eAAe,GAAG,IAAI,GAAG,CAC3B,IAAI,CAAC,MAAM;aACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,eAAC,OAAA,IAAA,eAAS,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,IAAI,CAAA,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,IAAI,MAAK,IAAI,CAAC,IAAI,CAAA,EAAA,CAAC;aACvG,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAU,CAAC,GAAI,CAAC,IAAI,CAAC,CACvD,CAAC;QACF,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACpC,MAAM,CAAC,SAAS,CAAC,YAAY,IAAA,iCAAc,EAAC,OAAO,CAAC,oBAAoB,IAAA,iCAAc,EAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAChH,CAAC;IACL,CAAC;IAEa,mBAAmB,CAAC,KAAgB,EAAE,MAAc;;YAC9D,MAAM,UAAU,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC;YAC1D,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,cAAI,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,KAAK,CAAC,EAAE,SAAS,EAAE;gBACjG,SAAS,EAAE,IAAI;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC1B,EAAE,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC1B,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CACpC,CAAC,KAAK,EAAE,EAAE;;oBACN,gCAAgC;oBAChC,OAAA,IAAA,eAAS,EAAC,KAAK,CAAC;wBAChB,sBAAsB;wBACtB,CAAC,CAAC,IAAA,iBAAW,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,IAAI,CAAC,IAAA,uBAAiB,EAAC,KAAK,CAAC,CAAC,CAAA;iBAAA,CAC7E,CAAC;gBAEF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,IAAA,iBAAW,EAAC,MAAA,KAAK,CAAC,IAAI,CAAC,SAAS,0CAAE,GAAG,CAAC,CAAA,EAAA,CAAC,CAAC;gBACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,uBAAiB,EAAC,KAAK,CAAC,CAAC,CAAC;gBAE1E,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAEjD,mFAAmF;gBACnF,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC7C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;oBACpB,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC3B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAA,4BAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;oBAClE,CAAC,CAAC,CAAC;gBACP,CAAC,CAAC,CAAC;gBAEH,QAAQ,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;oBACxB,KAAK,OAAO;wBACR,wBAAwB;wBACxB,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;wBACtB,MAAM;oBACV,KAAK,aAAa;wBACd,MAAM,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;wBACrC,MAAM;oBACV;wBACI,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;wBAChC,MAAM;gBACd,CAAC;gBAED,kBAAkB;gBAElB,IAAI,cAAkC,CAAC;gBACvC,IAAI,QAA4B,CAAC;gBAEjC,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvB,cAAc,GAAG,gBAAgB,CAAC;oBAClC,MAAM,CAAC,KAAK,CAAC,SAAS,cAAc,cAAc,CAAC,CAAC;oBACpD,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;wBACpB,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAA,4BAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,QAAQ,GAAG,UAAU,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,SAAS,QAAQ,cAAc,CAAC,CAAC;oBAC9C,MAAM,CAAC,WAAW,CAAC,GAAG,EAAE;wBACpB,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;4BACvB,MAAM,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,IAAI,KAAK,IAAA,4BAAe,EAAC,KAAK,CAAC,GAAG,CAAC,CAAC;wBAClE,CAAC,CAAC,CAAC;oBACP,CAAC,CAAC,CAAC;oBACH,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;gBAED,oCAAoC;gBACpC,MAAM,WAAW,GAAG,IAAA,sCAAyB,EAAC,KAAK,CAAC,CAAC;gBACrD,IAAI,cAAkC,CAAC;gBACvC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,cAAc,GAAG,SAAS,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvD,MAAM,CAAC,SAAS,CACZ;;;;kBAIF,cAAc,0EAA0E,WAAW,CAAC,IAAI,CAClG,IAAI,CACP;;CAEpB,CACgB,CAAC;gBACN,CAAC;gBAED,yEAAyE;gBACzE,MAAM,2BAA2B,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,0BAAoB,EAAC,KAAK,CAAC,CAAC,CAAC;gBAChG,MAAM,kBAAkB,GACpB,2BAA2B,CAAC,MAAM,GAAG,CAAC;oBAClC,CAAC,CAAC,WAAW,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;oBACtF,CAAC,CAAC,EAAE,CAAC;gBAEb,gDAAgD;gBAChD,kBAAkB;gBAClB,gDAAgD;gBAEhD,IAAI,WAAW,GAAG,YAAY,CAAC;gBAE/B,cAAc;gBACd,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;gBAClF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,WAAW,GAAG,IAAI,CAAC,QAAQ,CACvB,WAAW,EACX,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAClC,CAAC;gBACN,CAAC;gBAED,+DAA+D;gBAC/D,MAAM,iBAAiB,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;gBACtE,MAAM,CAAC,SAAS,CAAC;;OAEtB,KAAK,CAAC,IAAI;;eAEF,iBAAiB,MAAM,WAAW;CAChD,CAAC,CAAC;gBACS,WAAW,GAAG,iBAAiB,CAAC;gBAEhC,kBAAkB;gBAClB,IAAI,QAAQ,EAAE,CAAC;oBACX,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACxD,CAAC;gBAED,uCAAuC;gBACvC,IAAI,cAAc,EAAE,CAAC;oBACjB,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;gBAChF,CAAC;gBAED,SAAS;gBACT,IAAI,cAAc,EAAE,CAAC;oBACjB,qFAAqF;oBACrF,MAAM,cAAc,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC;oBAC1E,MAAM,CAAC,SAAS,CAAC;;OAE1B,KAAK,CAAC,IAAI;;eAEF,cAAc,MAAM,WAAW;CAC7C,CAAC,CAAC;oBACa,WAAW,GAAG,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC;gBACzD,CAAC;gBAED,iDAAiD;gBACjD,MAAM,CAAC,SAAS,CAAC;;OAEtB,KAAK,CAAC,IAAI;;eAEF,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,YAAY,WAAW;CAC/D,CAAC,CAAC;gBAES,gDAAgD;gBAChD,4BAA4B;gBAC5B,gDAAgD;gBAEhD,kEAAkE;gBAClE,IAAI,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,kBAAkB,EAAE,CAAC,CAAC,CAAC;gBACnG,IAAI,cAAc,EAAE,CAAC;oBACjB,kBAAkB,GAAG,GAAG,cAAc,IAAI,kBAAkB,GAAG,CAAC;gBACpE,CAAC;gBACD,MAAM,CAAC,SAAS,CAAC;;;;;eAKd,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,kBAAkB;CAClF,CAAC,CAAC;gBAES,kEAAkE;gBAClE,gEAAgE;gBAChE,IAAI,kBAAkB,GAAG;kBACnB,YAAY;qBACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAA,0BAAoB,EAAC,CAAC,CAAC,CAAC;qBACvC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;oBACX,IAAI,WAAW,GAAG,IAAA,4BAAe,EAAC,KAAK,CAAC,CAAC;oBACzC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAC3D,WAAW,GAAG,YAAY,WAAW,2BAA2B,CAAC;oBACrE,CAAC;oBACD,OAAO,KAAK,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC7C,CAAC,CAAC;qBACD,IAAI,CAAC,KAAK,CAAC;OACzB,CAAC;gBACI,kBAAkB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBAChF,MAAM,CAAC,SAAS,CACZ;;;;;eAKD,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,kBAAkB;CAClF,CACY,CAAC;gBAEF,gDAAgD;gBAChD,mBAAmB;gBACnB,gDAAgD;gBAEhD,IAAI,YAAY,GAAG,aAAa,kBAAkB,EAAE,CAAC;gBACrD,MAAM,iBAAiB,GAAG,YAAY,CAAC,MAAM,CACzC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAA,kBAAY,EAAC,KAAK,EAAE,UAAU,CAAC,IAAI,IAAA,kBAAY,EAAC,KAAK,EAAE,YAAY,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CACtG,CAAC;gBAEF,uCAAuC;gBACvC,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,6EAA6E;oBAC7E,2EAA2E;oBAC3E,YAAY,GAAG,IAAI,CAAC,WAAW,CAC3B,YAAY,EACZ,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAC/F,CAAC;gBACN,CAAC;gBAED,qEAAqE;gBACrE,MAAM,kBAAkB,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBAC7E,MAAM,CAAC,SAAS,CAAC;;OAEtB,KAAK,CAAC,IAAI;;eAEF,kBAAkB,MAAM,YAAY;CAClD,CAAC,CAAC;gBAES,IAAI,QAAQ,EAAE,CAAC;oBACX,kBAAkB;oBAClB,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;gBAChE,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACjB,2FAA2F;oBAC3F,MAAM,cAAc,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;oBAChF,MAAM,CAAC,SAAS,CAAC;;OAE1B,KAAK,CAAC,IAAI;;eAEF,cAAc,MAAM,YAAY;CAC9C,CAAC,CAAC;oBACa,YAAY,GAAG,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC;gBAC1D,CAAC;gBAED,wDAAwD;gBACxD,MAAM,CAAC,SAAS,CAAC;;OAEtB,KAAK,CAAC,IAAI;;eAEF,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY;CACtE,CAAC,CAAC;gBAES,gDAAgD;gBAChD,mBAAmB;gBACnB,gDAAgD;gBAEhD,qCAAqC;gBACrC,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,kBAAkB,EAAE,CAAC,CAAC;gBAEvE,qEAAqE;gBACrE,MAAM,kBAAkB,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;gBAC7E,MAAM,CAAC,SAAS,CAAC;;OAEtB,KAAK,CAAC,IAAI;;eAEF,kBAAkB,MAAM,YAAY;CAClD,CAAC,CAAC;gBAES,YAAY,GAAG,kBAAkB,CAAC;gBAElC,IAAI,QAAQ,EAAE,CAAC;oBACX,kBAAkB;oBAClB,YAAY,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5E,CAAC;gBAED,IAAI,cAAc,EAAE,CAAC;oBACjB,2FAA2F;oBAC3F,MAAM,cAAc,GAAG,GAAG,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC;oBAChF,MAAM,CAAC,SAAS,CAAC;;OAE1B,KAAK,CAAC,IAAI;;eAEF,cAAc,MAAM,YAAY;CAC9C,CAAC,CAAC;oBACa,YAAY,GAAG,GAAG,cAAc,IAAI,cAAc,GAAG,CAAC;gBAC1D,CAAC;gBAED,wDAAwD;gBACxD,MAAM,CAAC,SAAS,CAAC;;OAEtB,KAAK,CAAC,IAAI;;eAEF,IAAA,iCAAc,EAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,YAAY;CACtE,CAAC,CAAC;YACK,CAAC,CAAC,CAAC;YAEH,OAAO,UAAU,CAAC;QACtB,CAAC;KAAA;IAEO,WAAW,CAAC,MAAc,EAAE,MAAiB;QACjD,IAAI,MAAM,EAAE,CAAC;YACT,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtB,OAAO,MAAM,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACJ,OAAO,GAAG,MAAM;cAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;WAC7C,CAAC;YACA,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,MAAM,YAAY,CAAC;QACjC,CAAC;IACL,CAAC;IAEO,QAAQ,CAAC,MAAc,EAAE,MAAgB;QAC7C,OAAO,GAAG,MAAM;cACV,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;WAC7C,CAAC;IACR,CAAC;IAEO,SAAS,CAAC,OAAe,EAAE,OAAe;QAC9C,OAAO,GAAG,OAAO,UAAU,OAAO,GAAG,CAAC;IAC1C,CAAC;IAEO,eAAe,CAAC,MAAc;QAClC,OAAO,GAAG,MAAM,gBAAgB,CAAC;IACrC,CAAC;CACJ;AAvpBD,gDAupBC;AAED,SAAgB,yBAAyB,CAAC,aAAqB,EAAE,OAAsB;IACnF,IAAI,UAAU,GAAG,IAAA,kCAAyB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACnE,IAAI,UAAU,CAAC,UAAU,CAAC,qBAAe,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QAC5D,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,qBAAe,EAAE,WAAW,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,UAAU,CAAC;AACtB,CAAC"}
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../src/plugins/zod/generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type PluginOptions } from '@zenstackhq/sdk';
|
|
2
|
-
import { DataModel, type Model } from '@zenstackhq/sdk/ast';
|
|
2
|
+
import { DataModel, DataModelField, type Model } from '@zenstackhq/sdk/ast';
|
|
3
3
|
import { type DMMF as PrismaDMMF } from '@zenstackhq/sdk/prisma';
|
|
4
4
|
import type { SourceFile } from 'ts-morph';
|
|
5
5
|
import { AggregateOperationSupport, TransformerParams } from './types';
|
|
@@ -39,7 +39,8 @@ export default class Transformer {
|
|
|
39
39
|
generateObjectSchemaField(field: PrismaDMMF.SchemaArg, contextDataModel: DataModel | undefined, generateUnchecked: boolean, replaceJsonWithTypeDef?: boolean): [string, PrismaDMMF.SchemaArg, boolean][];
|
|
40
40
|
wrapWithZodValidators(mainValidators: string | string[], field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.InputTypeRef): string;
|
|
41
41
|
addSchemaImport(name: string): void;
|
|
42
|
-
generatePrismaStringLine(field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.InputTypeRef, inputsLength: number): string;
|
|
42
|
+
generatePrismaStringLine(field: PrismaDMMF.SchemaArg, inputType: PrismaDMMF.InputTypeRef, inputsLength: number, contextField: DataModelField | undefined): string;
|
|
43
|
+
private isFieldOptional;
|
|
43
44
|
generateFieldValidators(zodStringWithMainType: string, field: PrismaDMMF.SchemaArg): string;
|
|
44
45
|
prepareObjectSchema(zodObjectSchemaFields: string[], options: PluginOptions): string;
|
|
45
46
|
generateExportObjectSchemaStatement(schema: string): string;
|
|
@@ -53,7 +53,7 @@ class Transformer {
|
|
|
53
53
|
for (const enumType of this.enumTypes) {
|
|
54
54
|
const name = (0, upper_case_first_1.upperCaseFirst)(enumType.name);
|
|
55
55
|
const filePath = path_1.default.join(Transformer.outputPath, `enums/${name}.schema.ts`);
|
|
56
|
-
const content =
|
|
56
|
+
const content = `${this.generateImportZodStatement()}\n${this.generateExportSchemaStatement(`${name}`, `z.enum(${JSON.stringify(enumType.values)})`)}`;
|
|
57
57
|
this.sourceFiles.push(this.project.createSourceFile(filePath, content, { overwrite: true }));
|
|
58
58
|
generated.push(enumType.name);
|
|
59
59
|
}
|
|
@@ -62,7 +62,7 @@ class Transformer {
|
|
|
62
62
|
for (const enumDecl of extraEnums) {
|
|
63
63
|
const name = (0, upper_case_first_1.upperCaseFirst)(enumDecl.name);
|
|
64
64
|
const filePath = path_1.default.join(Transformer.outputPath, `enums/${name}.schema.ts`);
|
|
65
|
-
const content =
|
|
65
|
+
const content = `${this.generateImportZodStatement()}\n${this.generateExportSchemaStatement(`${name}`, `z.enum(${JSON.stringify(enumDecl.fields.map((f) => f.name))})`)}`;
|
|
66
66
|
this.sourceFiles.push(this.project.createSourceFile(filePath, content, { overwrite: true }));
|
|
67
67
|
generated.push(enumDecl.name);
|
|
68
68
|
}
|
|
@@ -84,7 +84,7 @@ class Transformer {
|
|
|
84
84
|
const { schemaFields, extraImports } = this.generateObjectSchemaFields(generateUnchecked);
|
|
85
85
|
const objectSchema = this.prepareObjectSchema(schemaFields, options);
|
|
86
86
|
const filePath = path_1.default.join(Transformer.outputPath, `objects/${this.name}.schema.ts`);
|
|
87
|
-
const content =
|
|
87
|
+
const content = extraImports.join('\n\n') + objectSchema;
|
|
88
88
|
this.sourceFiles.push(this.project.createSourceFile(filePath, content, { overwrite: true }));
|
|
89
89
|
return `${this.name}.schema`;
|
|
90
90
|
}
|
|
@@ -192,7 +192,8 @@ class Transformer {
|
|
|
192
192
|
if (inputType.type !== this.originalName && typeof inputType.type === 'string') {
|
|
193
193
|
this.addSchemaImport(inputType.type);
|
|
194
194
|
}
|
|
195
|
-
|
|
195
|
+
const contextField = contextDataModel === null || contextDataModel === void 0 ? void 0 : contextDataModel.fields.find((f) => f.name === field.name);
|
|
196
|
+
result.push(this.generatePrismaStringLine(field, inputType, lines.length, contextField));
|
|
196
197
|
}
|
|
197
198
|
}
|
|
198
199
|
return result;
|
|
@@ -248,7 +249,7 @@ class Transformer {
|
|
|
248
249
|
addSchemaImport(name) {
|
|
249
250
|
this.schemaImports.add((0, upper_case_first_1.upperCaseFirst)(name));
|
|
250
251
|
}
|
|
251
|
-
generatePrismaStringLine(field, inputType, inputsLength) {
|
|
252
|
+
generatePrismaStringLine(field, inputType, inputsLength, contextField) {
|
|
252
253
|
const isEnum = inputType.location === 'enumTypes';
|
|
253
254
|
const { isModelQueryType, modelName, queryName } = this.checkIsModelQueryType(inputType.type);
|
|
254
255
|
const objectSchemaLine = isModelQueryType
|
|
@@ -258,10 +259,32 @@ class Transformer {
|
|
|
258
259
|
const enumSchemaLine = `${(0, upper_case_first_1.upperCaseFirst)(inputType.type.toString())}Schema`;
|
|
259
260
|
const schema = inputType.type === this.name ? objectSchemaLine : isEnum ? enumSchemaLine : objectSchemaLine;
|
|
260
261
|
const arr = inputType.isList ? '.array()' : '';
|
|
261
|
-
const
|
|
262
|
+
const optional = !field.isRequired ||
|
|
263
|
+
// also check if the zmodel field infers the field as optional
|
|
264
|
+
(contextField && this.isFieldOptional(contextField));
|
|
262
265
|
return inputsLength === 1
|
|
263
|
-
? ` ${field.name}: z.lazy(() => ${schema})${arr}${
|
|
264
|
-
: `z.lazy(() => ${schema})${arr}${
|
|
266
|
+
? ` ${field.name}: z.lazy(() => ${schema})${arr}${optional ? '.optional()' : ''}`
|
|
267
|
+
: `z.lazy(() => ${schema})${arr}${optional ? '.optional()' : ''}`;
|
|
268
|
+
}
|
|
269
|
+
isFieldOptional(dmField) {
|
|
270
|
+
var _a;
|
|
271
|
+
if ((0, sdk_1.hasAttribute)(dmField, '@default')) {
|
|
272
|
+
// it's possible that ZModel field has a default but it's transformed away
|
|
273
|
+
// when generating Prisma schema, e.g.: `@default(auth().id)`
|
|
274
|
+
return true;
|
|
275
|
+
}
|
|
276
|
+
if ((0, ast_1.isDataModel)((_a = dmField.type.reference) === null || _a === void 0 ? void 0 : _a.ref)) {
|
|
277
|
+
// if field is a relation, we need to check if the corresponding fk field has a default
|
|
278
|
+
// {
|
|
279
|
+
// authorId Int @default(auth().id)
|
|
280
|
+
// author User @relation(...) // <- author should be optional
|
|
281
|
+
// }
|
|
282
|
+
const fkFields = (0, sdk_1.getForeignKeyFields)(dmField);
|
|
283
|
+
if (fkFields.every((fkField) => (0, sdk_1.hasAttribute)(fkField, '@default'))) {
|
|
284
|
+
return true;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
return false;
|
|
265
288
|
}
|
|
266
289
|
generateFieldValidators(zodStringWithMainType, field) {
|
|
267
290
|
const { isRequired, isNullable } = field;
|
|
@@ -553,7 +576,6 @@ export const ${this.name}ObjectSchema: SchemaType = ${schema} as SchemaType;`;
|
|
|
553
576
|
imports = [...new Set(imports)];
|
|
554
577
|
const filePath = path_1.default.join(Transformer.outputPath, `input/${modelName}Input.schema.ts`);
|
|
555
578
|
const content = `
|
|
556
|
-
/* eslint-disable */
|
|
557
579
|
${imports.join(';\n')}
|
|
558
580
|
|
|
559
581
|
type ${modelName}InputSchemaType = {
|
|
@@ -570,7 +592,6 @@ ${operations
|
|
|
570
592
|
}
|
|
571
593
|
const indexFilePath = path_1.default.join(Transformer.outputPath, 'input/index.ts');
|
|
572
594
|
const indexContent = `
|
|
573
|
-
/* eslint-disable */
|
|
574
595
|
${globalExports.join(';\n')}
|
|
575
596
|
`;
|
|
576
597
|
this.sourceFiles.push(this.project.createSourceFile(indexFilePath, indexContent, { overwrite: true }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/plugins/zod/transformer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transformer.js","sourceRoot":"","sources":["../../../src/plugins/zod/transformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DataModelField, TypeDefField } from '@zenstackhq/sdk/ast';
|
|
2
2
|
export declare function makeFieldSchema(field: DataModelField | TypeDefField): string;
|
|
3
|
-
export declare function makeValidationRefinements(model: DataModel): (string | undefined)[];
|
|
4
3
|
export declare function getFieldSchemaDefault(field: DataModelField | TypeDefField): string | boolean | undefined;
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.makeFieldSchema = makeFieldSchema;
|
|
4
|
-
exports.makeValidationRefinements = makeValidationRefinements;
|
|
5
4
|
exports.getFieldSchemaDefault = getFieldSchemaDefault;
|
|
6
5
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
7
6
|
const ast_1 = require("@zenstackhq/sdk/ast");
|
|
8
7
|
const upper_case_first_1 = require("upper-case-first");
|
|
9
|
-
const __1 = require("..");
|
|
10
8
|
const enhancer_utils_1 = require("../../enhancer/enhancer-utils");
|
|
11
9
|
function makeFieldSchema(field) {
|
|
12
10
|
var _a, _b;
|
|
@@ -200,44 +198,6 @@ function makeZodSchema(field) {
|
|
|
200
198
|
}
|
|
201
199
|
return schema;
|
|
202
200
|
}
|
|
203
|
-
function makeValidationRefinements(model) {
|
|
204
|
-
const attrs = model.attributes.filter((attr) => { var _a; return ((_a = attr.decl.ref) === null || _a === void 0 ? void 0 : _a.name) === '@@validate'; });
|
|
205
|
-
const refinements = attrs
|
|
206
|
-
.map((attr) => {
|
|
207
|
-
var _a;
|
|
208
|
-
const valueArg = (0, sdk_1.getAttributeArg)(attr, 'value');
|
|
209
|
-
if (!valueArg) {
|
|
210
|
-
return undefined;
|
|
211
|
-
}
|
|
212
|
-
const messageArg = (0, sdk_1.getAttributeArgLiteral)(attr, 'message');
|
|
213
|
-
const message = messageArg ? `message: ${JSON.stringify(messageArg)},` : '';
|
|
214
|
-
const pathArg = (0, sdk_1.getAttributeArg)(attr, 'path');
|
|
215
|
-
const path = pathArg && (0, ast_1.isArrayExpr)(pathArg) ? `path: ['${(_a = (0, sdk_1.getLiteralArray)(pathArg)) === null || _a === void 0 ? void 0 : _a.join(`', '`)}'],` : '';
|
|
216
|
-
const options = `, { ${message} ${path} }`;
|
|
217
|
-
try {
|
|
218
|
-
let expr = new sdk_1.TypeScriptExpressionTransformer({
|
|
219
|
-
context: sdk_1.ExpressionContext.ValidationRule,
|
|
220
|
-
fieldReferenceContext: 'value',
|
|
221
|
-
}).transform(valueArg);
|
|
222
|
-
if ((0, sdk_1.isDataModelFieldReference)(valueArg)) {
|
|
223
|
-
// if the expression is a simple field reference, treat undefined
|
|
224
|
-
// as true since the all fields are optional in validation context
|
|
225
|
-
expr = `${expr} ?? true`;
|
|
226
|
-
}
|
|
227
|
-
return `.refine((value: any) => ${expr}${options})`;
|
|
228
|
-
}
|
|
229
|
-
catch (err) {
|
|
230
|
-
if (err instanceof sdk_1.TypeScriptExpressionTransformerError) {
|
|
231
|
-
throw new sdk_1.PluginError(__1.name, err.message);
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
throw err;
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
|
-
})
|
|
238
|
-
.filter((r) => !!r);
|
|
239
|
-
return refinements;
|
|
240
|
-
}
|
|
241
201
|
function getAttrLiteralArg(attr, paramName) {
|
|
242
202
|
const arg = attr.args.find((arg) => { var _a; return ((_a = arg.$resolvedParam) === null || _a === void 0 ? void 0 : _a.name) === paramName; });
|
|
243
203
|
return arg && (0, sdk_1.getLiteral)(arg.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema-gen.js","sourceRoot":"","sources":["../../../../src/plugins/zod/utils/schema-gen.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"schema-gen.js","sourceRoot":"","sources":["../../../../src/plugins/zod/utils/schema-gen.ts"],"names":[],"mappings":"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"}
|
package/res/stdlib.zmodel
CHANGED
|
@@ -209,7 +209,7 @@ attribute @@@completionHint(_ values: String[])
|
|
|
209
209
|
* @param sort: Allows you to specify in what order the entries of the ID are stored in the database. The available options are Asc and Desc.
|
|
210
210
|
* @param clustered: Defines whether the ID is clustered or non-clustered. Defaults to true.
|
|
211
211
|
*/
|
|
212
|
-
attribute @id(map: String?, length: Int?, sort: SortOrder?, clustered: Boolean?) @@@prisma
|
|
212
|
+
attribute @id(map: String?, length: Int?, sort: SortOrder?, clustered: Boolean?) @@@prisma @@@supportTypeDef
|
|
213
213
|
|
|
214
214
|
/**
|
|
215
215
|
* Defines a default value for a field.
|
|
@@ -536,7 +536,7 @@ attribute @deny(_ operation: String @@@completionHint(["'create'", "'read'", "'u
|
|
|
536
536
|
* Used to specify the model for resolving `auth()` function call in access policies. A Zmodel
|
|
537
537
|
* can have at most one model with this attribute. By default, the model named "User" is used.
|
|
538
538
|
*/
|
|
539
|
-
attribute @@auth()
|
|
539
|
+
attribute @@auth() @@@supportTypeDef
|
|
540
540
|
|
|
541
541
|
/**
|
|
542
542
|
* Indicates that the field is a password field and needs to be hashed before persistence.
|
|
@@ -639,7 +639,7 @@ attribute @lte(_ value: Int, _ message: String?) @@@targetField([IntField, Float
|
|
|
639
639
|
/**
|
|
640
640
|
* Validates the entity with a complex condition.
|
|
641
641
|
*/
|
|
642
|
-
attribute @@validate(_ value: Boolean, _ message: String?, _ path: String[]?) @@@validation
|
|
642
|
+
attribute @@validate(_ value: Boolean, _ message: String?, _ path: String[]?) @@@validation @@@supportTypeDef
|
|
643
643
|
|
|
644
644
|
/**
|
|
645
645
|
* Validates length of a string field.
|
package/utils/ast-utils.d.ts
CHANGED
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { BinaryExpr, DataModel,
|
|
1
|
+
import { BinaryExpr, DataModel, Expression, Model, ModelImport, TypeDef } from '@zenstackhq/language/ast';
|
|
2
2
|
import { AstNode, LangiumDocuments, Linker } from 'langium';
|
|
3
3
|
import { URI } from 'vscode-uri';
|
|
4
4
|
export declare function extractDataModelsWithAllowRules(model: Model): DataModel[];
|
|
5
5
|
export declare function mergeBaseModels(model: Model, linker: Linker): void;
|
|
6
|
-
export declare function getIdFields(dataModel: DataModel): DataModelField[];
|
|
7
6
|
export declare function isAuthInvocation(node: AstNode): boolean;
|
|
8
7
|
export declare function isFutureInvocation(node: AstNode): boolean;
|
|
9
8
|
export declare function isCheckInvocation(node: AstNode): boolean;
|
|
10
|
-
export declare function getDataModelFieldReference(expr: Expression): DataModelField | undefined;
|
|
11
9
|
export declare function resolveImportUri(imp: ModelImport): URI | undefined;
|
|
12
10
|
export declare function resolveTransitiveImports(documents: LangiumDocuments, model: Model): Model[];
|
|
13
11
|
export declare function resolveImport(documents: LangiumDocuments, imp: ModelImport): Model | undefined;
|
|
@@ -20,13 +18,13 @@ export declare function getContainingDataModel(node: Expression): DataModel | un
|
|
|
20
18
|
*/
|
|
21
19
|
export declare function findUpAst(node: AstNode, predicate: (node: AstNode) => boolean): AstNode | undefined;
|
|
22
20
|
/**
|
|
23
|
-
* Gets all data models from all loaded documents
|
|
21
|
+
* Gets all data models and type defs from all loaded documents
|
|
24
22
|
*/
|
|
25
|
-
export declare function
|
|
23
|
+
export declare function getAllLoadedDataModelsAndTypeDefs(langiumDocuments: LangiumDocuments): (DataModel | TypeDef)[];
|
|
26
24
|
/**
|
|
27
|
-
* Gets all data models from loaded and reachable documents
|
|
25
|
+
* Gets all data models and type defs from loaded and reachable documents
|
|
28
26
|
*/
|
|
29
|
-
export declare function
|
|
27
|
+
export declare function getAllLoadedAndReachableDataModelsAndTypeDefs(langiumDocuments: LangiumDocuments, fromModel?: DataModel): (DataModel | TypeDef)[];
|
|
30
28
|
/**
|
|
31
29
|
* Walk up the inheritance chain to find the path from the start model to the target model
|
|
32
30
|
*/
|
package/utils/ast-utils.js
CHANGED
|
@@ -5,11 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.extractDataModelsWithAllowRules = extractDataModelsWithAllowRules;
|
|
7
7
|
exports.mergeBaseModels = mergeBaseModels;
|
|
8
|
-
exports.getIdFields = getIdFields;
|
|
9
8
|
exports.isAuthInvocation = isAuthInvocation;
|
|
10
9
|
exports.isFutureInvocation = isFutureInvocation;
|
|
11
10
|
exports.isCheckInvocation = isCheckInvocation;
|
|
12
|
-
exports.getDataModelFieldReference = getDataModelFieldReference;
|
|
13
11
|
exports.resolveImportUri = resolveImportUri;
|
|
14
12
|
exports.resolveTransitiveImports = resolveTransitiveImports;
|
|
15
13
|
exports.resolveImport = resolveImport;
|
|
@@ -18,8 +16,8 @@ exports.getAllDataModelsIncludingImports = getAllDataModelsIncludingImports;
|
|
|
18
16
|
exports.isCollectionPredicate = isCollectionPredicate;
|
|
19
17
|
exports.getContainingDataModel = getContainingDataModel;
|
|
20
18
|
exports.findUpAst = findUpAst;
|
|
21
|
-
exports.
|
|
22
|
-
exports.
|
|
19
|
+
exports.getAllLoadedDataModelsAndTypeDefs = getAllLoadedDataModelsAndTypeDefs;
|
|
20
|
+
exports.getAllLoadedAndReachableDataModelsAndTypeDefs = getAllLoadedAndReachableDataModelsAndTypeDefs;
|
|
23
21
|
exports.findUpInheritance = findUpInheritance;
|
|
24
22
|
const ast_1 = require("@zenstackhq/language/ast");
|
|
25
23
|
const sdk_1 = require("@zenstackhq/sdk");
|
|
@@ -103,28 +101,6 @@ function cloneAst(node, newContainer, buildReference) {
|
|
|
103
101
|
}
|
|
104
102
|
return clone;
|
|
105
103
|
}
|
|
106
|
-
function getIdFields(dataModel) {
|
|
107
|
-
var _a;
|
|
108
|
-
const fieldLevelId = (0, sdk_1.getModelFieldsWithBases)(dataModel).find((f) => f.attributes.some((attr) => attr.decl.$refText === '@id'));
|
|
109
|
-
if (fieldLevelId) {
|
|
110
|
-
return [fieldLevelId];
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
// get model level @@id attribute
|
|
114
|
-
const modelIdAttr = dataModel.attributes.find((attr) => { var _a, _b; return ((_b = (_a = attr.decl) === null || _a === void 0 ? void 0 : _a.ref) === null || _b === void 0 ? void 0 : _b.name) === '@@id'; });
|
|
115
|
-
if (modelIdAttr) {
|
|
116
|
-
// get fields referenced in the attribute: @@id([field1, field2]])
|
|
117
|
-
if (!(0, ast_1.isArrayExpr)((_a = modelIdAttr.args[0]) === null || _a === void 0 ? void 0 : _a.value)) {
|
|
118
|
-
return [];
|
|
119
|
-
}
|
|
120
|
-
const argValue = modelIdAttr.args[0].value;
|
|
121
|
-
return argValue.items
|
|
122
|
-
.filter((expr) => (0, ast_1.isReferenceExpr)(expr) && !!getDataModelFieldReference(expr))
|
|
123
|
-
.map((expr) => expr.target.ref);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return [];
|
|
127
|
-
}
|
|
128
104
|
function isAuthInvocation(node) {
|
|
129
105
|
var _a;
|
|
130
106
|
return (0, ast_1.isInvocationExpr)(node) && ((_a = node.function.ref) === null || _a === void 0 ? void 0 : _a.name) === 'auth' && (0, sdk_1.isFromStdlib)(node.function.ref);
|
|
@@ -137,17 +113,6 @@ function isCheckInvocation(node) {
|
|
|
137
113
|
var _a;
|
|
138
114
|
return (0, ast_1.isInvocationExpr)(node) && ((_a = node.function.ref) === null || _a === void 0 ? void 0 : _a.name) === 'check' && (0, sdk_1.isFromStdlib)(node.function.ref);
|
|
139
115
|
}
|
|
140
|
-
function getDataModelFieldReference(expr) {
|
|
141
|
-
if ((0, ast_1.isReferenceExpr)(expr) && (0, ast_1.isDataModelField)(expr.target.ref)) {
|
|
142
|
-
return expr.target.ref;
|
|
143
|
-
}
|
|
144
|
-
else if ((0, ast_1.isMemberAccessExpr)(expr) && (0, ast_1.isDataModelField)(expr.member.ref)) {
|
|
145
|
-
return expr.member.ref;
|
|
146
|
-
}
|
|
147
|
-
else {
|
|
148
|
-
return undefined;
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
116
|
function resolveImportUri(imp) {
|
|
152
117
|
var _a;
|
|
153
118
|
if (!imp.path)
|
|
@@ -238,20 +203,20 @@ function findUpAst(node, predicate) {
|
|
|
238
203
|
return undefined;
|
|
239
204
|
}
|
|
240
205
|
/**
|
|
241
|
-
* Gets all data models from all loaded documents
|
|
206
|
+
* Gets all data models and type defs from all loaded documents
|
|
242
207
|
*/
|
|
243
|
-
function
|
|
208
|
+
function getAllLoadedDataModelsAndTypeDefs(langiumDocuments) {
|
|
244
209
|
return langiumDocuments.all
|
|
245
210
|
.map((doc) => doc.parseResult.value)
|
|
246
|
-
.flatMap((model) => model.declarations.filter(ast_1.isDataModel))
|
|
211
|
+
.flatMap((model) => model.declarations.filter((d) => (0, ast_1.isDataModel)(d) || (0, ast_1.isTypeDef)(d)))
|
|
247
212
|
.toArray();
|
|
248
213
|
}
|
|
249
214
|
/**
|
|
250
|
-
* Gets all data models from loaded and reachable documents
|
|
215
|
+
* Gets all data models and type defs from loaded and reachable documents
|
|
251
216
|
*/
|
|
252
|
-
function
|
|
217
|
+
function getAllLoadedAndReachableDataModelsAndTypeDefs(langiumDocuments, fromModel) {
|
|
253
218
|
// get all data models from loaded documents
|
|
254
|
-
const allDataModels =
|
|
219
|
+
const allDataModels = getAllLoadedDataModelsAndTypeDefs(langiumDocuments);
|
|
255
220
|
if (fromModel) {
|
|
256
221
|
// merge data models transitively reached from the current model
|
|
257
222
|
const model = (0, langium_1.getContainerOfType)(fromModel, ast_1.isModel);
|