@memberjunction/codegen-lib 6.1.0-edge.4 → 6.1.0-edge.6
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/README.md +20 -0
- package/dist/Angular/angular-codegen.d.ts +9 -6
- package/dist/Angular/angular-codegen.d.ts.map +1 -1
- package/dist/Angular/angular-codegen.js +80 -51
- package/dist/Angular/angular-codegen.js.map +1 -1
- package/dist/Angular/join-grid-related-entity-component.d.ts.map +1 -1
- package/dist/Angular/join-grid-related-entity-component.js +5 -2
- package/dist/Angular/join-grid-related-entity-component.js.map +1 -1
- package/dist/Angular/related-entity-components.d.ts +11 -0
- package/dist/Angular/related-entity-components.d.ts.map +1 -1
- package/dist/Angular/related-entity-components.js +23 -0
- package/dist/Angular/related-entity-components.js.map +1 -1
- package/dist/Angular/timeline-related-entity-component.d.ts.map +1 -1
- package/dist/Angular/timeline-related-entity-component.js +3 -2
- package/dist/Angular/timeline-related-entity-component.js.map +1 -1
- package/dist/Config/config.d.ts +216 -12
- package/dist/Config/config.d.ts.map +1 -1
- package/dist/Config/config.js +88 -6
- package/dist/Config/config.js.map +1 -1
- package/dist/Config/schema-output.d.ts +33 -0
- package/dist/Config/schema-output.d.ts.map +1 -0
- package/dist/Config/schema-output.js +52 -0
- package/dist/Config/schema-output.js.map +1 -0
- package/dist/Database/codeGenDatabaseProvider.d.ts +68 -1
- package/dist/Database/codeGenDatabaseProvider.d.ts.map +1 -1
- package/dist/Database/codeGenDatabaseProvider.js +142 -3
- package/dist/Database/codeGenDatabaseProvider.js.map +1 -1
- package/dist/Database/dbSchema.js +2 -1
- package/dist/Database/dbSchema.js.map +1 -1
- package/dist/Database/decision-metadata-format.d.ts +124 -0
- package/dist/Database/decision-metadata-format.d.ts.map +1 -0
- package/dist/Database/decision-metadata-format.js +279 -0
- package/dist/Database/decision-metadata-format.js.map +1 -0
- package/dist/Database/decision-metadata-writer.d.ts +48 -0
- package/dist/Database/decision-metadata-writer.d.ts.map +1 -0
- package/dist/Database/decision-metadata-writer.js +482 -0
- package/dist/Database/decision-metadata-writer.js.map +1 -0
- package/dist/Database/entity-field-change-tracking.d.ts +53 -0
- package/dist/Database/entity-field-change-tracking.d.ts.map +1 -0
- package/dist/Database/entity-field-change-tracking.js +120 -0
- package/dist/Database/entity-field-change-tracking.js.map +1 -0
- package/dist/Database/entity-level-tree-cycles.d.ts.map +1 -1
- package/dist/Database/entity-level-tree-cycles.js +3 -2
- package/dist/Database/entity-level-tree-cycles.js.map +1 -1
- package/dist/Database/exclude-tables.d.ts +26 -0
- package/dist/Database/exclude-tables.d.ts.map +1 -0
- package/dist/Database/exclude-tables.js +38 -0
- package/dist/Database/exclude-tables.js.map +1 -0
- package/dist/Database/field-metadata-lock.d.ts +47 -0
- package/dist/Database/field-metadata-lock.d.ts.map +1 -0
- package/dist/Database/field-metadata-lock.js +159 -0
- package/dist/Database/field-metadata-lock.js.map +1 -0
- package/dist/Database/manage-metadata.d.ts +142 -42
- package/dist/Database/manage-metadata.d.ts.map +1 -1
- package/dist/Database/manage-metadata.js +625 -287
- package/dist/Database/manage-metadata.js.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts +2 -2
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js +90 -41
- package/dist/Database/providers/postgresql/PostgreSQLCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/postgresql/metadataSupportObjects.js +31 -8
- package/dist/Database/providers/postgresql/metadataSupportObjects.js.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts +3 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.d.ts.map +1 -1
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js +58 -23
- package/dist/Database/providers/sqlserver/SQLServerCodeGenProvider.js.map +1 -1
- package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js +15 -2
- package/dist/Database/providers/sqlserver/__tests__/BaseViewEmissionGoldenMaster.test.js.map +1 -1
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js +17 -0
- package/dist/Database/providers/sqlserver/__tests__/SQLServerCodeGenProvider.test.js.map +1 -1
- package/dist/Database/sql_codegen.d.ts +24 -0
- package/dist/Database/sql_codegen.d.ts.map +1 -1
- package/dist/Database/sql_codegen.js +108 -29
- package/dist/Database/sql_codegen.js.map +1 -1
- package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts +22 -0
- package/dist/Manifest/GenerateClassRegistrationsManifest.d.ts.map +1 -1
- package/dist/Manifest/GenerateClassRegistrationsManifest.js +115 -7
- package/dist/Manifest/GenerateClassRegistrationsManifest.js.map +1 -1
- package/dist/Misc/action_subclasses_codegen.js +2 -2
- package/dist/Misc/action_subclasses_codegen.js.map +1 -1
- package/dist/Misc/advanced_generation.d.ts +7 -5
- package/dist/Misc/advanced_generation.d.ts.map +1 -1
- package/dist/Misc/advanced_generation.js +34 -23
- package/dist/Misc/advanced_generation.js.map +1 -1
- package/dist/Misc/codegen-reporter.d.ts +5 -0
- package/dist/Misc/codegen-reporter.d.ts.map +1 -1
- package/dist/Misc/codegen-reporter.js +9 -2
- package/dist/Misc/codegen-reporter.js.map +1 -1
- package/dist/Misc/emit-stats.d.ts +28 -0
- package/dist/Misc/emit-stats.d.ts.map +1 -0
- package/dist/Misc/emit-stats.js +43 -0
- package/dist/Misc/emit-stats.js.map +1 -0
- package/dist/Misc/entity_subclasses_codegen.d.ts +20 -2
- package/dist/Misc/entity_subclasses_codegen.d.ts.map +1 -1
- package/dist/Misc/entity_subclasses_codegen.js +120 -51
- package/dist/Misc/entity_subclasses_codegen.js.map +1 -1
- package/dist/Misc/file-write.d.ts +15 -0
- package/dist/Misc/file-write.d.ts.map +1 -0
- package/dist/Misc/file-write.js +33 -0
- package/dist/Misc/file-write.js.map +1 -0
- package/dist/Misc/graphql_server_codegen.d.ts +12 -2
- package/dist/Misc/graphql_server_codegen.d.ts.map +1 -1
- package/dist/Misc/graphql_server_codegen.js +72 -16
- package/dist/Misc/graphql_server_codegen.js.map +1 -1
- package/dist/Misc/remote_operations_codegen.d.ts.map +1 -1
- package/dist/Misc/remote_operations_codegen.js +4 -3
- package/dist/Misc/remote_operations_codegen.js.map +1 -1
- package/dist/Misc/runCommand.d.ts +5 -0
- package/dist/Misc/runCommand.d.ts.map +1 -1
- package/dist/Misc/runCommand.js +43 -17
- package/dist/Misc/runCommand.js.map +1 -1
- package/dist/Misc/schema-emit.d.ts +123 -0
- package/dist/Misc/schema-emit.d.ts.map +1 -0
- package/dist/Misc/schema-emit.js +221 -0
- package/dist/Misc/schema-emit.js.map +1 -0
- package/dist/Misc/sql_logging.d.ts +63 -8
- package/dist/Misc/sql_logging.d.ts.map +1 -1
- package/dist/Misc/sql_logging.js +169 -42
- package/dist/Misc/sql_logging.js.map +1 -1
- package/dist/Misc/util.d.ts +12 -0
- package/dist/Misc/util.d.ts.map +1 -1
- package/dist/Misc/util.js +71 -8
- package/dist/Misc/util.js.map +1 -1
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -1
- package/dist/plugins/index.d.ts +3 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +28 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/runCodeGen.d.ts +20 -2
- package/dist/runCodeGen.d.ts.map +1 -1
- package/dist/runCodeGen.js +186 -33
- package/dist/runCodeGen.js.map +1 -1
- package/package.json +29 -29
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codegen-reporter.js","sourceRoot":"","sources":["../../src/Misc/codegen-reporter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"codegen-reporter.js","sourceRoot":"","sources":["../../src/Misc/codegen-reporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AA2IzB;;;GAGG;AACH,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAE7B,+EAA+E;AAC/E,WAAW;AACX,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,OAAO,eAAgB,SAAQ,aAA8B;IACjE;QACE,KAAK,EAAE,CAAC;QAOV,2EAA2E;QAC3E,4BAA4B;QAC5B,2EAA2E;QAEnE,YAAO,GAAY,KAAK,CAAC;QACzB,gBAAW,GAAW,CAAC,CAAC;QACxB,iBAAY,GAAW,EAAE,CAAC;QAC1B,YAAO,GAAgB,EAAE,CAAC;QAC1B,gBAAW,GAAgB,EAAE,CAAC;QAC9B,cAAS,GAA6B,IAAI,GAAG,EAAE,CAAC;QAChD,cAAS,GAAmB,EAAE,CAAC;QAC/B,cAAS,GAAgB,IAAI,CAAC,aAAa,EAAE,CAAC;QAC9C,aAAQ,GAA4B,EAAE,CAAC;QACvC,WAAM,GAAa,EAAE,CAAC;QACtB,mBAAc,GAAkB,IAAI,CAAC;IApB7C,CAAC;IAEM,MAAM,KAAK,QAAQ;QACxB,OAAO,KAAK,CAAC,WAAW,EAAmB,CAAC;IAC9C,CAAC;IAkBD,8CAA8C;IAC9C,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,qCAAqC;IACrC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,sEAAsE;IAC/D,QAAQ;QACb,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7D,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;IAC7B,CAAC;IAED,2EAA2E;IAC3E,sBAAsB;IACtB,2EAA2E;IAE3E;;;;;;OAMG;IACI,KAAK,CAAC,KAAK,CAAI,IAAY,EAAE,EAAoB;QACtD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QAE/B,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC7D,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3E,MAAM,IAAI,GAAc;YACtB,IAAI;YACJ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW;YACjC,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,EAAE;SACb,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACzC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,WAAW,CAAI,UAAkB,EAAE,SAAiB,EAAE,EAAoB;QACrF,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,EAAE,CAAC;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACjD,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,CAAC;QACvC,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QAEjC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,UAAU,UAAU,IAAI,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACnE,CAAC;gBAAS,CAAC;YACT,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,KAAK,CAAC,OAAO,IAAI,OAAO,CAAC;YACzB,IAAI,SAAS,KAAK,oBAAoB,EAAE,CAAC;gBACvC,KAAK,CAAC,oBAAoB,IAAI,OAAO,CAAC;YACxC,CAAC;YACD,IAAI,CAAC,cAAc,GAAG,UAAU,CAAC;QACnC,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,aAAa,CAAC,IAQpB;QACC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAE1B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC;QAC1D,MAAM,KAAK,GAAiB;YAC1B,UAAU;YACV,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,CAAC;YAC5B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,CAAC;YAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,CAAC;YAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;SACpC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAC/C,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC;YAClB,GAAG,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;YAC/B,GAAG,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC;YACjC,GAAG,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,gFAAgF;IACzE,OAAO,CAAC,IAAY,EAAE,QAAgB,CAAC;QAC5C,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QAC/B,CAAC;QACD,8EAA8E;IAChF,CAAC;IAED,wDAAwD;IACjD,aAAa,CAAC,MAAc,EAAE,QAAgB,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,GAAG,KAAK,CAAC;IACnD,CAAC;IAED,gEAAgE;IACzD,IAAI,CAAC,GAAW,EAAE,KAAc;QACrC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED,0EAA0E;IACnE,UAAU,CAAC,UAAkB,EAAE,IAAwC,EAAE,QAAiB,IAAI;QACnG,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAC/C,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,uEAAuE;IAChE,IAAI,CAAC,OAAe;QACzB,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,2EAA2E;IAC3E,WAAW;IACX,2EAA2E;IAE3E;;;;;OAKG;IACI,KAAK,CAAC,MAAM,CAAC,OAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QAE3D,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,MAAM,GAAc;YACxB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,UAAU,EAAE,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE;YAChD,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC,WAAW;YACxC,OAAO;YACP,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,OAAO;YACpB,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;YAC7C,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvE,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC;QAEF,IAAI,WAAW,GAAkB,IAAI,CAAC;QACtC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACzC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC;YACzD,MAAM,EAAE,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YACzE,MAAM,eAAe,CAAC,YAAY,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,kEAAkE;YAClE,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,8CAA+C,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,WAAW,GAAG,IAAI,CAAC;QACrB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IAC3C,CAAC;IAED,qEAAqE;IAC9D,QAAQ;QACb,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE;YACvB,SAAS,EAAE,IAAI,CAAC,YAAY;YAC5B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,WAAW;YACtC,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE;YAC7B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAChD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC3F,QAAQ,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;YAC7B,QAAQ,EAAE;gBACR,GAAG,IAAI,CAAC,SAAS;gBACjB,OAAO,EAAE,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE;aACvC;YACD,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,aAAa,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YACrE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;YACvE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;SACxB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,YAAY,CAAC,MAAiB;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;QACvC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,iBAAiB,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7E,MAAM,KAAK,GAAa;YACtB,EAAE;YACF,kBAAkB,MAAM,CAAC,SAAS,MAAM,cAAc,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,QAAQ,WAAW;YACpG,EAAE;YACF,+CAA+C;YAC/C,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;SACf,CAAC;QAEF,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9D,MAAM,SAAS,GAAG,SAAS,CAAC;QAE5B,SAAS,YAAY,CAAC,MAAmB,EAAE,MAAc,EAAE,WAAmB;YAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;gBACvB,MAAM,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtF,MAAM,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC1C,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;gBACxE,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;QACH,CAAC;QACD,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3C,IAAI,OAAO,GAAG,GAAG,EAAE,CAAC;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,GAAG,CAAC,CAAC,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;gBACpB,IAAI,CAAC,CAAC,oBAAoB,GAAG,CAAC;oBAAE,MAAM;gBACtC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,MAAM,GAAG,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACtD,MAAM,IAAI,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACrG,CAAC;QACH,CAAC;QAED,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACf,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,CAAC,cAAc,CAAC,cAAc,EAAE,CAAC;YACzD,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,CAAC,QAAQ,CAAC,MAAM,YAAY,QAAQ,gBAAgB,SAAS,WAAW,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC5I,CAAC;QAED,MAAM,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC;QAC1B,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,CAAC,CAAC,WAAW;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,MAAM,CAAC,CAAC;QAC7D,IAAI,CAAC,CAAC,gBAAgB;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,WAAW,CAAC,CAAC;QAC5E,IAAI,CAAC,CAAC,mBAAmB;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,aAAa,CAAC,CAAC;QACpF,IAAI,CAAC,CAAC,aAAa;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACxF,IAAI,CAAC,CAAC,YAAY;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAClF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,eAAe,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChC,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,MAAmB;QAC7C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,KAAK,IAAI,CAAC,CAAC,UAAU,CAAC;QACxB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,2EAA2E;IAC3E,gEAAgE;IAChE,2EAA2E;IAE3E,qDAAqD;IAC9C,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,8DAA8D;IACvD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAc;QACzC,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QACvC,IAAI,KAAe,CAAC;QACpB,IAAI,CAAC;YACH,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QAC7F,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YACjC,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,SAAS,GAAiB,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBACnD,IAAI,CAAC,MAAM;oBAAE,SAAS;gBACtB,SAAS,CAAC,IAAI,CAAC;oBACb,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,iBAAiB,EAAG,MAAM,CAAC,QAAQ,CAAC,iBAA4B,IAAI,CAAC;oBACrE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM;oBAChC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC;iBAC/B,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,gCAAgC;YAClC,CAAC;QACH,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QACnE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,CAAC;IAED,2EAA2E;IACpE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,WAAmB;QAC7C,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,WAAW,OAAO,CAAC;QACrF,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;QACtC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;YACjD,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,KAAK,CAAC,YAAY;QAC9B,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;iBAClC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;iBAC1D,IAAI,EAAE;iBACN,OAAO,EAAE,CAAC;YACb,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAChD,MAAM,OAAO,CAAC,GAAG,CACf,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjB,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzC,sCAAsC;gBACtC,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC,CAAC,CACH,CACF,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,gDAAgD;QAClD,CAAC;IACH,CAAC;IAED,2EAA2E;IAC3E,YAAY;IACZ,2EAA2E;IAEnE,iBAAiB,CAAC,IAAY;QACpC,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG;gBACN,IAAI;gBACJ,OAAO,EAAE,CAAC;gBACV,oBAAoB,EAAE,CAAC;gBACvB,QAAQ,EAAE,CAAC;gBACX,QAAQ,EAAE,CAAC;gBACX,SAAS,EAAE,CAAC;gBACZ,OAAO,EAAE,CAAC;gBACV,KAAK,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE;aAC3D,CAAC;YACF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa;QACnB,OAAO;YACL,iBAAiB,EAAE,CAAC;YACpB,WAAW,EAAE,CAAC;YACd,gBAAgB,EAAE,CAAC;YACnB,mBAAmB,EAAE,CAAC;YACtB,aAAa,EAAE,CAAC;YAChB,YAAY,EAAE,CAAC;YACf,YAAY,EAAE,CAAC;YACf,cAAc,EAAE,CAAC;YACjB,cAAc,EAAE,CAAC;YACjB,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;IAEO,SAAS;QACf,uEAAuE;QACvE,gEAAgE;QAChE,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACjD,CAAC;IAED;;;;OAIG;IACK,aAAa,CAAC,KAAgB;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;QAC3B,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC;YACjB,IAAI,CAAC,KAAK,KAAK;gBAAE,MAAM;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;CACF;AAED,+EAA+E;AAC/E,yDAAyD;AACzD,+EAA+E;AAE/E,kDAAkD;AAClD,MAAM,UAAU,WAAW,CAAI,IAAY,EAAE,EAAoB;IAC/D,OAAO,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB,CAAI,UAAkB,EAAE,SAAiB,EAAE,EAAoB;IAC9F,OAAO,eAAe,CAAC,QAAQ,CAAC,WAAW,CAAC,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;AACzE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,QAAgB,CAAC;IAC3D,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChD,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,KAAc;IACpD,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,IAAI,EAAE,GAAG,IAAI;QAAE,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,CAAC;IACtB,IAAI,GAAG,GAAG,EAAE;QAAE,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;AACvB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* In-process counters for one CodeGen file-emit pass.
|
|
3
|
+
*
|
|
4
|
+
* Kept as a tiny module with no config / reporter / EntityInfo imports so unit
|
|
5
|
+
* tests can drive it (and `writeFileIfChanged`) without booting the CodeGen
|
|
6
|
+
* graph. `runCodeGen` copies the snapshot onto `CodeGenReporter` at the end of
|
|
7
|
+
* the file-generation phase.
|
|
8
|
+
*/
|
|
9
|
+
export type EmitStatsSnapshot = {
|
|
10
|
+
filesWritten: number;
|
|
11
|
+
filesSkipped: number;
|
|
12
|
+
schemasEmitted: number;
|
|
13
|
+
schemasSkipped: number;
|
|
14
|
+
assembleMs: number;
|
|
15
|
+
};
|
|
16
|
+
export declare class EmitStats {
|
|
17
|
+
private static _filesWritten;
|
|
18
|
+
private static _filesSkipped;
|
|
19
|
+
private static _schemasEmitted;
|
|
20
|
+
private static _schemasSkipped;
|
|
21
|
+
private static _assembleMs;
|
|
22
|
+
static Reset(): void;
|
|
23
|
+
static RecordFileWrite(wrote: boolean): void;
|
|
24
|
+
static RecordSchemaEmit(emitted: boolean): void;
|
|
25
|
+
static AddAssembleMs(ms: number): void;
|
|
26
|
+
static Snapshot(): EmitStatsSnapshot;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=emit-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-stats.d.ts","sourceRoot":"","sources":["../../src/Misc/emit-stats.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,aAAa,CAAK;IACjC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAK;IACjC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IACnC,OAAO,CAAC,MAAM,CAAC,eAAe,CAAK;IACnC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAK;WAEjB,KAAK,IAAI,IAAI;WAQb,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;WAQrC,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;WAQxC,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;WAI/B,QAAQ,IAAI,iBAAiB;CAS5C"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export class EmitStats {
|
|
2
|
+
static { this._filesWritten = 0; }
|
|
3
|
+
static { this._filesSkipped = 0; }
|
|
4
|
+
static { this._schemasEmitted = 0; }
|
|
5
|
+
static { this._schemasSkipped = 0; }
|
|
6
|
+
static { this._assembleMs = 0; }
|
|
7
|
+
static Reset() {
|
|
8
|
+
this._filesWritten = 0;
|
|
9
|
+
this._filesSkipped = 0;
|
|
10
|
+
this._schemasEmitted = 0;
|
|
11
|
+
this._schemasSkipped = 0;
|
|
12
|
+
this._assembleMs = 0;
|
|
13
|
+
}
|
|
14
|
+
static RecordFileWrite(wrote) {
|
|
15
|
+
if (wrote) {
|
|
16
|
+
this._filesWritten += 1;
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
this._filesSkipped += 1;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
static RecordSchemaEmit(emitted) {
|
|
23
|
+
if (emitted) {
|
|
24
|
+
this._schemasEmitted += 1;
|
|
25
|
+
}
|
|
26
|
+
else {
|
|
27
|
+
this._schemasSkipped += 1;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
static AddAssembleMs(ms) {
|
|
31
|
+
this._assembleMs += ms;
|
|
32
|
+
}
|
|
33
|
+
static Snapshot() {
|
|
34
|
+
return {
|
|
35
|
+
filesWritten: this._filesWritten,
|
|
36
|
+
filesSkipped: this._filesSkipped,
|
|
37
|
+
schemasEmitted: this._schemasEmitted,
|
|
38
|
+
schemasSkipped: this._schemasSkipped,
|
|
39
|
+
assembleMs: this._assembleMs,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=emit-stats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emit-stats.js","sourceRoot":"","sources":["../../src/Misc/emit-stats.ts"],"names":[],"mappings":"AAgBA,MAAM,OAAO,SAAS;aACL,kBAAa,GAAG,CAAC,CAAC;aAClB,kBAAa,GAAG,CAAC,CAAC;aAClB,oBAAe,GAAG,CAAC,CAAC;aACpB,oBAAe,GAAG,CAAC,CAAC;aACpB,gBAAW,GAAG,CAAC,CAAC;IAExB,MAAM,CAAC,KAAK;QACjB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAEM,MAAM,CAAC,eAAe,CAAC,KAAc;QAC1C,IAAI,KAAK,EAAE,CAAC;YACV,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,OAAgB;QAC7C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,aAAa,CAAC,EAAU;QACpC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACzB,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,UAAU,EAAE,IAAI,CAAC,WAAW;SAC7B,CAAC;IACJ,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { EntityFieldInfo, EntityInfo, EntityRelationshipInfo } from '@memberjunc
|
|
|
2
2
|
import { ValidatorResult } from '../Database/manage-metadata.js';
|
|
3
3
|
import { type ConfigInfo } from '../Config/config.js';
|
|
4
4
|
import { CodeGenConnection } from '../Database/codeGenDatabaseProvider.js';
|
|
5
|
+
import { SchemaEmitOptions } from './schema-emit.js';
|
|
5
6
|
/**
|
|
6
7
|
* The parsed shape of `EntityRelationship.RelatedRecordCollection` — the policy half of a
|
|
7
8
|
* `DeclareRelatedRecords(...)` declaration.
|
|
@@ -79,10 +80,27 @@ export declare class EntitySubClassGeneratorBase {
|
|
|
79
80
|
* @param entities
|
|
80
81
|
* @param directory
|
|
81
82
|
* @param skipDBUpdate - when set to true, no updates are written back to the database - which happens after code generation when newly generated code from AI has been generated, but in the case where this flag is true, we don't ever write back to the DB because the assumption is we are only emitting code to the file that was already in the DB.
|
|
83
|
+
* @param options - per-schema emit / dirty-schema / parallelism. Defaults come from `configInfo.fileEmit`.
|
|
82
84
|
* @returns
|
|
83
85
|
*/
|
|
84
|
-
generateAllEntitySubClasses(pool: CodeGenConnection, entities: EntityInfo[], directory: string, skipDBUpdate: boolean): Promise<boolean>;
|
|
85
|
-
|
|
86
|
+
generateAllEntitySubClasses(pool: CodeGenConnection, entities: EntityInfo[], directory: string, skipDBUpdate: boolean, options?: SchemaEmitOptions): Promise<boolean>;
|
|
87
|
+
/**
|
|
88
|
+
* Build the TypeScript source for one emit file (one schema, or the legacy monolith).
|
|
89
|
+
* Hoists and de-duplicates two kinds of import into the file header: the generated
|
|
90
|
+
* base class each entity extends, and the embedded-record peers an entity references.
|
|
91
|
+
* Emitting each once per file — instead of once per entity — prevents a TS2300
|
|
92
|
+
* duplicate-identifier error in a file holding 2+ external entities.
|
|
93
|
+
*
|
|
94
|
+
* Entities without primary keys are excluded because {@link generateEntitySubClass}
|
|
95
|
+
* emits nothing for them; hoisting their imports would leave an unused import that
|
|
96
|
+
* fails a downstream consumer's `noUnusedLocals`.
|
|
97
|
+
*/
|
|
98
|
+
assembleEntitySubclassFile(pool: CodeGenConnection, entities: EntityInfo[], skipDBUpdate: boolean, includeLoadModule: boolean): Promise<string>;
|
|
99
|
+
/** Delegates so both generators share one set of defaults; override to change them. */
|
|
100
|
+
protected resolveEmitOptions(options?: SchemaEmitOptions): Required<SchemaEmitOptions>;
|
|
101
|
+
/** Delegates so both generators write identically; override to change that. */
|
|
102
|
+
protected emitFile(filePath: string, content: string, useWriteIfChanged: boolean): void;
|
|
103
|
+
generateEntitySubClassFileHeader(includeLoadModule?: boolean): string;
|
|
86
104
|
/**
|
|
87
105
|
* Resolves an entity's generated base class and the import statement that class requires.
|
|
88
106
|
* Pure (no side effects) so BOTH {@link generateEntitySubClass} and the file assembler can call it —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,eAAe,EAA4B,UAAU,EAAE,sBAAsB,EAAuC,MAAM,sBAAsB,CAAC;AAO/L,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAClF,OAAO,
|
|
1
|
+
{"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import { BaseEntity, EntityFieldValueListType, Metadata, TypeScriptTypeFromSQLType } from '@memberjunction/core';
|
|
2
|
-
import { UUIDsEqual } from '@memberjunction/global';
|
|
2
|
+
import { UUIDsEqual, ordinalCompare } from '@memberjunction/global';
|
|
3
3
|
import fs from 'fs';
|
|
4
4
|
import path from 'path';
|
|
5
5
|
import ts from 'typescript';
|
|
6
6
|
import { makeDir, sortBySequenceAndCreatedAt } from '../Misc/util.js';
|
|
7
7
|
import { logError, logStatus, logWarning } from './status_logging.js';
|
|
8
8
|
import { ManageMetadataBase } from '../Database/manage-metadata.js';
|
|
9
|
-
import { mj_core_schema, resolveEntityImportPackage } from '../Config/config.js';
|
|
9
|
+
import { configInfo, dbPlatform, mj_core_schema, resolveEntityImportPackage } from '../Config/config.js';
|
|
10
10
|
import { SQLLogging } from './sql_logging.js';
|
|
11
|
+
import { resolveCodeGenDatabaseProvider } from '../Database/codeGenDatabaseProvider.js';
|
|
12
|
+
import { CodeGenReporter } from './codegen-reporter.js';
|
|
13
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
14
|
+
import { EmitStats } from './emit-stats.js';
|
|
15
|
+
import { buildSchemaBarrel, groupEntitiesBySchema, mapLimit, emitSchemaFile, pruneOrphanedSchemaFiles, resolveSchemaEmitOptions, sanitizeSchemaFileName, schemasToEmit, } from './schema-emit.js';
|
|
11
16
|
/**
|
|
12
17
|
* Dynamically collects all own property names from BaseEntity's prototype chain
|
|
13
18
|
* (excluding Object.prototype). Any entity field whose CodeName matches one of
|
|
@@ -103,36 +108,47 @@ export class EntitySubClassGeneratorBase {
|
|
|
103
108
|
* @param entities
|
|
104
109
|
* @param directory
|
|
105
110
|
* @param skipDBUpdate - when set to true, no updates are written back to the database - which happens after code generation when newly generated code from AI has been generated, but in the case where this flag is true, we don't ever write back to the DB because the assumption is we are only emitting code to the file that was already in the DB.
|
|
111
|
+
* @param options - per-schema emit / dirty-schema / parallelism. Defaults come from `configInfo.fileEmit`.
|
|
106
112
|
* @returns
|
|
107
113
|
*/
|
|
108
|
-
async generateAllEntitySubClasses(pool, entities, directory, skipDBUpdate) {
|
|
114
|
+
async generateAllEntitySubClasses(pool, entities, directory, skipDBUpdate, options) {
|
|
109
115
|
try {
|
|
110
|
-
|
|
111
|
-
const zodContent = entities.map((entity) => this.GenerateSchemaAndType(entity)).join('');
|
|
112
|
-
let sContent = "";
|
|
113
|
-
for (const e of entities) {
|
|
114
|
-
sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
|
|
115
|
-
}
|
|
116
|
-
// Hoist the base-class imports (e.g. ReadOnlyExternalBaseEntity for external entities, or custom
|
|
117
|
-
// subclass imports) into the file header, de-duplicated. Emitting each once — instead of once per
|
|
118
|
-
// entity — prevents a TS2300 duplicate-identifier error in files with 2+ external entities.
|
|
119
|
-
// Only consider entities that actually emit a class: generateEntitySubClass skips PK-less entities
|
|
120
|
-
// (returns ''), so hoisting their import would leave a dangling/unused import (a build error under
|
|
121
|
-
// a downstream consumer's noUnusedLocals). Match that skip condition here.
|
|
122
|
-
const entitiesWithPK = entities.filter((e) => e.PrimaryKeys.length > 0);
|
|
123
|
-
const localClassNames = new Set(entitiesWithPK.map((e) => `${e.ClassName}Entity`));
|
|
124
|
-
const baseClassImports = [...new Set(entitiesWithPK
|
|
125
|
-
.map((e) => this.resolveEntityBaseClass(e).importStatement)
|
|
126
|
-
.filter((s) => s.length > 0))].join('');
|
|
127
|
-
// Collect every embed + related-record-collection peer across the file, then emit
|
|
128
|
-
// one grouped `import { A, B } from 'pkg'` per npm package. Per-entity import
|
|
129
|
-
// lines would duplicate packages (Address on two owners → two import lines).
|
|
130
|
-
const peerImports = entitiesWithPK.flatMap((e) => EntitySubClassGeneratorBase.CollectPeerClassImports(e, localClassNames));
|
|
131
|
-
const peerImportStatements = EntitySubClassGeneratorBase.FormatPeerImportStatements(peerImports).join('');
|
|
132
|
-
const subclassImports = `${baseClassImports}${peerImportStatements}`;
|
|
133
|
-
const allContent = `${this.generateEntitySubClassFileHeader()} \n ${subclassImports}${zodContent} \n ${sContent}`;
|
|
116
|
+
const emit = this.resolveEmitOptions(options);
|
|
134
117
|
makeDir(directory);
|
|
135
|
-
|
|
118
|
+
if (!emit.perSchema) {
|
|
119
|
+
const allContent = await this.assembleEntitySubclassFile(pool, entities, skipDBUpdate, true);
|
|
120
|
+
this.emitFile(path.join(directory, 'entity_subclasses.ts'), allContent, emit.writeIfChanged);
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
const grouped = groupEntitiesBySchema(entities);
|
|
124
|
+
const schemas = [...grouped.keys()].sort((a, b) => ordinalCompare(a, b));
|
|
125
|
+
const schemasDir = path.join(directory, 'entities');
|
|
126
|
+
makeDir(schemasDir);
|
|
127
|
+
const toEmit = schemasToEmit(schemas, emit.dirtySchemas, (schemaName) => fs.existsSync(path.join(schemasDir, `${sanitizeSchemaFileName(schemaName)}.ts`)));
|
|
128
|
+
const emitSet = new Set(toEmit);
|
|
129
|
+
for (const schemaName of schemas) {
|
|
130
|
+
EmitStats.RecordSchemaEmit(emitSet.has(schemaName));
|
|
131
|
+
}
|
|
132
|
+
const concurrency = emit.parallel ? emit.concurrency : 1;
|
|
133
|
+
const assembleStarted = Date.now();
|
|
134
|
+
await mapLimit(toEmit, concurrency, async (schemaName) => {
|
|
135
|
+
const schemaEntities = grouped.get(schemaName) ?? [];
|
|
136
|
+
const content = await this.assembleEntitySubclassFile(pool, schemaEntities, skipDBUpdate, false);
|
|
137
|
+
const filePath = path.join(schemasDir, `${sanitizeSchemaFileName(schemaName)}.ts`);
|
|
138
|
+
this.emitFile(filePath, content, emit.writeIfChanged);
|
|
139
|
+
});
|
|
140
|
+
EmitStats.AddAssembleMs(Date.now() - assembleStarted);
|
|
141
|
+
// Before the barrel, so the directory and the barrel always agree.
|
|
142
|
+
const pruned = pruneOrphanedSchemaFiles(schemasDir, schemas);
|
|
143
|
+
if (pruned.length > 0) {
|
|
144
|
+
logStatus(` Removed ${pruned.length} orphaned entity schema file(s): ${pruned.join(', ')}`);
|
|
145
|
+
}
|
|
146
|
+
const barrel = buildSchemaBarrel(schemas, 'entities', `export const loadModule = () => {
|
|
147
|
+
// no-op — importing this barrel loads every per-schema module via the re-exports below
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
`);
|
|
151
|
+
this.emitFile(path.join(directory, 'entity_subclasses.ts'), barrel, emit.writeIfChanged);
|
|
136
152
|
return true;
|
|
137
153
|
}
|
|
138
154
|
catch (err) {
|
|
@@ -142,15 +158,61 @@ export class EntitySubClassGeneratorBase {
|
|
|
142
158
|
return false;
|
|
143
159
|
}
|
|
144
160
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
import
|
|
148
|
-
|
|
149
|
-
|
|
161
|
+
/**
|
|
162
|
+
* Build the TypeScript source for one emit file (one schema, or the legacy monolith).
|
|
163
|
+
* Hoists and de-duplicates two kinds of import into the file header: the generated
|
|
164
|
+
* base class each entity extends, and the embedded-record peers an entity references.
|
|
165
|
+
* Emitting each once per file — instead of once per entity — prevents a TS2300
|
|
166
|
+
* duplicate-identifier error in a file holding 2+ external entities.
|
|
167
|
+
*
|
|
168
|
+
* Entities without primary keys are excluded because {@link generateEntitySubClass}
|
|
169
|
+
* emits nothing for them; hoisting their imports would leave an unused import that
|
|
170
|
+
* fails a downstream consumer's `noUnusedLocals`.
|
|
171
|
+
*/
|
|
172
|
+
async assembleEntitySubclassFile(pool, entities, skipDBUpdate, includeLoadModule) {
|
|
173
|
+
const zodContent = entities.map((entity) => this.GenerateSchemaAndType(entity)).join('');
|
|
174
|
+
let sContent = '';
|
|
175
|
+
for (const e of entities) {
|
|
176
|
+
sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
|
|
177
|
+
}
|
|
178
|
+
// Only entities that actually emit a class: generateEntitySubClass skips PK-less entities
|
|
179
|
+
// (returns ''), so hoisting their imports would leave a dangling/unused import that fails a
|
|
180
|
+
// downstream consumer's noUnusedLocals.
|
|
181
|
+
const entitiesWithPK = entities.filter((e) => e.PrimaryKeys.length > 0);
|
|
182
|
+
const localClassNames = new Set(entitiesWithPK.map((e) => `${e.ClassName}Entity`));
|
|
183
|
+
// De-duplicated so a file holding 2+ external entities does not emit
|
|
184
|
+
// `import { ReadOnlyExternalBaseEntity }` twice (TS2300).
|
|
185
|
+
const baseClassImports = [...new Set(entitiesWithPK
|
|
186
|
+
.map((e) => this.resolveEntityBaseClass(e).importStatement)
|
|
187
|
+
.filter((s) => s.length > 0))].join('');
|
|
188
|
+
// Collect every embed + related-record-collection peer across the file, then emit
|
|
189
|
+
// one grouped `import { A, B } from 'pkg'` per npm package. Per-entity import
|
|
190
|
+
// lines would duplicate packages (Address on two owners → two import lines).
|
|
191
|
+
const peerImports = entitiesWithPK.flatMap((e) => EntitySubClassGeneratorBase.CollectPeerClassImports(e, localClassNames));
|
|
192
|
+
const peerImportStatements = EntitySubClassGeneratorBase.FormatPeerImportStatements(peerImports).join('');
|
|
193
|
+
const subclassImports = `${baseClassImports}${peerImportStatements}`;
|
|
194
|
+
return `${this.generateEntitySubClassFileHeader(includeLoadModule)} \n ${subclassImports}${zodContent} \n ${sContent}`;
|
|
195
|
+
}
|
|
196
|
+
/** Delegates so both generators share one set of defaults; override to change them. */
|
|
197
|
+
resolveEmitOptions(options) {
|
|
198
|
+
return resolveSchemaEmitOptions(options, configInfo?.fileEmit);
|
|
199
|
+
}
|
|
200
|
+
/** Delegates so both generators write identically; override to change that. */
|
|
201
|
+
emitFile(filePath, content, useWriteIfChanged) {
|
|
202
|
+
emitSchemaFile(filePath, content, useWriteIfChanged);
|
|
203
|
+
}
|
|
204
|
+
generateEntitySubClassFileHeader(includeLoadModule = true) {
|
|
205
|
+
const loadModule = includeLoadModule
|
|
206
|
+
? `
|
|
150
207
|
export const loadModule = () => {
|
|
151
208
|
// no-op, only used to ensure this file is a valid module and to allow easy loading
|
|
152
209
|
}
|
|
153
|
-
|
|
210
|
+
`
|
|
211
|
+
: '';
|
|
212
|
+
return `import { BaseEntity, EntitySaveOptions, EntityDeleteOptions, CompositeKey, ValidationResult, ValidationErrorInfo, ValidationErrorType, Metadata, ProviderType, DatabaseProviderBase, RunView } from "@memberjunction/core";
|
|
213
|
+
import { RegisterClass } from "@memberjunction/global";
|
|
214
|
+
import { z } from "zod";
|
|
215
|
+
${loadModule}
|
|
154
216
|
`;
|
|
155
217
|
}
|
|
156
218
|
/**
|
|
@@ -741,7 +803,6 @@ ${fields}
|
|
|
741
803
|
return '';
|
|
742
804
|
}
|
|
743
805
|
const methods = [];
|
|
744
|
-
const pkName = entity.FirstPrimaryKey?.Name ?? 'ID';
|
|
745
806
|
for (const field of recursiveFKs) {
|
|
746
807
|
const fieldName = field.Name;
|
|
747
808
|
const rootField = `Root${fieldName}`;
|
|
@@ -861,10 +922,10 @@ ${fields}
|
|
|
861
922
|
return -1;
|
|
862
923
|
if (b === '@memberjunction/core-entities')
|
|
863
924
|
return 1;
|
|
864
|
-
return a
|
|
925
|
+
return ordinalCompare(a, b);
|
|
865
926
|
});
|
|
866
927
|
return packages.map((pkg) => {
|
|
867
|
-
const names = [...byPackage.get(pkg)].sort((a, b) => a
|
|
928
|
+
const names = [...byPackage.get(pkg)].sort((a, b) => ordinalCompare(a, b));
|
|
868
929
|
return `import { ${names.join(', ')} } from '${pkg}';\n`;
|
|
869
930
|
});
|
|
870
931
|
}
|
|
@@ -990,6 +1051,10 @@ ${fields}
|
|
|
990
1051
|
const validatorCodeCategoryID = `(SELECT ${qi('ID')} FROM ${generatedCodeCatsView} WHERE ${qi('Name')}=${lit('CodeGen: Validators')})`;
|
|
991
1052
|
let sSQL = '';
|
|
992
1053
|
const justGenerated = ret.validators.filter((f) => f.wasGenerated);
|
|
1054
|
+
if (justGenerated.length > 0) {
|
|
1055
|
+
CodeGenReporter.Instance.counter('ai.validatorCalls', justGenerated.length);
|
|
1056
|
+
}
|
|
1057
|
+
const provider = resolveCodeGenDatabaseProvider(dbPlatform());
|
|
993
1058
|
for (const v of justGenerated) {
|
|
994
1059
|
// only update the DB for the fields that were actually generated/regenerated, otherwise not needed
|
|
995
1060
|
const f = entity.Fields.find((f) => f.Name.trim().toLowerCase() === v.fieldName?.trim().toLowerCase());
|
|
@@ -1004,24 +1069,28 @@ ${fields}
|
|
|
1004
1069
|
${qi('GeneratedAt')}=${utcNow},
|
|
1005
1070
|
${qi('GeneratedByModelID')}=${lit(v.aiModelID)}
|
|
1006
1071
|
WHERE
|
|
1007
|
-
${qi('ID')}=${lit(v.generatedCodeId)}
|
|
1072
|
+
${qi('ID')}=${lit(v.generatedCodeId)};\n\n`;
|
|
1008
1073
|
}
|
|
1009
1074
|
else {
|
|
1010
|
-
// need to create a row inside the __mj.GeneratedCode table
|
|
1075
|
+
// need to create a row inside the __mj.GeneratedCode table with literal host-stable ID
|
|
1011
1076
|
const linkedEntityID = f ? entityFieldsEntityID : entitiesEntityID;
|
|
1012
1077
|
const linkedRecordPK = f ? f.ID : entity.ID;
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1078
|
+
const newGeneratedCodeId = uuidv4();
|
|
1079
|
+
v.generatedCodeId = newGeneratedCodeId;
|
|
1080
|
+
const checkQuery = `SELECT 1 FROM ${generatedCodeTbl} WHERE ${qi('CategoryID')} = ${validatorCodeCategoryID} AND ${qi('LinkedEntityID')} = ${lit(linkedEntityID ?? '')} AND ${qi('LinkedRecordPrimaryKey')} = ${lit(linkedRecordPK)}`;
|
|
1081
|
+
const insertSQL = `INSERT INTO ${generatedCodeTbl} (${qi('ID')}, ${qi('CategoryID')}, ${qi('GeneratedByModelID')}, ${qi('GeneratedAt')}, ${qi('Language')}, ${qi('Status')}, ${qi('Source')}, ${qi('Code')}, ${qi('Description')}, ${qi('Name')}, ${qi('LinkedEntityID')}, ${qi('LinkedRecordPrimaryKey')})
|
|
1082
|
+
VALUES (${lit(newGeneratedCodeId)}, ${validatorCodeCategoryID}, ${lit(v.aiModelID)}, ${utcNow}, ${lit('TypeScript')}, ${lit('Approved')}, ${lit(v.sourceCheckConstraint)}, ${lit(v.functionText)}, ${lit(v.functionDescription)}, ${lit(v.functionName)}, ${lit(linkedEntityID ?? '')}, ${lit(linkedRecordPK)})`;
|
|
1083
|
+
sSQL += `${provider.conditionalInsertSQL(checkQuery, insertSQL)};\n\n`;
|
|
1017
1084
|
}
|
|
1018
1085
|
}
|
|
1019
1086
|
// now Log and Execute the SQL
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1087
|
+
if (sSQL.trim().length > 0) {
|
|
1088
|
+
try {
|
|
1089
|
+
await SQLLogging.LogSQLAndExecute(pool, sSQL, `Generated Validation Functions for ${entity.Name}`, false);
|
|
1090
|
+
}
|
|
1091
|
+
catch (e) {
|
|
1092
|
+
logError(`Error logging and executing SQL for ${entity.Name}: ${e}`);
|
|
1093
|
+
}
|
|
1025
1094
|
}
|
|
1026
1095
|
}
|
|
1027
1096
|
return ret.code;
|
|
@@ -1036,7 +1105,7 @@ ${fields}
|
|
|
1036
1105
|
const sortedValidators = unsortedValidators.sort((a, b) => {
|
|
1037
1106
|
// sort by field name, then by function name, then by generatedCodeId as last-resort tiebreaker
|
|
1038
1107
|
if (a.fieldName && b.fieldName) {
|
|
1039
|
-
const cmp = a.fieldName
|
|
1108
|
+
const cmp = ordinalCompare(a.fieldName, b.fieldName) || ordinalCompare(a.functionName, b.functionName);
|
|
1040
1109
|
if (cmp !== 0)
|
|
1041
1110
|
return cmp;
|
|
1042
1111
|
}
|
|
@@ -1047,12 +1116,12 @@ ${fields}
|
|
|
1047
1116
|
return 1; // b comes first
|
|
1048
1117
|
}
|
|
1049
1118
|
else {
|
|
1050
|
-
const cmp = a.functionName
|
|
1119
|
+
const cmp = ordinalCompare(a.functionName, b.functionName); // both are table-level, sort by function name
|
|
1051
1120
|
if (cmp !== 0)
|
|
1052
1121
|
return cmp;
|
|
1053
1122
|
}
|
|
1054
1123
|
// last-resort tiebreaker for absolute determinism
|
|
1055
|
-
return a.generatedCodeId
|
|
1124
|
+
return ordinalCompare(a.generatedCodeId, b.generatedCodeId);
|
|
1056
1125
|
});
|
|
1057
1126
|
// Deduplicate by functionName — duplicate GeneratedCode records can exist if the view JOIN
|
|
1058
1127
|
// previously failed to match (e.g., whitespace differences in CHECK constraint text).
|