@futdevpro/fsm-dynamo 1.20.133 → 1.20.135

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.
@@ -82,5 +82,15 @@ export interface DyFM_RequireEnv_Options {
82
82
  * };
83
83
  * ```
84
84
  */
85
+ /**
86
+ * BFR-FLEET-006 — the one-time notice of a transition fallback in use (`DyFM_requireEnv` `options.fallback`).
87
+ * It names the variable, the issuer and where to set it; it NEVER prints the value.
88
+ */
89
+ export declare class DyFM_RequireEnv_FallbackLog {
90
+ /** The variables already reported in this process / page. */
91
+ static readonly reported: Set<string>;
92
+ /** Logs the notice once per `envVarName`. */
93
+ static warnOnce(envVarName: string, options: DyFM_RequireEnv_Options): void;
94
+ }
85
95
  export declare function DyFM_requireEnv(envVarName: string, options: DyFM_RequireEnv_Options): string;
86
96
  //# sourceMappingURL=require-env.util.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"require-env.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/require-env.util.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAyCR"}
1
+ {"version":3,"file":"require-env.util.d.ts","sourceRoot":"","sources":["../../../src/_collections/utils/require-env.util.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,aAAa,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH;;;GAGG;AACH,qBAAa,2BAA2B;IACtC,6DAA6D;IAC7D,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,CAAC,CAAqB;IAE1D,6CAA6C;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,GAAG,IAAI;CAW5E;AAED,wBAAgB,eAAe,CAC7B,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CA6CR"}
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DyFM_RequireEnv_FallbackLog = void 0;
3
4
  exports.DyFM_requireEnv = DyFM_requireEnv;
4
5
  const error_control_model_1 = require("../../_models/control-models/error.control-model");
5
6
  const global_settings_const_1 = require("../constants/global-settings.const");
7
+ const log_util_1 = require("./log.util");
6
8
  /**
7
9
  * FR-015 Phase 2 — isomorphic env-var requirement helper.
8
10
  *
@@ -55,6 +57,25 @@ const global_settings_const_1 = require("../constants/global-settings.const");
55
57
  * };
56
58
  * ```
57
59
  */
