@memberjunction/core 6.2.0-edge.0 → 6.2.0-edge.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.
Files changed (110) hide show
  1. package/dist/generic/JSONType-interfaces/IEntitySubtypeSelectorConfig.d.ts +14 -0
  2. package/dist/generic/JSONType-interfaces/IEntitySubtypeSelectorConfig.d.ts.map +1 -1
  3. package/dist/generic/QueryCache.d.ts +17 -0
  4. package/dist/generic/QueryCache.d.ts.map +1 -1
  5. package/dist/generic/QueryCache.js +25 -5
  6. package/dist/generic/QueryCache.js.map +1 -1
  7. package/dist/generic/RegisterForStartup.d.ts +5 -5
  8. package/dist/generic/RegisterForStartup.js +12 -12
  9. package/dist/generic/applicationInfo.d.ts +4 -2
  10. package/dist/generic/applicationInfo.d.ts.map +1 -1
  11. package/dist/generic/applicationInfo.js +13 -9
  12. package/dist/generic/applicationInfo.js.map +1 -1
  13. package/dist/generic/baseEngine.d.ts +9 -1
  14. package/dist/generic/baseEngine.d.ts.map +1 -1
  15. package/dist/generic/baseEngine.js +13 -3
  16. package/dist/generic/baseEngine.js.map +1 -1
  17. package/dist/generic/baseEngineRegistry.d.ts +22 -9
  18. package/dist/generic/baseEngineRegistry.d.ts.map +1 -1
  19. package/dist/generic/baseEngineRegistry.js +43 -25
  20. package/dist/generic/baseEngineRegistry.js.map +1 -1
  21. package/dist/generic/baseEntity.d.ts +221 -17
  22. package/dist/generic/baseEntity.d.ts.map +1 -1
  23. package/dist/generic/baseEntity.js +538 -113
  24. package/dist/generic/baseEntity.js.map +1 -1
  25. package/dist/generic/baseInfo.d.ts +12 -0
  26. package/dist/generic/baseInfo.d.ts.map +1 -1
  27. package/dist/generic/baseInfo.js +22 -1
  28. package/dist/generic/baseInfo.js.map +1 -1
  29. package/dist/generic/column-descriptors.d.ts +25 -5
  30. package/dist/generic/column-descriptors.d.ts.map +1 -1
  31. package/dist/generic/column-descriptors.js +45 -5
  32. package/dist/generic/column-descriptors.js.map +1 -1
  33. package/dist/generic/compositeKey.d.ts +1 -1
  34. package/dist/generic/compositeKey.js +2 -2
  35. package/dist/generic/data-table.js +2 -2
  36. package/dist/generic/data-table.js.map +1 -1
  37. package/dist/generic/databaseProviderBase.js +2 -2
  38. package/dist/generic/entityInfo.d.ts +171 -38
  39. package/dist/generic/entityInfo.d.ts.map +1 -1
  40. package/dist/generic/entityInfo.js +314 -78
  41. package/dist/generic/entityInfo.js.map +1 -1
  42. package/dist/generic/entitySubtypeResolver.d.ts +51 -5
  43. package/dist/generic/entitySubtypeResolver.d.ts.map +1 -1
  44. package/dist/generic/entitySubtypeResolver.js +50 -3
  45. package/dist/generic/entitySubtypeResolver.js.map +1 -1
  46. package/dist/generic/filters/compositeFilter.d.ts +19 -19
  47. package/dist/generic/filters/compositeFilter.js +60 -60
  48. package/dist/generic/graphqlTypeNames.d.ts +6 -0
  49. package/dist/generic/graphqlTypeNames.d.ts.map +1 -1
  50. package/dist/generic/graphqlTypeNames.js +18 -6
  51. package/dist/generic/graphqlTypeNames.js.map +1 -1
  52. package/dist/generic/interfaces.d.ts +1 -1
  53. package/dist/generic/interfaces.js +3 -3
  54. package/dist/generic/logging.d.ts +2 -0
  55. package/dist/generic/logging.d.ts.map +1 -1
  56. package/dist/generic/logging.js +7 -3
  57. package/dist/generic/logging.js.map +1 -1
  58. package/dist/generic/metadata.d.ts +1 -1
  59. package/dist/generic/metadata.js +3 -3
  60. package/dist/generic/providerBase.d.ts +7 -7
  61. package/dist/generic/providerBase.d.ts.map +1 -1
  62. package/dist/generic/providerBase.js +26 -26
  63. package/dist/generic/providerBase.js.map +1 -1
  64. package/dist/generic/queryResultEnricher.d.ts +2 -0
  65. package/dist/generic/queryResultEnricher.d.ts.map +1 -1
  66. package/dist/generic/queryResultEnricher.js +5 -1
  67. package/dist/generic/queryResultEnricher.js.map +1 -1
  68. package/dist/generic/querySQLFilters.d.ts +4 -0
  69. package/dist/generic/querySQLFilters.d.ts.map +1 -1
  70. package/dist/generic/querySQLFilters.js +10 -2
  71. package/dist/generic/querySQLFilters.js.map +1 -1
  72. package/dist/generic/relatedRecordCollection.d.ts +2 -0
  73. package/dist/generic/relatedRecordCollection.d.ts.map +1 -1
  74. package/dist/generic/relatedRecordCollection.js +5 -1
  75. package/dist/generic/relatedRecordCollection.js.map +1 -1
  76. package/dist/generic/remoteEventRow.d.ts +55 -0
  77. package/dist/generic/remoteEventRow.d.ts.map +1 -0
  78. package/dist/generic/remoteEventRow.js +110 -0
  79. package/dist/generic/remoteEventRow.js.map +1 -0
  80. package/dist/generic/remoteOperationDispatch.d.ts +2 -0
  81. package/dist/generic/remoteOperationDispatch.d.ts.map +1 -1
  82. package/dist/generic/remoteOperationDispatch.js +5 -1
  83. package/dist/generic/remoteOperationDispatch.js.map +1 -1
  84. package/dist/generic/runQuerySQLFilterImplementations.d.ts +8 -0
  85. package/dist/generic/runQuerySQLFilterImplementations.d.ts.map +1 -1
  86. package/dist/generic/runQuerySQLFilterImplementations.js +20 -4
  87. package/dist/generic/runQuerySQLFilterImplementations.js.map +1 -1
  88. package/dist/generic/schemaHydration.d.ts +8 -0
  89. package/dist/generic/schemaHydration.d.ts.map +1 -1
  90. package/dist/generic/schemaHydration.js +21 -5
  91. package/dist/generic/schemaHydration.js.map +1 -1
  92. package/dist/generic/securityInfo.d.ts +11 -9
  93. package/dist/generic/securityInfo.d.ts.map +1 -1
  94. package/dist/generic/securityInfo.js +31 -27
  95. package/dist/generic/securityInfo.js.map +1 -1
  96. package/dist/generic/telemetryManager.d.ts +16 -0
  97. package/dist/generic/telemetryManager.d.ts.map +1 -1
  98. package/dist/generic/telemetryManager.js +52 -20
  99. package/dist/generic/telemetryManager.js.map +1 -1
  100. package/dist/generic/transactionGroup.d.ts +1 -1
  101. package/dist/generic/transactionGroup.js +4 -4
  102. package/dist/generic/transactionGroup.js.map +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +1 -0
  106. package/dist/index.js.map +1 -1
  107. package/dist/views/viewInfo.d.ts +2 -2
  108. package/dist/views/viewInfo.js +13 -13
  109. package/dist/views/viewInfo.js.map +1 -1
  110. package/package.json +3 -3
