@matter/general 0.16.0-alpha.0-20251011-d8942d7d5 → 0.16.0-alpha.0-20251016-b56cf5683

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.
@@ -42,18 +42,12 @@ export declare class Environment {
42
42
  */
43
43
  maybeGet<T extends object>(type: Environmental.ServiceType<T>): T | undefined;
44
44
  /**
45
- * Remove an environmental service.
45
+ * Remove an environmental service and block further inheritance
46
46
  *
47
47
  * @param type the class of the service to remove
48
48
  * @param instance optional instance expected, if existing instance does not match it is not deleted
49
49
  */
50
50
  delete(type: Environmental.ServiceType, instance?: any): void;
51
- /**
52
- * Prevent this environment from automatically instantiating or retrieving a service from parent environment.
53
- *
54
- * @param type the class of the service to block
55
- */
56
- block(type: Environmental.ServiceType): void;
57
51
  /**
58
52
  * Remove and close an environmental service.
59
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../../src/environment/Environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,4BAA4B,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;gBAQR,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;IAK9C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAU7C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAI9C;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IA6B5D;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAM7E;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG;IAetD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW;IAiBrC;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,EAClB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GACnC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;IAU5E;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAM1E;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAYjE;;OAEG;IACH,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;;;OAIG;IACH,IAAI,KAAK,8EAER;IAED;;;;OAIG;IACH,IAAI,OAAO,8EAEV;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GASjC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAGnD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EACpB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAC5D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC;IAmBlE;;;;OAIG;IACH,MAAM,KAAK,OAAO,IAOM,WAAW,CALlC;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,WAAW,EAYlC;IAED;;OAEG;IACH,IAAI,IAAI,oBAEP;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAED;;OAEG;IACH,QAAQ;IAUR,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGjD"}
1
+ {"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../../src/environment/Environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,4BAA4B,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;gBAQR,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;IAK9C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAU7C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAI9C;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IA4B5D;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAM7E;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG;IAqBtD;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,EAClB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GACnC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;IAU5E;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAM1E;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAYjE;;OAEG;IACH,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;;;OAIG;IACH,IAAI,KAAK,8EAER;IAED;;;;OAIG;IACH,IAAI,OAAO,8EAEV;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GASjC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAGnD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EACpB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAC5D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC;IAmBlE;;;;OAIG;IACH,MAAM,KAAK,OAAO,IAOM,WAAW,CALlC;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,WAAW,EAYlC;IAED;;OAEG;IACH,IAAI,IAAI,oBAEP;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAED;;OAEG;IACH,QAAQ;IAUR,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGjD"}
@@ -74,18 +74,17 @@ class Environment {
74
74
  return mine;
75
75
  }
76
76
  if (mine === void 0) {
77
- let instance = this.#parent?.maybeGet(type);
77
+ const instance = this.#parent?.maybeGet(type);
78
78
  if (instance !== void 0 && instance !== null) {
79
79
  return instance;
80
80
  }
81
- if (type[import_Environmental.Environmental.create]) {
82
- instance = type[import_Environmental.Environmental.create](this);
83
- if (!(instance instanceof type)) {
84
- throw new import_MatterError.InternalError(`Service creation did not produce instance of ${type.name}`);
85
- }
86
- this.set(type, instance);
87
- return instance;
81
+ }
82
+ if (type[import_Environmental.Environmental.create]) {
83
+ const instance = type[import_Environmental.Environmental.create](this);
84
+ if (!(instance instanceof type)) {
85
+ throw new import_MatterError.InternalError(`Service creation did not produce instance of ${type.name}`);
88
86
  }
87
+ return instance;
89
88
  }
90
89
  throw new import_Lifecycle.UnsupportedDependencyError(`Required dependency ${type.name}`, "is not available");
91
90
  }
@@ -98,47 +97,33 @@ class Environment {
98
97
  }
99
98
  }
100
99
  /**
101
- * Remove an environmental service.
100
+ * Remove an environmental service and block further inheritance
102
101
  *
103
102
  * @param type the class of the service to remove
104
103
  * @param instance optional instance expected, if existing instance does not match it is not deleted
105
104
  */
106
105
  delete(type, instance) {
107
- if (instance !== void 0 && this.#services?.get(type) !== instance) {
106
+ const localInstance = this.#services?.get(type);
107
+ this.#services?.set(type, null);
108
+ if (localInstance === void 0 || localInstance === null) {
108
109
  return;
109
110
  }
110
- this.#services?.delete(type);
111
- this.#parent?.delete(type);
112
- this.#deleted.emit(type, instance);
111
+ if (instance !== void 0 && localInstance !== instance) {
112
+ return;
113
+ }
114
+ this.#deleted.emit(type, localInstance);
113
115
  const serviceEvents = this.#serviceEvents.get(type);
114
116
  if (serviceEvents) {
115
- serviceEvents.deleted.emit(instance);
116
- }
117
- }
118
- /**
119
- * Prevent this environment from automatically instantiating or retrieving a service from parent environment.
120
- *
121
- * @param type the class of the service to block
122
- */
123
- block(type) {
124
- const instance = this.#services?.get(type);
125
- if (instance !== void 0 && instance !== null) {
126
- this.#services?.delete(type);
127
- this.#deleted.emit(type, instance);
128
- const serviceEvents = this.#serviceEvents.get(type);
129
- if (serviceEvents) {
130
- serviceEvents.deleted.emit(instance);
131
- }
117
+ serviceEvents.deleted.emit(localInstance);
132
118
  }
133
- this.#services?.set(type, null);
134
119
  }
135
120
  /**
136
121
  * Remove and close an environmental service.
137
122
  */
138
123
  close(type) {
139
124
  const instance = this.maybeGet(type);
125
+ this.delete(type, instance);
140
126
  if (instance !== void 0) {
141
- this.delete(type, instance);
142
127
  return instance.close?.();
143
128
  }
144
129
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/Environment.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -104,7 +104,17 @@ export declare namespace Diagnostic {
104
104
  /**
105
105
  * Create a Diagnostic for an error.
106
106
  */
107
- function error(error: any): unknown;
107
+ function error(error: unknown): unknown;
108
+ /**
109
+ * Create a diagnostic for error messages that may have a code.
110
+ *
111
+ * Useful for errors when we don't want to present the stack trace.
112
+ */
113
+ function errorMessage({ id, message, path }: {
114
+ id?: string;
115
+ message: string;
116
+ path?: unknown;
117
+ }): unknown;
108
118
  /**
109
119
  * Create a diagnostic with a specific {@link Lifecycle}.
110
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostic.d.ts","sourceRoot":"","sources":["../../../src/log/Diagnostic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Diagnostic.d.ts","sourceRoot":"","sources":["../../../src/log/Diagnostic.ts"],"names":[],"mappings":"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"}
@@ -164,6 +164,21 @@ function Diagnostic(presentation, value) {
164
164
  return formatError(error2);
165
165
  }
166
166
  Diagnostic2.error = error;
167
+ function errorMessage({ id, message: message2, path }) {
168
+ if (id === void 0 && path === void 0) {
169
+ return Diagnostic2("error", message2);
170
+ }
171
+ const diagnostic = Array();
172
+ if (id) {
173
+ diagnostic.push(Diagnostic2.squash("[", Diagnostic2.strong(id), "]"));
174
+ }
175
+ if (path) {
176
+ diagnostic.push(Diagnostic2.squash(path, ":"));
177
+ }
178
+ diagnostic.push(message2);
179
+ return Diagnostic2("error", diagnostic);
180
+ }
181
+ Diagnostic2.errorMessage = errorMessage;
167
182
  function lifecycle(status, value2) {
168
183
  return Diagnostic2(status, value2);
169
184
  }
@@ -322,20 +337,13 @@ function formatError(error, options = {}) {
322
337
  const { messagePrefix, parentStack } = options;
323
338
  const messageAndStack = Diagnostic.messageAndStackFor(error, parentStack);
324
339
  let { stack, stackLines } = messageAndStack;
325
- const { id, path } = messageAndStack;
326
340
  let { message } = messageAndStack;
327
341
  const messageDiagnostic = Array();
328
342
  if (messagePrefix) {
329
- messageDiagnostic.push(messagePrefix, " ");
330
- }
331
- if (id) {
332
- messageDiagnostic.push("[", Diagnostic.strong(id), "] ");
333
- }
334
- if (path) {
335
- messageDiagnostic.push(" ", path, ": ");
343
+ messageDiagnostic.push(messagePrefix);
336
344
  }
337
- messageDiagnostic.push(message);
338
- message = Diagnostic.upgrade(message, Diagnostic("error", Diagnostic.squash(...messageDiagnostic)));
345
+ messageDiagnostic.push(Diagnostic.errorMessage(messageAndStack));
346
+ message = Diagnostic.upgrade(message, messageDiagnostic);
339
347
  let cause, errors, secondary;
340
348
  if (typeof error === "object" && error !== null) {
341
349
  if ("error" in error && "suppressed" in error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/log/Diagnostic.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Diagnostic", "error", "value", "via", "message", "pos", "cause"]
6
6
  }
@@ -42,18 +42,12 @@ export declare class Environment {
42
42
  */
43
43
  maybeGet<T extends object>(type: Environmental.ServiceType<T>): T | undefined;
44
44
  /**
45
- * Remove an environmental service.
45
+ * Remove an environmental service and block further inheritance
46
46
  *
47
47
  * @param type the class of the service to remove
48
48
  * @param instance optional instance expected, if existing instance does not match it is not deleted
49
49
  */
50
50
  delete(type: Environmental.ServiceType, instance?: any): void;
51
- /**
52
- * Prevent this environment from automatically instantiating or retrieving a service from parent environment.
53
- *
54
- * @param type the class of the service to block
55
- */
56
- block(type: Environmental.ServiceType): void;
57
51
  /**
58
52
  * Remove and close an environmental service.
59
53
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../../src/environment/Environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,4BAA4B,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;gBAQR,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;IAK9C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAU7C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAI9C;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IA6B5D;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAM7E;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG;IAetD;;;;OAIG;IACH,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW;IAiBrC;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,EAClB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GACnC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;IAU5E;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAM1E;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAYjE;;OAEG;IACH,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;;;OAIG;IACH,IAAI,KAAK,8EAER;IAED;;;;OAIG;IACH,IAAI,OAAO,8EAEV;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GASjC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAGnD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EACpB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAC5D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC;IAmBlE;;;;OAIG;IACH,MAAM,KAAK,OAAO,IAOM,WAAW,CALlC;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,WAAW,EAYlC;IAED;;OAEG;IACH,IAAI,IAAI,oBAEP;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAED;;OAEG;IACH,QAAQ;IAUR,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGjD"}
1
+ {"version":3,"file":"Environment.d.ts","sourceRoot":"","sources":["../../../src/environment/Environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,4BAA4B,CAAC;AAGpC,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAIvD;;;;;;;;;;;;GAYG;AACH,qBAAa,WAAW;;gBAQR,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW;IAK9C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAU7C;;OAEG;IACH,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,GAAG,OAAO;IAI9C;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IA4B5D;;OAEG;IACH,QAAQ,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS;IAM7E;;;;;OAKG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,GAAG;IAqBtD;;OAEG;IACH,KAAK,CAAC,CAAC,SAAS,MAAM,EAClB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GACnC,CAAC,SAAS;QAAE,KAAK,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;KAAE,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI;IAU5E;;OAEG;IACG,IAAI,CAAC,CAAC,SAAS,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAM1E;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;IAYjE;;OAEG;IACH,IAAI,IAAI,WAEP;IAED,IAAI,IAAI,IAAI,WAAW,CAEtB;IAED;;;;OAIG;IACH,IAAI,KAAK,8EAER;IAED;;;;OAIG;IACH,IAAI,OAAO,8EAEV;IAED;;;;OAIG;IACH,SAAS,CAAC,CAAC,SAAS,aAAa,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,GASjC,aAAa,CAAC,aAAa,CAAC,CAAC,CAAC;IAGnD;;;;;;OAMG;IACH,OAAO,CAAC,CAAC,SAAS,MAAM,EACpB,IAAI,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAClC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,EAC5D,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC;IAmBlE;;;;OAIG;IACH,MAAM,KAAK,OAAO,IAOM,WAAW,CALlC;IAED;;OAEG;IACH,MAAM,KAAK,OAAO,CAAC,GAAG,EAAE,WAAW,EAYlC;IAED;;OAEG;IACH,IAAI,IAAI,oBAEP;IAED;;OAEG;IACH,IAAI,OAAO,mBAEV;IAED;;OAEG;IACH,QAAQ;IAUR,SAAS,CAAC,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;CAGjD"}
@@ -51,18 +51,17 @@ class Environment {
51
51
  return mine;
52
52
  }
53
53
  if (mine === void 0) {
54
- let instance = this.#parent?.maybeGet(type);
54
+ const instance = this.#parent?.maybeGet(type);
55
55
  if (instance !== void 0 && instance !== null) {
56
56
  return instance;
57
57
  }
58
- if (type[Environmental.create]) {
59
- instance = type[Environmental.create](this);
60
- if (!(instance instanceof type)) {
61
- throw new InternalError(`Service creation did not produce instance of ${type.name}`);
62
- }
63
- this.set(type, instance);
64
- return instance;
58
+ }
59
+ if (type[Environmental.create]) {
60
+ const instance = type[Environmental.create](this);
61
+ if (!(instance instanceof type)) {
62
+ throw new InternalError(`Service creation did not produce instance of ${type.name}`);
65
63
  }
64
+ return instance;
66
65
  }
67
66
  throw new UnsupportedDependencyError(`Required dependency ${type.name}`, "is not available");
68
67
  }
@@ -75,47 +74,33 @@ class Environment {
75
74
  }
76
75
  }
77
76
  /**
78
- * Remove an environmental service.
77
+ * Remove an environmental service and block further inheritance
79
78
  *
80
79
  * @param type the class of the service to remove
81
80
  * @param instance optional instance expected, if existing instance does not match it is not deleted
82
81
  */
83
82
  delete(type, instance) {
84
- if (instance !== void 0 && this.#services?.get(type) !== instance) {
83
+ const localInstance = this.#services?.get(type);
84
+ this.#services?.set(type, null);
85
+ if (localInstance === void 0 || localInstance === null) {
85
86
  return;
86
87
  }
87
- this.#services?.delete(type);
88
- this.#parent?.delete(type);
89
- this.#deleted.emit(type, instance);
88
+ if (instance !== void 0 && localInstance !== instance) {
89
+ return;
90
+ }
91
+ this.#deleted.emit(type, localInstance);
90
92
  const serviceEvents = this.#serviceEvents.get(type);
91
93
  if (serviceEvents) {
92
- serviceEvents.deleted.emit(instance);
93
- }
94
- }
95
- /**
96
- * Prevent this environment from automatically instantiating or retrieving a service from parent environment.
97
- *
98
- * @param type the class of the service to block
99
- */
100
- block(type) {
101
- const instance = this.#services?.get(type);
102
- if (instance !== void 0 && instance !== null) {
103
- this.#services?.delete(type);
104
- this.#deleted.emit(type, instance);
105
- const serviceEvents = this.#serviceEvents.get(type);
106
- if (serviceEvents) {
107
- serviceEvents.deleted.emit(instance);
108
- }
94
+ serviceEvents.deleted.emit(localInstance);
109
95
  }
110
- this.#services?.set(type, null);
111
96
  }
112
97
  /**
113
98
  * Remove and close an environmental service.
114
99
  */
115
100
  close(type) {
116
101
  const instance = this.maybeGet(type);
102
+ this.delete(type, instance);
117
103
  if (instance !== void 0) {
118
- this.delete(type, instance);
119
104
  return instance.close?.();
120
105
  }
121
106
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/environment/Environment.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -104,7 +104,17 @@ export declare namespace Diagnostic {
104
104
  /**
105
105
  * Create a Diagnostic for an error.
106
106
  */
107
- function error(error: any): unknown;
107
+ function error(error: unknown): unknown;
108
+ /**
109
+ * Create a diagnostic for error messages that may have a code.
110
+ *
111
+ * Useful for errors when we don't want to present the stack trace.
112
+ */
113
+ function errorMessage({ id, message, path }: {
114
+ id?: string;
115
+ message: string;
116
+ path?: unknown;
117
+ }): unknown;
108
118
  /**
109
119
  * Create a diagnostic with a specific {@link Lifecycle}.
110
120
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Diagnostic.d.ts","sourceRoot":"","sources":["../../../src/log/Diagnostic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Diagnostic.d.ts","sourceRoot":"","sources":["../../../src/log/Diagnostic.ts"],"names":[],"mappings":"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"}
@@ -141,6 +141,21 @@ function Diagnostic(presentation, value) {
141
141
  return formatError(error2);
142
142
  }
143
143
  Diagnostic2.error = error;
144
+ function errorMessage({ id, message: message2, path }) {
145
+ if (id === void 0 && path === void 0) {
146
+ return Diagnostic2("error", message2);
147
+ }
148
+ const diagnostic = Array();
149
+ if (id) {
150
+ diagnostic.push(Diagnostic2.squash("[", Diagnostic2.strong(id), "]"));
151
+ }
152
+ if (path) {
153
+ diagnostic.push(Diagnostic2.squash(path, ":"));
154
+ }
155
+ diagnostic.push(message2);
156
+ return Diagnostic2("error", diagnostic);
157
+ }
158
+ Diagnostic2.errorMessage = errorMessage;
144
159
  function lifecycle(status, value2) {
145
160
  return Diagnostic2(status, value2);
146
161
  }
@@ -299,20 +314,13 @@ function formatError(error, options = {}) {
299
314
  const { messagePrefix, parentStack } = options;
300
315
  const messageAndStack = Diagnostic.messageAndStackFor(error, parentStack);
301
316
  let { stack, stackLines } = messageAndStack;
302
- const { id, path } = messageAndStack;
303
317
  let { message } = messageAndStack;
304
318
  const messageDiagnostic = Array();
305
319
  if (messagePrefix) {
306
- messageDiagnostic.push(messagePrefix, " ");
307
- }
308
- if (id) {
309
- messageDiagnostic.push("[", Diagnostic.strong(id), "] ");
310
- }
311
- if (path) {
312
- messageDiagnostic.push(" ", path, ": ");
320
+ messageDiagnostic.push(messagePrefix);
313
321
  }
314
- messageDiagnostic.push(message);
315
- message = Diagnostic.upgrade(message, Diagnostic("error", Diagnostic.squash(...messageDiagnostic)));
322
+ messageDiagnostic.push(Diagnostic.errorMessage(messageAndStack));
323
+ message = Diagnostic.upgrade(message, messageDiagnostic);
316
324
  let cause, errors, secondary;
317
325
  if (typeof error === "object" && error !== null) {
318
326
  if ("error" in error && "suppressed" in error) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/log/Diagnostic.ts"],
4
- "mappings": "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",
4
+ "mappings": "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",
5
5
  "names": ["Diagnostic", "error", "value", "via", "message", "pos", "cause"]
6
6
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@matter/general",
3
- "version": "0.16.0-alpha.0-20251011-d8942d7d5",
3
+ "version": "0.16.0-alpha.0-20251016-b56cf5683",
4
4
  "description": "Non-Matter support for Matter.js",
5
5
  "keywords": [
6
6
  "iot",
@@ -36,7 +36,7 @@
36
36
  "@noble/curves": "^2.0.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@matter/testing": "0.16.0-alpha.0-20251011-d8942d7d5"
39
+ "@matter/testing": "0.16.0-alpha.0-20251016-b56cf5683"
40
40
  },
41
41
  "files": [
42
42
  "dist/**/*",
@@ -77,21 +77,20 @@ export class Environment {
77
77
 
78
78
  // When null then we do not have it and also do not want to inherit from parent
79
79
  if (mine === undefined) {
80
- let instance = this.#parent?.maybeGet(type);
80
+ const instance = this.#parent?.maybeGet(type);
81
81
  if (instance !== undefined && instance !== null) {
82
82
  // Parent has it, use it
83
83
  return instance;
84
84
  }
85
+ }
85
86
 
86
- // ... otherwise try to create it
87
- if ((type as Environmental.Factory<T>)[Environmental.create]) {
88
- instance = (type as any)[Environmental.create](this) as T;
89
- if (!(instance instanceof type)) {
90
- throw new InternalError(`Service creation did not produce instance of ${type.name}`);
91
- }
92
- this.set(type, instance);
93
- return instance;
87
+ // ... otherwise try to create it. The create method must install it in the environment if needed
88
+ if ((type as Environmental.Factory<T>)[Environmental.create]) {
89
+ const instance = (type as any)[Environmental.create](this) as T;
90
+ if (!(instance instanceof type)) {
91
+ throw new InternalError(`Service creation did not produce instance of ${type.name}`);
94
92
  }
93
+ return instance;
95
94
  }
96
95
 
97
96
  throw new UnsupportedDependencyError(`Required dependency ${type.name}`, "is not available");
@@ -107,48 +106,32 @@ export class Environment {
107
106
  }
108
107
 
109
108
  /**
110
- * Remove an environmental service.
109
+ * Remove an environmental service and block further inheritance
111
110
  *
112
111
  * @param type the class of the service to remove
113
112
  * @param instance optional instance expected, if existing instance does not match it is not deleted
114
113
  */
115
114
  delete(type: Environmental.ServiceType, instance?: any) {
116
- if (instance !== undefined && this.#services?.get(type) !== instance) {
115
+ const localInstance = this.#services?.get(type);
116
+
117
+ // Remove instance and replace by null to prevent inheritance from parent
118
+ this.#services?.set(type, null);
119
+
120
+ if (localInstance === undefined || localInstance === null) {
121
+ return;
122
+ }
123
+ if (instance !== undefined && localInstance !== instance) {
117
124
  return;
118
125
  }
119
- this.#services?.delete(type);
120
- this.#parent?.delete(type);
121
126
 
122
- this.#deleted.emit(type, instance);
127
+ this.#deleted.emit(type, localInstance);
123
128
 
124
129
  const serviceEvents = this.#serviceEvents.get(type);
125
130
  if (serviceEvents) {
126
- serviceEvents.deleted.emit(instance);
131
+ serviceEvents.deleted.emit(localInstance);
127
132
  }
128
133
  }
129
134
 
130
- /**
131
- * Prevent this environment from automatically instantiating or retrieving a service from parent environment.
132
- *
133
- * @param type the class of the service to block
134
- */
135
- block(type: Environmental.ServiceType) {
136
- const instance = this.#services?.get(type);
137
-
138
- if (instance !== undefined && instance !== null) {
139
- this.#services?.delete(type);
140
-
141
- this.#deleted.emit(type, instance);
142
-
143
- const serviceEvents = this.#serviceEvents.get(type);
144
- if (serviceEvents) {
145
- serviceEvents.deleted.emit(instance);
146
- }
147
- }
148
-
149
- this.#services?.set(type, null);
150
- }
151
-
152
135
  /**
153
136
  * Remove and close an environmental service.
154
137
  */
@@ -156,8 +139,8 @@ export class Environment {
156
139
  type: Environmental.ServiceType<T>,
157
140
  ): T extends { close: () => MaybePromise<void> } ? MaybePromise<void> : void {
158
141
  const instance = this.maybeGet(type);
142
+ this.delete(type, instance); // delete and block inheritance
159
143
  if (instance !== undefined) {
160
- this.delete(type, instance);
161
144
  return (instance as Partial<Destructable>).close?.() as T extends { close: () => MaybePromise<void> }
162
145
  ? MaybePromise<void>
163
146
  : void;
@@ -239,10 +239,35 @@ export namespace Diagnostic {
239
239
  /**
240
240
  * Create a Diagnostic for an error.
241
241
  */
242
- export function error(error: any) {
242
+ export function error(error: unknown) {
243
243
  return formatError(error);
244
244
  }
245
245
 
246
+ /**
247
+ * Create a diagnostic for error messages that may have a code.
248
+ *
249
+ * Useful for errors when we don't want to present the stack trace.
250
+ */
251
+ export function errorMessage({ id, message, path }: { id?: string; message: string; path?: unknown }): unknown {
252
+ if (id === undefined && path === undefined) {
253
+ return Diagnostic("error", message);
254
+ }
255
+
256
+ const diagnostic = Array<unknown>();
257
+
258
+ if (id) {
259
+ diagnostic.push(Diagnostic.squash("[", Diagnostic.strong(id), "]"));
260
+ }
261
+
262
+ if (path) {
263
+ diagnostic.push(Diagnostic.squash(path, ":"));
264
+ }
265
+
266
+ diagnostic.push(message);
267
+
268
+ return Diagnostic("error", diagnostic);
269
+ }
270
+
246
271
  /**
247
272
  * Create a diagnostic with a specific {@link Lifecycle}.
248
273
  */
@@ -492,23 +517,16 @@ function formatError(error: unknown, options: { messagePrefix?: string; parentSt
492
517
 
493
518
  const messageAndStack = Diagnostic.messageAndStackFor(error, parentStack);
494
519
  let { stack, stackLines } = messageAndStack;
495
- const { id, path } = messageAndStack;
496
520
 
497
521
  let { message } = messageAndStack;
498
522
 
499
523
  const messageDiagnostic = Array<unknown>();
500
524
  if (messagePrefix) {
501
- messageDiagnostic.push(messagePrefix, " ");
502
- }
503
- if (id) {
504
- messageDiagnostic.push("[", Diagnostic.strong(id), "] ");
505
- }
506
- if (path) {
507
- messageDiagnostic.push(" ", path, ": ");
525
+ messageDiagnostic.push(messagePrefix);
508
526
  }
509
- messageDiagnostic.push(message);
527
+ messageDiagnostic.push(Diagnostic.errorMessage(messageAndStack));
510
528
 
511
- message = Diagnostic.upgrade(message, Diagnostic("error", Diagnostic.squash(...messageDiagnostic)));
529
+ message = Diagnostic.upgrade(message, messageDiagnostic);
512
530
 
513
531
  let cause, errors, secondary;
514
532
  if (typeof error === "object" && error !== null) {