60
+ /**
61
+ * BFR-FLEET-006 — the one-time notice of a transition fallback in use (`DyFM_requireEnv` `options.fallback`).
62
+ * It names the variable, the issuer and where to set it; it NEVER prints the value.
63
+ */
64
+ class DyFM_RequireEnv_FallbackLog {
65
+ /** The variables already reported in this process / page. */
66
+ static reported = new Set();
67
+ /** Logs the notice once per `envVarName`. */
68
+ static warnOnce(envVarName, options) {
69
+ if (DyFM_RequireEnv_FallbackLog.reported.has(envVarName)) {
70
+ return;
71
+ }
72
+ DyFM_RequireEnv_FallbackLog.reported.add(envVarName);
73
+ log_util_1.DyFM_Log.warn(`[${options.errorCode}] '${envVarName}' is not set on this deploy target — the TRANSITION FALLBACK of ` +
74
+ `${options.issuerService ?? 'the package'} is used. Set it (process.env on a backend, ` +
75
+ `DyFM_global_settings.envOverrides at bootstrap on a browser client): the fallback will be removed.`);
76
+ }
77
+ }
78
+ exports.DyFM_RequireEnv_FallbackLog = DyFM_RequireEnv_FallbackLog;
58
79
  function DyFM_requireEnv(envVarName, options) {
59
80
  // Node path: process.env at module-load time. Guarded for browser bundles
60
81
  // where `process` may be undefined or shimmed without runtime values.
@@ -69,6 +90,10 @@ function DyFM_requireEnv(envVarName, options) {
69
90
  }
70
91
  // Transition fallback (Wave 1 of an FR-015-style migration).
71
92
  if (options.fallback !== undefined) {
93
+ // BFR-FLEET-006 — the fallback was SILENT, so nobody could see which deploy target still runs on the embedded
94
+ // literal, and the Wave 3 removal (name only in the code) could not be planned. One warning per variable and
95
+ // process / page — never the value itself.
96
+ DyFM_RequireEnv_FallbackLog.warnOnce(envVarName, options);
72
97
  return options.fallback;
73
98
  }
74
99
  // Missing — fail fast with a rich, debug-friendly DyFM_Error.
@@ -1 +1 @@
1
- {"version":3,"file":"require-env.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/require-env.util.ts"],"names":[],"mappings":";;AA6FA,0CA4CC;AAzID,0FAA8E;AAC9E,8EAA0E;AAwC1E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH,SAAgB,eAAe,CAC7B,UAAkB,EAClB,OAAgC;IAEhC,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7E,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC;IAC3C,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,QAAQ,GACZ,4CAAoB,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,MAAM,IAAI,gCAAU,CAAC;QACnB,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EACL,yBAAyB,UAAU,mCAAmC;YACtE,wBAAwB,UAAU,cAAc;YAChD,sCAAsC,UAAU,gBAAgB;YAChE,qDAAqD;YACrD,QAAQ,UAAU,iDAAiD;YACnE,kEAAkE;YAClE,0DAA0D;YAC1D,kDAAkD;YAClD,yDAAyD;YACzD,6DAA6D;QAC/D,WAAW,EACT,OAAO,CAAC,WAAW;eAChB,+CAA+C,UAAU,gBAAgB;kBACvE,mEAAmE;QAC1E,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"require-env.util.js","sourceRoot":"","sources":["../../../src/_collections/utils/require-env.util.ts"],"names":[],"mappings":";;;AAoHA,0CAgDC;AApKD,0FAA8E;AAC9E,8EAA0E;AAC1E,yCAAsC;AAwCtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDG;AACH;;;GAGG;AACH,MAAa,2BAA2B;IACtC,6DAA6D;IAC7D,MAAM,CAAU,QAAQ,GAAgB,IAAI,GAAG,EAAU,CAAC;IAE1D,6CAA6C;IAC7C,MAAM,CAAC,QAAQ,CAAC,UAAkB,EAAE,OAAgC;QAClE,IAAI,2BAA2B,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACzD,OAAO;QACT,CAAC;QACD,2BAA2B,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACrD,mBAAQ,CAAC,IAAI,CACX,IAAI,OAAO,CAAC,SAAS,MAAM,UAAU,kEAAkE;YACvG,GAAG,OAAO,CAAC,aAAa,IAAI,aAAa,8CAA8C;YACvF,oGAAoG,CACrG,CAAC;IACJ,CAAC;;AAfH,kEAgBC;AAED,SAAgB,eAAe,CAC7B,UAAkB,EAClB,OAAgC;IAEhC,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,OAAO,OAAO,KAAK,WAAW,IAAI,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;QAC7E,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,CAAW,CAAC;IAC3C,CAAC;IAED,sEAAsE;IACtE,yEAAyE;IACzE,MAAM,QAAQ,GACZ,4CAAoB,CAAC,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC;IAClD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,6DAA6D;IAC7D,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACnC,8GAA8G;QAC9G,6GAA6G;QAC7G,2CAA2C;QAC3C,2BAA2B,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC1D,OAAO,OAAO,CAAC,QAAQ,CAAC;IAC1B,CAAC;IAED,8DAA8D;IAC9D,MAAM,IAAI,gCAAU,CAAC;QACnB,MAAM,EAAE,GAAG;QACX,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,OAAO,EACL,yBAAyB,UAAU,mCAAmC;YACtE,wBAAwB,UAAU,cAAc;YAChD,sCAAsC,UAAU,gBAAgB;YAChE,qDAAqD;YACrD,QAAQ,UAAU,iDAAiD;YACnE,kEAAkE;YAClE,0DAA0D;YAC1D,kDAAkD;YAClD,yDAAyD;YACzD,6DAA6D;QAC/D,WAAW,EACT,OAAO,CAAC,WAAW;eAChB,+CAA+C,UAAU,gBAAgB;kBACvE,mEAAmE;QAC1E,aAAa,EAAE,OAAO,CAAC,aAAa;KACrC,CAAC,CAAC;AACL,CAAC"}
@@ -93,7 +93,16 @@ export type DyFM_DBFilterExpressions<T> = {
93
93
  * { correctiveInvoices: { $elemMatch: { invoiceNumber: no, emailSentAt: null, emailAttemptedAt: { $exists: false } } } }
94
94
  */
95
95
  $elemMatch?: DyFM_DBElemMatch<T>;
96
+ /**
97
+ * Matches an ARRAY field that contains ALL the given elements (in any order, others may be present too).
98
+ * Only offered on array fields (`never` otherwise). BFR-HELOCIA-003.
99
+ * @example
100
+ * { participatingUsers: { $all: [ userId, partnerId ] } }
101
+ */
102
+ $all?: DyFM_DBAll<T>;
96
103
  };
104
+ /** The `$all` value of an array field: a list of its ELEMENTS (`never` for a non-array field). BFR-HELOCIA-003. */
105
+ export type DyFM_DBAll<T> = T extends readonly (infer E)[] ? E[] : never;
97
106
  /**
98
107
  * The `$elemMatch` condition of an array field (`never` for a non-array field): a field filter on an OBJECT element,
99
108
  * an operator expression (`{ $gt: 5 }`) on a PRIMITIVE element.
@@ -1 +1 @@
1
- {"version":3,"file":"db-filter.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-filter.type.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,mBAAmB,CAAC,CAAC,CAAC,GACtB,eAAe,CAAC,CAAC,CAAC,GAClB,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;KAClC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACxE,GAAG;IACF,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5D,CAAC,CAAC,SAAS,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACzE,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B;;OAEG;IACH,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B,CAAA"}
1
+ {"version":3,"file":"db-filter.type.d.ts","sourceRoot":"","sources":["../../../src/_models/types/db-filter.type.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IACzB,mBAAmB,CAAC,CAAC,CAAC,GACtB,eAAe,CAAC,CAAC,CAAC,GAClB,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB;;;;;;GAMG;AACH,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI;KAClC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;CACxE,GAAG;IACF,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI;IACxC;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,CAAC,CAAC;IACR;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB;;OAEG;IACH,GAAG,CAAC,EAAE,GAAG,CAAC;IACV;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC;IACrB;;OAEG;IACH,IAAI,CAAC,EAAE,CAAC,GAAG;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;KAC1B,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IACjC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CACtB,CAAC;AAEF,mHAAmH;AACnH,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,KAAK,CAAC;AAEzE;;;GAGG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI,CAAC,SAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAC5D,CAAC,CAAC,SAAS,MAAM,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC,GACzE,KAAK,CAAC;AAEV;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,IAAI;IAChC;;OAEG;IACH,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAChC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;IAC/B;;OAEG;IACH,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,CAAC;CAC/B,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import { DyFM_Error } from '../../_models/control-models/error.control-model';
2
2
  import { DyFM_global_settings } from '../constants/global-settings.const';
3
+ import { DyFM_Log } from './log.util';
3
4
  /**
4
5
  * FR-015 Phase 2 — isomorphic env-var requirement helper.
5
6
  *
@@ -52,6 +53,24 @@ import { DyFM_global_settings } from '../constants/global-settings.const';
52
53
  * };
53
54
  * ```
54
55
  */
56
+ /**
57
+ * BFR-FLEET-006 — the one-time notice of a transition fallback in use (`DyFM_requireEnv` `options.fallback`).
58
+ * It names the variable, the issuer and where to set it; it NEVER prints the value.
59
+ */
60
+ export class DyFM_RequireEnv_FallbackLog {
61
+ /** The variables already reported in this process / page. */
62
+ static reported = new Set();
63
+ /** Logs the notice once per `envVarName`. */
64
+ static warnOnce(envVarName, options) {
65
+ if (DyFM_RequireEnv_FallbackLog.reported.has(envVarName)) {
66
+ return;
67
+ }
68
+ DyFM_RequireEnv_FallbackLog.reported.add(envVarName);
69
+ DyFM_Log.warn(`[${options.errorCode}] '${envVarName}' is not set on this deploy target — the TRANSITION FALLBACK of ` +
70
+ `${options.issuerService ?? 'the package'} is used. Set it (process.env on a backend, ` +
71
+ `DyFM_global_settings.envOverrides at bootstrap on a browser client): the fallback will be removed.`);
72
+ }
73
+ }
55
74
  export function DyFM_requireEnv(envVarName, options) {
56
75
  // Node path: process.env at module-load time. Guarded for browser bundles
57
76
  // where `process` may be undefined or shimmed without runtime values.
@@ -66,6 +85,10 @@ export function DyFM_requireEnv(envVarName, options) {
66
85
  }
67
86
  // Transition fallback (Wave 1 of an FR-015-style migration).
68
87
  if (options.fallback !== undefined) {
88
+ // BFR-FLEET-006 — the fallback was SILENT, so nobody could see which deploy target still runs on the embedded
89
+ // literal, and the Wave 3 removal (name only in the code) could not be planned. One warning per variable and
90
+ // process / page — never the value itself.
91
+ DyFM_RequireEnv_FallbackLog.warnOnce(envVarName, options);
69
92
  return options.fallback;
70
93
  }
71
94
  // Missing — fail fast with a rich, debug-friendly DyFM_Error.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@futdevpro/fsm-dynamo",
3
- "version": "1.20.133",
3
+ "version": "1.20.135",
4
4
  "description": "Full Stack Model Collection for Dynamic (NodeJS-Typescript) Framework called Dynamo, by Future Development Ltd.",
5
5
  "DyBu_settings": {
6
6
  "packageType": "full-stack-package",