@@ -8,6 +8,18 @@ export declare abstract class BaseInfo {
8
8
  * Primary Key
9
9
  */
10
10
  ID: any;
11
+ /**
12
+ * Whether `key` resolves to a settable accessor somewhere on the prototype chain.
13
+ *
14
+ * A `@deprecated` alias for a renamed field is a get/set pair on the prototype, not an own
15
+ * property, so `hasOwnProperty` does not see it. Without this the incoming value is silently
16
+ * dropped: the DB column `spCreate` stops reaching `SpCreate`, and the entity loads with its
17
+ * custom routine name missing rather than failing loudly.
18
+ *
19
+ * Only accessors that can be WRITTEN qualify. A read-only getter has nothing to assign to, and
20
+ * requiring a setter keeps inherited methods out of the copy.
21
+ */
22
+ private settableAccessor;
11
23
  /**
12
24
  * Copies initialization data from a plain object to the class instance.
13
25
  * Only copies properties that already exist on the class to prevent creating new fields.
@@ -1 +1 @@
1
- {"version":3,"file":"baseInfo.d.ts","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,8BAAsB,QAAQ;IAC1B;;OAEG;IACH,EAAE,EAAE,GAAG,CAAO;IAEd;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;IAkCpC;;;OAGG;gBACS,QAAQ,GAAE,GAAU;IAMhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAuCpC"}
1
+ {"version":3,"file":"baseInfo.d.ts","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,8BAAsB,QAAQ;IAC1B;;OAEG;IACH,EAAE,EAAE,GAAG,CAAO;IAEd;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAUxB;;;;;OAKG;IACH,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG;IAkCpC;;;OAGG;gBACS,QAAQ,GAAE,GAAU;IAMhC;;;;;;;;;;;;;;;;;;;OAmBG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAuCpC"}
@@ -5,6 +5,27 @@ import { ExtractActualDefaultValue } from "./util.js";
5
5
  * All Info classes (EntityInfo, QueryInfo, etc.) extend this base class.
6
6
  */
7
7
  export class BaseInfo {
8
+ /**
9
+ * Whether `key` resolves to a settable accessor somewhere on the prototype chain.
10
+ *
11
+ * A `@deprecated` alias for a renamed field is a get/set pair on the prototype, not an own
12
+ * property, so `hasOwnProperty` does not see it. Without this the incoming value is silently
13
+ * dropped: the DB column `spCreate` stops reaching `SpCreate`, and the entity loads with its
14
+ * custom routine name missing rather than failing loudly.
15
+ *
16
+ * Only accessors that can be WRITTEN qualify. A read-only getter has nothing to assign to, and
17
+ * requiring a setter keeps inherited methods out of the copy.
18
+ */
19
+ settableAccessor(key) {
20
+ let target = Object.getPrototypeOf(this);
21
+ while (target && target !== Object.prototype) {
22
+ const descriptor = Object.getOwnPropertyDescriptor(target, key);
23
+ if (descriptor)
24
+ return typeof descriptor.set === 'function';
25
+ target = Object.getPrototypeOf(target);
26
+ }
27
+ return false;
28
+ }
8
29
  /**
9
30
  * Copies initialization data from a plain object to the class instance.
10
31
  * Only copies properties that already exist on the class to prevent creating new fields.
@@ -18,7 +39,7 @@ export class BaseInfo {
18
39
  for (let j = 0; j < keys.length; j++) {
19
40
  const key = keys[j];
20
41
  // make sure it is one of our keys, we don't want to create NEW fields
21
- if (Object.prototype.hasOwnProperty.call(this, key)) {
42
+ if (Object.prototype.hasOwnProperty.call(this, key) || this.settableAccessor(key)) {
22
43
  // fast path for exact match first, fallback to length check + lowercasing
23
44
  if ((key === 'DefaultValue' || (key.length === 12 && key.toLowerCase() === 'defaultvalue')) && initData[key]) {
24
45
  // strip parens from default value from the DB, if they exist, for example defaults might be ((1)) or (getdate())
@@ -1 +1 @@
1
- {"version":3,"file":"baseInfo.js","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"baseInfo.js","sourceRoot":"","sources":["../../src/generic/baseInfo.ts"],"names":[],"mappings":"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"}
@@ -54,11 +54,31 @@ export declare class MJColumnDescriptor extends ColumnDescriptor {
54
54
  * Most consumers don't need this — it's specific to the grid renderer.
55
55
  */
56
56
  export declare class GridColumnDescriptor extends MJColumnDescriptor {
57
- visible: boolean;
58
- sortable: boolean;
59
- resizable: boolean;
60
- reorderable: boolean;
61
- order: number;
57
+ Visible: boolean;
58
+ /** @deprecated Use {@link Visible}. */
59
+ get visible(): boolean;
60
+ /** @deprecated Use {@link Visible}. */
61
+ set visible(value: boolean);
62
+ Sortable: boolean;
63
+ /** @deprecated Use {@link Sortable}. */
64
+ get sortable(): boolean;
65
+ /** @deprecated Use {@link Sortable}. */
66
+ set sortable(value: boolean);
67
+ Resizable: boolean;
68
+ /** @deprecated Use {@link Resizable}. */
69
+ get resizable(): boolean;
70
+ /** @deprecated Use {@link Resizable}. */
71
+ set resizable(value: boolean);
72
+ Reorderable: boolean;
73
+ /** @deprecated Use {@link Reorderable}. */
74
+ get reorderable(): boolean;
75
+ /** @deprecated Use {@link Reorderable}. */
76
+ set reorderable(value: boolean);
77
+ Order: number;
78
+ /** @deprecated Use {@link Order}. */
79
+ get order(): number;
80
+ /** @deprecated Use {@link Order}. */
81
+ set order(value: number);
62
82
  align?: 'left' | 'center' | 'right';
63
83
  pinned?: 'left' | 'right' | null;
64
84
  minWidth?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"column-descriptors.d.ts","sourceRoot":"","sources":["../../src/generic/column-descriptors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,WAAW,GACjB,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GACzC,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,YAAY,GACjE,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAC5D,KAAK,GACL,kBAAkB,GAClB,UAAU,GAAG,WAAW,GAAG,gBAAgB,GAAG,MAAM,GAAG,MAAM,GAAG,eAAe,GAC/E,WAAW,GAAG,QAAQ,GAAG,OAAO,GAChC,KAAK,GAAG,MAAM,GACd,WAAW,GAAG,UAAU,GACxB,aAAa,CAAC;AAEpB;;;GAGG;AACH,qBAAa,gBAAgB;IACzB,gFAAgF;IAChF,KAAK,EAAE,MAAM,CAAC;IAEd,oEAAoE;IACpE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;gBAET,KAAK,EAAE,MAAM;CAG5B;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;IACpD,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0DAA0D;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,iEAAiE;IACjE,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,sFAAsF;IACtF,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE;QAC/B,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,kBAAkB;IAUtB,2DAA2D;IAC3D,MAAM,CAAC,oBAAoB,CACvB,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,MAAM,GACzB,kBAAkB;CAOxB;AAED;;;GAGG;AACH,qBAAa,oBAAqB,SAAQ,kBAAkB;IACxD,OAAO,EAAE,OAAO,CAAQ;IACxB,QAAQ,EAAE,OAAO,CAAQ;IACzB,SAAS,EAAE,OAAO,CAAQ;IAC1B,WAAW,EAAE,OAAO,CAAQ;IAC5B,KAAK,EAAE,MAAM,CAAK;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,uEAAuE;IACvE,MAAM,CAAC,YAAY,CAAC,GAAG,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB;IAOjF,kEAAkE;IAClE,UAAU,IAAI,kBAAkB;CAanC"}
1
+ {"version":3,"file":"column-descriptors.d.ts","sourceRoot":"","sources":["../../src/generic/column-descriptors.ts"],"names":[],"mappings":"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"}
@@ -39,11 +39,51 @@ export class MJColumnDescriptor extends ColumnDescriptor {
39
39
  export class GridColumnDescriptor extends MJColumnDescriptor {
40
40
  constructor() {
41
41
  super(...arguments);
42
- this.visible = true;
43
- this.sortable = true;
44
- this.resizable = true;
45
- this.reorderable = true;
46
- this.order = 0;
42
+ this.Visible = true;
43
+ this.Sortable = true;
44
+ this.Resizable = true;
45
+ this.Reorderable = true;
46
+ this.Order = 0;
47
+ }
48
+ /** @deprecated Use {@link Visible}. */
49
+ get visible() {
50
+ return this.Visible;
51
+ }
52
+ /** @deprecated Use {@link Visible}. */
53
+ set visible(value) {
54
+ this.Visible = value;
55
+ }
56
+ /** @deprecated Use {@link Sortable}. */
57
+ get sortable() {
58
+ return this.Sortable;
59
+ }
60
+ /** @deprecated Use {@link Sortable}. */
61
+ set sortable(value) {
62
+ this.Sortable = value;
63
+ }
64
+ /** @deprecated Use {@link Resizable}. */
65
+ get resizable() {
66
+ return this.Resizable;
67
+ }
68
+ /** @deprecated Use {@link Resizable}. */
69
+ set resizable(value) {
70
+ this.Resizable = value;
71
+ }
72
+ /** @deprecated Use {@link Reorderable}. */
73
+ get reorderable() {
74
+ return this.Reorderable;
75
+ }
76
+ /** @deprecated Use {@link Reorderable}. */
77
+ set reorderable(value) {
78
+ this.Reorderable = value;
79
+ }
80
+ /** @deprecated Use {@link Order}. */
81
+ get order() {
82
+ return this.Order;
83
+ }
84
+ /** @deprecated Use {@link Order}. */
85
+ set order(value) {
86
+ this.Order = value;
47
87
  }
48
88
  /** Create from an MJColumnDescriptor with sensible display defaults */
49
89
  static FromMJColumn(col, order) {
@@ -1 +1 @@
1
- {"version":3,"file":"column-descriptors.js","sourceRoot":"","sources":["../../src/generic/column-descriptors.ts"],"names":[],"mappings":"AAiBA;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAmBzB,YAAY,KAAa;QACrB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,OAAO,kBAAmB,SAAQ,gBAAgB;IAapD,sFAAsF;IACtF,MAAM,CAAC,oBAAoB,CAAC,KAO3B;QACG,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,IAAmB,CAAC;QAC/C,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;QACzC,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAC/C,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QACnC,MAAM,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACvC,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,2DAA2D;IAC3D,MAAM,CAAC,oBAAoB,CACvB,GAAqB,EACrB,UAAkB,EAClB,eAAwB;QAExB,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,YAAY,GAAG,UAAU,CAAC;QACjC,MAAM,CAAC,eAAe,GAAG,eAAe,IAAI,GAAG,CAAC,KAAK,CAAC;QACtD,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAED;;;GAGG;AACH,MAAM,OAAO,oBAAqB,SAAQ,kBAAkB;IAA5D;;QACI,YAAO,GAAY,IAAI,CAAC;QACxB,aAAQ,GAAY,IAAI,CAAC;QACzB,cAAS,GAAY,IAAI,CAAC;QAC1B,gBAAW,GAAY,IAAI,CAAC;QAC5B,UAAK,GAAW,CAAC,CAAC;IA6BtB,CAAC;IAtBG,uEAAuE;IACvE,MAAM,CAAC,YAAY,CAAC,GAAuB,EAAE,KAAa;QACtD,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,kEAAkE;IAClE,UAAU;QACN,MAAM,MAAM,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACtC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC;QAC9C,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACpC,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAClC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ"}
1
+ {"version":3,"file":"column-descriptors.js","sourceRoot":"","sources":["../../src/generic/column-descriptors.ts"],"names":[],"mappings":"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"}
@@ -310,7 +310,7 @@ export declare class CompositeKey extends FieldValueCollection {
310
310
  * primary key columns, once each. Order is not required - a stored key written before a column
311
311
  * reorder is still valid, since the field names travel with the value.
312
312
  */
313
- private static ValidateAgainstPrimaryKeys;
313
+ private static validateAgainstPrimaryKeys;
314
314
  /**
315
315
  * Creates a CompositeKey from a simple object where the keys are the field names and the values are the values.
316
316
  * @param obj
@@ -576,7 +576,7 @@ export class CompositeKey extends FieldValueCollection {
576
576
  }
577
577
  const parsed = new CompositeKey();
578
578
  parsed.LoadFromConcatenatedString(recordID, fieldDelimiter, valueDelimiter);
579
- CompositeKey.ValidateAgainstPrimaryKeys(entity, parsed, recordID);
579
+ CompositeKey.validateAgainstPrimaryKeys(entity, parsed, recordID);
580
580
  return parsed;
581
581
  }
582
582
  /**
@@ -616,7 +616,7 @@ export class CompositeKey extends FieldValueCollection {
616
616
  * primary key columns, once each. Order is not required - a stored key written before a column
617
617
  * reorder is still valid, since the field names travel with the value.
618
618
  */
619
- static ValidateAgainstPrimaryKeys(entity, parsed, recordID) {
619
+ static validateAgainstPrimaryKeys(entity, parsed, recordID) {
620
620
  const primaryKeys = entity.PrimaryKeys;
621
621
  const expected = primaryKeys.map((pk) => pk.Name);
622
622
  if (parsed.KeyValuePairs.length !== primaryKeys.length) {
@@ -10,9 +10,9 @@
10
10
  export class DataTable {
11
11
  constructor() {
12
12
  /** Column definitions with type information and entity lineage */
13
- this.columns = [];
13
+ this.columns = []; // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
14
14
  /** The actual row data */
15
- this.rows = [];
15
+ this.rows = []; // case-violation-ok-legacy-back-compat: object literals are assigned to this class, so an accessor stub changes what they must supply
16
16
  }
17
17
  /** Create from a single-table DataSnapshot (legacy format) */
18
18
  static FromLegacySpec(spec, defaultName = 'results') {
@@ -1 +1 @@
1
- {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../src/generic/data-table.ts"],"names":[],"mappings":"AAuDA;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IAAtB;QAUI,kEAAkE;QAClE,YAAO,GAAyB,EAAE,CAAC;QAEnC,0BAA0B;QAC1B,SAAI,GAA8B,EAAE,CAAC;IA8CzC,CAAC;IA3BG,8DAA8D;IAC9D,MAAM,CAAC,cAAc,CAAC,IAUrB,EAAE,cAAsB,SAAS;QAC9B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAA6B,CAAC;QAClD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7B,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
1
+ {"version":3,"file":"data-table.js","sourceRoot":"","sources":["../../src/generic/data-table.ts"],"names":[],"mappings":"AAuDA;;;;;;;;GAQG;AACH,MAAM,OAAO,SAAS;IAAtB;QAUI,kEAAkE;QAClE,YAAO,GAAyB,EAAE,CAAC,CAAE,sIAAsI;QAE3K,0BAA0B;QAC1B,SAAI,GAA8B,EAAE,CAAC,CAAE,sIAAsI;IA8CjL,CAAC;IA3BG,8DAA8D;IAC9D,MAAM,CAAC,cAAc,CAAC,IAUrB,EAAE,cAAsB,SAAS;QAC9B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,GAAG,WAAW,CAAC;QACzB,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAA6B,CAAC;QAClD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;QACnC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;QAC7B,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC7B,GAAG,IAAI,CAAC,QAAQ;YAChB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,UAAU,EAAE,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAC,CAAC,SAAS,CAAC;QACd,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -2,7 +2,7 @@ import { ProviderBase } from "./providerBase.js";
2
2
  import { EntityFieldTSType, EntityPermissionType } from "./entityInfo.js";
3
3
  import { BaseEntityResult } from "./baseEntity.js";
4
4
  import { EntitySaveOptions, EntityDeleteOptions } from "./interfaces.js";
5
- import { dispatchRemoteOperationInProcess } from "./remoteOperationDispatch.js";
5
+ import { DispatchRemoteOperationInProcess } from "./remoteOperationDispatch.js";
6
6
  import { TransactionItem } from "./transactionGroup.js";
7
7
  import { CompositeKey } from "./compositeKey.js";
8
8
  import { LogError } from "./logging.js";
@@ -49,7 +49,7 @@ export class DatabaseProviderBase extends ProviderBase {
49
49
  catch {
50
50
  // CurrentUser is unavailable until the provider is configured — rely on options.user instead.
51
51
  }
52
- return dispatchRemoteOperationInProcess(operationKey, input, options, this, fallbackUser);
52
+ return DispatchRemoteOperationInProcess(operationKey, input, options, this, fallbackUser);
53
53
  }
54
54
  /**
55
55
  * Builds a parameter placeholder for parameterized queries.
@@ -960,15 +960,27 @@ export declare class EntityFieldInfo extends BaseInfo {
960
960
  RelatedEntityCodeName: string;
961
961
  RelatedEntityClassName: string;
962
962
  IsFloat: boolean;
963
- _RelatedEntityTableAlias: string;
964
- _RelatedEntityNameFieldIsVirtual: boolean;
963
+ RelatedEntityTableAlias: string;
964
+ /** @deprecated Use {@link RelatedEntityTableAlias}. */
965
+ get _RelatedEntityTableAlias(): string;
966
+ /** @deprecated Use {@link RelatedEntityTableAlias}. */
967
+ set _RelatedEntityTableAlias(value: string);
968
+ RelatedEntityNameFieldIsVirtual: boolean;
969
+ /** @deprecated Use {@link RelatedEntityNameFieldIsVirtual}. */
970
+ get _RelatedEntityNameFieldIsVirtual(): boolean;
971
+ /** @deprecated Use {@link RelatedEntityNameFieldIsVirtual}. */
972
+ set _RelatedEntityNameFieldIsVirtual(value: boolean);
965
973
  /**
966
974
  * Mirror of `IsComputed` on the related entity's Name Field. Tracked alongside
967
975
  * `_RelatedEntityNameFieldIsVirtual` so that base-view JOIN-target selection can
968
976
  * prefer the related entity's base table when the Name Field is a SQL computed/
969
977
  * generated column (physically present in the base table even though IsVirtual=1).
970
978
  */
971
- _RelatedEntityNameFieldIsComputed: boolean;
979
+ RelatedEntityNameFieldIsComputed: boolean;
980
+ /** @deprecated Use {@link RelatedEntityNameFieldIsComputed}. */
981
+ get _RelatedEntityNameFieldIsComputed(): boolean;
982
+ /** @deprecated Use {@link RelatedEntityNameFieldIsComputed}. */
983
+ set _RelatedEntityNameFieldIsComputed(value: boolean);
972
984
  private _rawEntityFieldValues;
973
985
  private _entityFieldValuesConstructed;
974
986
  /**
@@ -989,17 +1001,33 @@ export declare class EntityFieldInfo extends BaseInfo {
989
1001
  private _loggedUnsupportedValueListType;
990
1002
  /** Memoized yyyy-mm-dd keys for a `date` field's value list; null when it cannot be compared. */
991
1003
  private _valueListDateKeys;
1004
+ /** Memoized numeric form of a numeric field's value list; null when it is not entirely numeric. */
1005
+ private _valueListNumericKeys;
992
1006
  _EntityFieldValues: EntityFieldValueInfo[];
993
1007
  _RelatedEntityNameFieldMap: string;
994
1008
  /**
995
1009
  * Collection of all joined field mappings from the related entity.
996
1010
  */
997
- _RelatedEntityJoinFieldMappings: Array<{
1011
+ RelatedEntityJoinFieldMappings: Array<{
998
1012
  sourceField: string;
999
1013
  alias: string;
1000
1014
  isVirtual: boolean;
1001
1015
  isComputed: boolean;
1002
1016
  }>;
1017
+ /** @deprecated Use {@link RelatedEntityJoinFieldMappings}. */
1018
+ get _RelatedEntityJoinFieldMappings(): Array<{
1019
+ sourceField: string;
1020
+ alias: string;
1021
+ isVirtual: boolean;
1022
+ isComputed: boolean;
1023
+ }>;
1024
+ /** @deprecated Use {@link RelatedEntityJoinFieldMappings}. */
1025
+ set _RelatedEntityJoinFieldMappings(value: Array<{
1026
+ sourceField: string;
1027
+ alias: string;
1028
+ isVirtual: boolean;
1029
+ isComputed: boolean;
1030
+ }>);
1003
1031
  /**
1004
1032
  * Cached parsed RelatedEntityJoinFieldsConfig to avoid repeated JSON.parse calls.
1005
1033
  * Lazy-initialized on first access.
@@ -1016,7 +1044,7 @@ export declare class EntityFieldInfo extends BaseInfo {
1016
1044
  */
1017
1045
  get RelatedEntityJoinFieldsConfig(): RelatedEntityJoinFieldConfig | null;
1018
1046
  get EntityFieldValues(): EntityFieldValueInfo[];
1019
- private _FieldPermissions;
1047
+ private _fieldPermissions;
1020
1048
  /**
1021
1049
  * Field-level (column-level) security records configured for THIS field, across all roles.
1022
1050
  * Empty for the overwhelming majority of fields — see {@link HasFieldPermissions}.
@@ -1050,7 +1078,7 @@ export declare class EntityFieldInfo extends BaseInfo {
1050
1078
  *
1051
1079
  * Stored lowercased; compare with a trimmed, lowercased entity name.
1052
1080
  */
1053
- private static readonly UnrestrictableEntityNames;
1081
+ private static readonly unrestrictableEntityNames;
1054
1082
  /**
1055
1083
  * True when this field belongs to an entity that field-level security may never restrict.
1056
1084
  * See {@link EntityFieldInfo.UnrestrictableEntityNames} for the rationale.
@@ -1166,8 +1194,9 @@ export declare class EntityFieldInfo extends BaseInfo {
1166
1194
  * * **Stringifying is required.** `EntityFieldValue.Value` is always a string in metadata while
1167
1195
  * the field's runtime value may be a number, so a strict `===` would reject every legal value
1168
1196
  * on a numeric list. It is not lossless: `String(1.0)` is `'1'`, so a metadata value written
1169
- * as `'1.0'` would fail closed. No numeric value lists exist today (CodeGen cannot produce
1170
- * one — see the note in ValueIsPermittedByValueList), so this is recorded rather than solved.
1197
+ * as `'1.00'` would fail closed here — which is why a NUMERIC column's list is not compared
1198
+ * through this function at all but by value, in numericValueIsPermittedByValueList (MJ #3978).
1199
+ * This normalization is what a STRING column's list is compared with.
1171
1200
  * * **Trimming is cheap insurance, NOT the load-bearing rule it was first documented as.** An
1172
1201
  * earlier version of this comment claimed an untrimmed comparison would reject 9,301 existing
1173
1202
  * rows in fixed-width `nchar` columns (`MJ: Action Params`.Type, `MJ: Record Changes`.Status
@@ -1208,10 +1237,10 @@ export declare class EntityFieldInfo extends BaseInfo {
1208
1237
  * * Only string and number values are checked, and the gate fails OPEN — an unsupported type
1209
1238
  * skips validation rather than manufacturing a failure. Nothing in the schema restricts
1210
1239
  * which columns may carry a value list (`CK_EntityField_ValueListType_New` constrains the
1211
- * mode, not the column type), but in practice every one is a string column: measured on a
1212
- * current 6.x instance, 455 nvarchar + 7 nchar and nothing else, which follows from
1213
- * CodeGen's constraint parser only ever extracting quoted literals. `number` is admitted
1214
- * because the generated union type anticipates a non-quoted list via `NeedsQuotes`.
1240
+ * mode, not the column type). Every list WAS on a string column — measured on a 6.x
1241
+ * instance, 455 nvarchar + 7 nchar and nothing else — because CodeGen's constraint parser
1242
+ * only extracted quoted literals; since MJ #3978 it extracts the unquoted numeric form too,
1243
+ * so a numeric column's list is now a real case and is compared by value (below).
1215
1244
  * Booleans and Dates are excluded deliberately: a bit column carrying a `'1'`/`'0'` list
1216
1245
  * would see `String(true) === 'true'` and reject every legal value, and a Date has no sane
1217
1246
  * string form to compare — so guessing there would break saves rather than guard them.
@@ -1230,6 +1259,32 @@ export declare class EntityFieldInfo extends BaseInfo {
1230
1259
  * @returns true when the value is permitted, INCLUDING when the rule does not apply
1231
1260
  */
1232
1261
  ValueIsPermittedByValueList(value: unknown): boolean;
1262
+ /**
1263
+ * Value-list membership for a NUMERIC column, compared on the numeric VALUE rather than the
1264
+ * string form (MJ issue #3978).
1265
+ *
1266
+ * Necessary because the two sides are written by different hands: SQL Server stores
1267
+ * `CHECK (Price IN (0.50, 1.00))` as the unquoted literals `([Price]=(1.00) OR [Price]=(0.50))`,
1268
+ * CodeGen captures those literals verbatim, and the runtime value of that column is the number
1269
+ * `1`. `String(1) === '1'` is not `'1.00'`, so a string comparison would refuse a value the
1270
+ * database accepts — the exact failure mode this rung exists to avoid. Comparing as numbers makes
1271
+ * the scale of the literal irrelevant.
1272
+ *
1273
+ * The comparison is gated on the column being numeric, NOT merely on the list looking numeric: on
1274
+ * a string column `CHECK (Code IN ('1','2'))` really is a string list, and comparing `'01'`
1275
+ * numerically would permit a value the database refuses.
1276
+ *
1277
+ * A value that is not a finite number falls back to the string comparison rather than being
1278
+ * refused here, so a value list that happens to hold non-numeric text on a numeric column (which
1279
+ * CodeGen cannot produce, but `applyValueListConfig` could) still behaves as it did before.
1280
+ */
1281
+ private numericValueIsPermittedByValueList;
1282
+ /**
1283
+ * The value list as a set of numbers, or null when any of its values is not a finite number (so
1284
+ * there is nothing to compare numerically). Memoized alongside the normalized string set, and
1285
+ * built from it — lower-casing and trimming cannot change how a numeric literal parses.
1286
+ */
1287
+ private valueListNumericKeys;
1233
1288
  /**
1234
1289
  * Value-list membership for a `Date` runtime value, compared on the CALENDAR DATE rather than
1235
1290
  * the instant.
@@ -1256,7 +1311,7 @@ export declare class EntityFieldInfo extends BaseInfo {
1256
1311
  */
1257
1312
  private buildValueListDateKeys;
1258
1313
  /** The Date's LOCAL calendar date as yyyy-mm-dd (its UTC one is `toISOString().slice(0, 10)`). */
1259
- private static LocalCalendarDate;
1314
+ private static localCalendarDate;
1260
1315
  /**
1261
1316
  * Reports, once per field, that a value could not be checked against the field's value list.
1262
1317
  * Latched because the metadata is shared by every record: a bulk load would otherwise emit the
@@ -1685,6 +1740,12 @@ export declare class EntityInfo extends BaseInfo {
1685
1740
  * Parsed SubtypeSelector configuration, if configured.
1686
1741
  */
1687
1742
  get SubtypeSelectorConfig(): IEntitySubtypeSelectorConfig | null;
1743
+ /**
1744
+ * Reads the selector's optional `UseForLoadedRecords` flag. Only a JSON `true` turns load hints
1745
+ * on; a value of any other type is logged and leaves them off, so a quoted `"true"` can't look
1746
+ * like an opt-in that silently does nothing.
1747
+ */
1748
+ private parseSubtypeSelectorUseForLoadedRecords;
1688
1749
  /**
1689
1750
  * Whether to audit when users access records from this entity
1690
1751
  */
@@ -1855,27 +1916,51 @@ export declare class EntityInfo extends BaseInfo {
1855
1916
  /**
1856
1917
  * Name of the stored procedure for creating records
1857
1918
  */
1858
- spCreate: string;
1919
+ SpCreate: string;
1920
+ /** @deprecated Use {@link SpCreate}. */
1921
+ get spCreate(): string;
1922
+ /** @deprecated Use {@link SpCreate}. */
1923
+ set spCreate(value: string);
1859
1924
  /**
1860
1925
  * Name of the stored procedure for updating records
1861
1926
  */
1862
- spUpdate: string;
1927
+ SpUpdate: string;
1928
+ /** @deprecated Use {@link SpUpdate}. */
1929
+ get spUpdate(): string;
1930
+ /** @deprecated Use {@link SpUpdate}. */
1931
+ set spUpdate(value: string);
1863
1932
  /**
1864
1933
  * Name of the stored procedure for deleting records
1865
1934
  */
1866
- spDelete: string;
1935
+ SpDelete: string;
1936
+ /** @deprecated Use {@link SpDelete}. */
1937
+ get spDelete(): string;
1938
+ /** @deprecated Use {@link SpDelete}. */
1939
+ set spDelete(value: string);
1867
1940
  /**
1868
1941
  * Whether the create stored procedure is generated by CodeGen
1869
1942
  */
1870
- spCreateGenerated: boolean;
1943
+ SpCreateGenerated: boolean;
1944
+ /** @deprecated Use {@link SpCreateGenerated}. */
1945
+ get spCreateGenerated(): boolean;
1946
+ /** @deprecated Use {@link SpCreateGenerated}. */
1947
+ set spCreateGenerated(value: boolean);
1871
1948
  /**
1872
1949
  * Whether the update stored procedure is generated by CodeGen
1873
1950
  */
1874
- spUpdateGenerated: boolean;
1951
+ SpUpdateGenerated: boolean;
1952
+ /** @deprecated Use {@link SpUpdateGenerated}. */
1953
+ get spUpdateGenerated(): boolean;
1954
+ /** @deprecated Use {@link SpUpdateGenerated}. */
1955
+ set spUpdateGenerated(value: boolean);
1875
1956
  /**
1876
1957
  * Whether the delete stored procedure is generated by CodeGen
1877
1958
  */
1878
- spDeleteGenerated: boolean;
1959
+ SpDeleteGenerated: boolean;
1960
+ /** @deprecated Use {@link SpDeleteGenerated}. */
1961
+ get spDeleteGenerated(): boolean;
1962
+ /** @deprecated Use {@link SpDeleteGenerated}. */
1963
+ set spDeleteGenerated(value: boolean);
1879
1964
  /**
1880
1965
  * Whether to automatically delete related records when a parent is deleted
1881
1966
  */
@@ -1891,7 +1976,11 @@ export declare class EntityInfo extends BaseInfo {
1891
1976
  /**
1892
1977
  * Name of the stored procedure used for matching/duplicate detection
1893
1978
  */
1894
- spMatch: string;
1979
+ SpMatch: string;
1980
+ /** @deprecated Use {@link SpMatch}. */
1981
+ get spMatch(): string;
1982
+ /** @deprecated Use {@link SpMatch}. */
1983
+ set spMatch(value: string);
1895
1984
  /**
1896
1985
  * Default display type for relationships: Search (type-ahead) or Dropdown
1897
1986
  */
@@ -2029,17 +2118,37 @@ export declare class EntityInfo extends BaseInfo {
2029
2118
  ParentEntity: number;
2030
2119
  ParentBaseTable: string;
2031
2120
  ParentBaseView: string;
2032
- private _Fields;
2033
- private _RelatedEntities;
2034
- private _Permissions;
2035
- private _Settings;
2036
- private _FieldCategories;
2037
- private _OrganicKeys;
2038
- _hasIdField: boolean;
2039
- _virtualCount: number;
2040
- _manyToManyCount: number;
2041
- _oneToManyCount: number;
2042
- _floatCount: number;
2121
+ private _fields;
2122
+ private _relatedEntities;
2123
+ private _permissions;
2124
+ private _settings;
2125
+ private _fieldCategories;
2126
+ private _organicKeys;
2127
+ HasIdField: boolean;
2128
+ /** @deprecated Use {@link HasIdField}. */
2129
+ get _hasIdField(): boolean;
2130
+ /** @deprecated Use {@link HasIdField}. */
2131
+ set _hasIdField(value: boolean);
2132
+ VirtualCount: number;
2133
+ /** @deprecated Use {@link VirtualCount}. */
2134
+ get _virtualCount(): number;
2135
+ /** @deprecated Use {@link VirtualCount}. */
2136
+ set _virtualCount(value: number);
2137
+ ManyToManyCount: number;
2138
+ /** @deprecated Use {@link ManyToManyCount}. */
2139
+ get _manyToManyCount(): number;
2140
+ /** @deprecated Use {@link ManyToManyCount}. */
2141
+ set _manyToManyCount(value: number);
2142
+ OneToManyCount: number;
2143
+ /** @deprecated Use {@link OneToManyCount}. */
2144
+ get _oneToManyCount(): number;
2145
+ /** @deprecated Use {@link OneToManyCount}. */
2146
+ set _oneToManyCount(value: number);
2147
+ FloatCount: number;
2148
+ /** @deprecated Use {@link FloatCount}. */
2149
+ get _floatCount(): number;
2150
+ /** @deprecated Use {@link FloatCount}. */
2151
+ set _floatCount(value: number);
2043
2152
  private _fieldByNameMap;
2044
2153
  private _firstPrimaryKeyCache;
2045
2154
  private _primaryKeysCache;
@@ -2048,6 +2157,8 @@ export declare class EntityInfo extends BaseInfo {
2048
2157
  private _encryptedFieldsCache;
2049
2158
  private _datetimeFieldsCache;
2050
2159
  private _nameFieldCache;
2160
+ /** Memoized computed plural, keyed by the display name it was derived from (see `DisplayNamePlural`). */
2161
+ private _displayNamePluralCache;
2051
2162
  /**
2052
2163
  * The set of field names this user may NOT READ on this entity — the per-request primitive
2053
2164
  * every field-security enforcement point is built on.
@@ -2298,6 +2409,28 @@ export declare class EntityInfo extends BaseInfo {
2298
2409
  * Returns the DisplayName if it exists, otherwise returns the Name.
2299
2410
  */
2300
2411
  get DisplayNameOrName(): string;
2412
+ /**
2413
+ * Returns a business-user-friendly PLURAL of the entity's display name, e.g. "Contacts", "Companies",
2414
+ * "Addresses". Derived from `DisplayNameOrName` via `GeneratePluralName`, so a per-deployment
2415
+ * `DisplayName` override flows through (rename the entity's DisplayName to "Member" and this returns
2416
+ * "Members"). Handles irregular plurals and the common English rules (`-y` to `-ies`, `-s/ch/sh/x/z` to `-es`).
2417
+ *
2418
+ * This is the seam for surfacing the user's own domain nouns in place of the platform meta-noun
2419
+ * "entity" on business-user surfaces (empty states, counts, headers). It is display-only: never use it
2420
+ * as a lookup key. If the display name is already plural, `GeneratePluralName` returns it unchanged.
2421
+ *
2422
+ * Memoized per instance: templates read this on every change-detection pass, and the source name
2423
+ * is fixed per metadata load (the same assumption `_nameFieldCache` relies on). The cache is keyed
2424
+ * by the source name so it stays correct if `DisplayName` is ever mutated in place.
2425
+ */
2426
+ get DisplayNamePlural(): string;
2427
+ /**
2428
+ * Gives `plural` the same leading-letter case as `source`. The irregular-plural table stores
2429
+ * lowercase values ('person' → 'people'), so without this an empty state reads "No people to
2430
+ * display". Only the first letter is touched: `capitalizeFirstLetterOnly` would also capitalize a
2431
+ * name that deliberately starts lowercase ("iPhone" → "IPhones").
2432
+ */
2433
+ private static matchLeadingCase;
2301
2434
  /**
2302
2435
  * Returns the EntityField object for the Field that has IsNameField set to true. If multiple fields have IsNameField on, the function will return the first field (by sequence) that matches.
2303
2436
  * If no fields match, if there is a field called "Name", that is returned. If there is no field called "Name", null is returned.
@@ -2545,23 +2678,23 @@ export declare class EntityInfo extends BaseInfo {
2545
2678
  * matching organic key (same Name) to find its expression. Falls back to the hub's
2546
2679
  * expression on both sides if the spoke doesn't carry its own.
2547
2680
  */
2548
- private static BuildDirectOrganicKeyFilter;
2681
+ private static buildDirectOrganicKeyFilter;
2549
2682
  /**
2550
2683
  * Look up the spoke entity's organic key matching the hub's by Name, so we can apply
2551
2684
  * the spoke's own normalization function on the spoke side. Returns undefined if the
2552
2685
  * spoke entity doesn't have a parallel organic key — caller falls back to the hub's.
2553
2686
  */
2554
- private static ResolveSpokeOrganicKey;
2687
+ private static resolveSpokeOrganicKey;
2555
2688
  /**
2556
2689
  * Builds an ExtraFilter for transitive organic key matching (via SQL view/table subquery).
2557
2690
  */
2558
- private static BuildTransitiveOrganicKeyFilter;
2691
+ private static buildTransitiveOrganicKeyFilter;
2559
2692
  /**
2560
2693
  * Wraps a field expression and a literal value with the appropriate normalization
2561
2694
  * based on the organic key's NormalizationStrategy.
2562
2695
  * Returns a SQL comparison expression like: LOWER(LTRIM(RTRIM([Field]))) = LOWER(LTRIM(RTRIM('value')))
2563
2696
  */
2564
- private static WrapWithNormalization;
2697
+ private static wrapWithNormalization;
2565
2698
  /**
2566
2699
  * Like WrapWithNormalization but takes a separate organic key for each side — so the
2567
2700
  * spoke field uses the spoke entity's own expression while the literal value (sourced
@@ -2569,11 +2702,11 @@ export declare class EntityInfo extends BaseInfo {
2569
2702
  * when the expressions agree; different transforms applied independently when they
2570
2703
  * don't (the per-column normalization case).
2571
2704
  */
2572
- private static WrapBothSidesWithNormalization;
2705
+ private static wrapBothSidesWithNormalization;
2573
2706
  /** Apply an organic key's normalization to a SQL field expression (left side of compare). */
2574
- private static NormalizeFieldExpression;
2707
+ private static normalizeFieldExpression;
2575
2708
  /** Apply an organic key's normalization to a quoted literal value (right side of compare). */
2576
- private static NormalizeLiteralExpression;
2709
+ private static normalizeLiteralExpression;
2577
2710
  constructor(initData?: any);
2578
2711
  private prepareSpecialFields;
2579
2712
  /**