@theia/core 1.27.0-next.52 → 1.27.0-next.56

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 CHANGED
@@ -86,12 +86,12 @@ export class SomeClass {
86
86
  - `@phosphor/signaling` (from [`@phosphor/signaling@1`](https://www.npmjs.com/package/@phosphor/signaling))
87
87
  - `@phosphor/virtualdom` (from [`@phosphor/virtualdom@1`](https://www.npmjs.com/package/@phosphor/virtualdom))
88
88
  - `@phosphor/widgets` (from [`@phosphor/widgets@1`](https://www.npmjs.com/package/@phosphor/widgets))
89
- - `@theia/application-package` (from [`@theia/application-package@1.27.0-next.52+ce012845316`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.52))
90
- - `@theia/application-package/lib/api` (from [`@theia/application-package@1.27.0-next.52+ce012845316`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.52))
91
- - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.27.0-next.52+ce012845316`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.52))
92
- - `@theia/request` (from [`@theia/request@1.27.0-next.52+ce012845316`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.52))
93
- - `@theia/request/lib/proxy` (from [`@theia/request@1.27.0-next.52+ce012845316`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.52))
94
- - `@theia/request/lib/node-request-service` (from [`@theia/request@1.27.0-next.52+ce012845316`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.52))
89
+ - `@theia/application-package` (from [`@theia/application-package@1.27.0-next.56+9a0ae2ed858`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.56))
90
+ - `@theia/application-package/lib/api` (from [`@theia/application-package@1.27.0-next.56+9a0ae2ed858`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.56))
91
+ - `@theia/application-package/lib/environment` (from [`@theia/application-package@1.27.0-next.56+9a0ae2ed858`](https://www.npmjs.com/package/@theia/application-package/v/1.27.0-next.56))
92
+ - `@theia/request` (from [`@theia/request@1.27.0-next.56+9a0ae2ed858`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.56))
93
+ - `@theia/request/lib/proxy` (from [`@theia/request@1.27.0-next.56+9a0ae2ed858`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.56))
94
+ - `@theia/request/lib/node-request-service` (from [`@theia/request@1.27.0-next.56+9a0ae2ed858`](https://www.npmjs.com/package/@theia/request/v/1.27.0-next.56))
95
95
  - `fs-extra` (from [`fs-extra@^4.0.2`](https://www.npmjs.com/package/fs-extra))
96
96
  - `fuzzy` (from [`fuzzy@^0.1.3`](https://www.npmjs.com/package/fuzzy))
97
97
  - `inversify` (from [`inversify@^5.1.1`](https://www.npmjs.com/package/inversify))
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-application-bindings.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-application-bindings.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAEH,cAAc,EACjB,MAAM,WAAW,CAAC;AASnB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAGxG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAuBjE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAIhE"}
1
+ {"version":3,"file":"frontend-application-bindings.d.ts","sourceRoot":"","sources":["../../src/browser/frontend-application-bindings.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAEH,cAAc,EACjB,MAAM,WAAW,CAAC;AAQnB,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,UAAU,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAGxG;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAsBjE;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,GAAG,IAAI,CAIhE"}
@@ -19,7 +19,6 @@ exports.bindResourceProvider = exports.bindPreferenceService = exports.bindMessa
19
19
  const common_1 = require("../common");
20
20
  const preferences_1 = require("./preferences");
21
21
  const injectable_preference_proxy_1 = require("./preferences/injectable-preference-proxy");
22
- const validated_preference_proxy_1 = require("./preferences/validated-preference-proxy");
23
22
  function bindMessageService(bind) {
24
23
  bind(common_1.MessageClient).toSelf().inSingletonScope();
25
24
  return bind(common_1.MessageService).toSelf().inSingletonScope();
@@ -40,12 +39,11 @@ function bindPreferenceService(bind) {
40
39
  (0, preferences_1.bindPreferenceSchemaProvider)(bind);
41
40
  bind(preferences_1.PreferenceValidationService).toSelf().inSingletonScope();
42
41
  bind(injectable_preference_proxy_1.InjectablePreferenceProxy).toSelf();
43
- bind(validated_preference_proxy_1.ValidatedPreferenceProxy).toSelf();
44
42
  bind(injectable_preference_proxy_1.PreferenceProxyFactory).toFactory(({ container }) => (schema, options = {}) => {
45
43
  const child = container.createChild();
46
44
  child.bind(preferences_1.PreferenceProxyOptions).toConstantValue(options !== null && options !== void 0 ? options : {});
47
45
  child.bind(injectable_preference_proxy_1.PreferenceProxySchema).toConstantValue(schema);
48
- const handler = options.validated ? child.get(validated_preference_proxy_1.ValidatedPreferenceProxy) : child.get(injectable_preference_proxy_1.InjectablePreferenceProxy);
46
+ const handler = child.get(injectable_preference_proxy_1.InjectablePreferenceProxy);
49
47
  return new Proxy(Object.create(null), handler); // eslint-disable-line no-null/no-null
50
48
  });
51
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"frontend-application-bindings.js","sourceRoot":"","sources":["../../src/browser/frontend-application-bindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"frontend-application-bindings.js","sourceRoot":"","sources":["../../src/browser/frontend-application-bindings.ts"],"names":[],"mappings":"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"}
@@ -125,10 +125,6 @@ export interface PreferenceProxyOptions {
125
125
  * Indicates whether the proxy should be disposable. Proxies that are shared between multiple callers should not be disposable.
126
126
  */
127
127
  isDisposable?: boolean;
128
- /**
129
- * Indicates whether the proxy will validate values before returning them to clients.
130
- */
131
- validated?: boolean;
132
128
  }
133
129
  /**
134
130
  * Creates a preference proxy for typesafe preference handling.
@@ -1 +1 @@
1
- {"version":3,"file":"preference-proxy.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/preference-proxy.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH;;GAEG;AACH,oBAAY,qBAAqB,CAAC,CAAC,IAAI;IACnC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACvE,GAAG;KACC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;QACd,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB;;WAEG;QAEH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5B;CACJ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG;QACvC,cAAc,EAAE,CAAC,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC9B,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,oBAAY,eAAe,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC/G,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC,CAAC,CAAC,CA8L7K"}
1
+ {"version":3,"file":"preference-proxy.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/preference-proxy.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAI7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH;;GAEG;AACH,oBAAY,qBAAqB,CAAC,CAAC,IAAI;IACnC,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CACvE,GAAG;KACC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG;QACd,QAAQ,CAAC,cAAc,EAAE,CAAC,CAAC;QAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxB;;WAEG;QAEH,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAC5B;CACJ,CAAC,MAAM,CAAC,CAAC,CAAC;AAEX,MAAM,WAAW,sBAAsB,CAAC,CAAC;IACrC,QAAQ,CAAC,mBAAmB,EAAE,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,mBAAmB,CAAC,CAAC;IAClC,GAAG,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC,GAAG;QACvC,cAAc,EAAE,CAAC,CAAC;QAClB,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAC9B,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;CACvD;AAED;;;;;;;;;;;;GAYG;AACH,oBAAY,eAAe,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,UAAU,GAAG,sBAAsB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAC/G,eAAO,MAAM,sBAAsB,eAAmC,CAAC;AACvE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;IACjC;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,YAAY,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,eAAe,CAAC,CAAC,CAAC,CA8L7K"}
@@ -1 +1 @@
1
- {"version":3,"file":"preference-proxy.js","sourceRoot":"","sources":["../../../src/browser/preferences/preference-proxy.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,2EAA2E;AAC3E,gFAAgF;;;AAMhF,uEAA6D;AAC7D,yDAAqD;AACrD,iGAAgF;AAmGnE,QAAA,sBAAsB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AAsCvE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,qBAAqB,CAAI,WAA8B,EAAE,cAA8C,EAAE,OAAgC;IACrJ,MAAM,IAAI,GAAG,OAAO,IAAI,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC;IACnC,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;IACpD,MAAM,MAAM,GAAG,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;IACpD,IAAI,MAAoC,CAAC;IACzC,IAAI,0CAAgB,CAAC,EAAE,CAAC,cAAc,CAAC,EAAE;QACrC,MAAM,GAAG,cAAc,CAAC;KAC3B;SAAM;QACH,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;KACxC;IACD,MAAM,mBAAmB,GAAG,CAAC,QAA8C,EAAE,QAAc,EAAE,WAA0B,EAAE,EAAE,CAAC,WAAW,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE;QACnK,IAAI,MAAM,EAAE;YACR,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;gBACpC,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvB,MAAM,UAAU,GAAG,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;gBAC1E,MAAM,cAAc,GAAQ,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gBACtF,IAAI,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,MAAK,IAAI,CAAC,kBAAkB,CAAC,EAAE;oBAC/H,IAAI,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;wBACnC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;wBACjC,QAAQ,CAAC;4BACL,QAAQ,EAAE,QAAQ,EAAE,cAAc;4BAClC,OAAO,EAAE,CAAC,WAAW,EAAE,kBAAkB,EAAE,EAAE;gCACzC,IAAI,kBAAkB,MAAK,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,CAAA,EAAE;oCACvD,OAAO,KAAK,CAAC;iCAChB;gCACD,OAAO,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;4BAClC,CAAC;yBACJ,CAAC,CAAC;qBACN;iBACJ;aACJ;SACJ;IACL,CAAC,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;IAE1B,MAAM,oBAAoB,GAAG,CAAC,CAAM,EAAE,EAAU,EAAE,EAAE;QAChD,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;IAC7C,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAoC,CAAC,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,EAAE;QACjF,MAAM,cAAc,GAAG,6DAAsB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACnD,WAAW,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC;QAChB,OAAO,WAAW,CAAC,GAAG,CAAC,cAAc,EAAE,YAAY,EAAE,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC;IAC1F,CAAC,CAAC;IAEF,MAAM,OAAO,GAAmB,GAAG,EAAE;QACjC,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,IAAI,MAAM,EAAE;YACR,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;oBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;oBAC1C,IAAI,GAAG,KAAK,CAAC,CAAC,IAAI,MAAM,EAAE;wBACtB,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;wBACzD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;4BAChC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;yBACxB;qBACJ;oBACD,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;oBACrC,IAAI,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;wBACpC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACzB;iBACJ;aACJ;SACJ;QACD,OAAO,UAAU,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAsE,CAAC,CAAC,EAAE,QAAkC,EAAE,KAAU,EAAE,EAAE;QACjI,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC/D;QACD,IAAI,KAAK,KAAK,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;YAClD,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,MAAM,EAAE;YACR,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;YAC3D,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;gBACjC,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,kCAAe,CAAC,OAAO,CAAC,CAAC;gBAC9D,OAAO,IAAI,CAAC;aACf;YACD,MAAM,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACzB,MAAM,QAAQ,GAAyB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE;wBAC9E,MAAM,EAAE,SAAS;wBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;wBAC3C,KAAK;qBACR,CAAC,CAAC;oBACH,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wBAChC,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;qBAC1B;iBACJ;aACJ;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;IAEF,MAAM,GAAG,GAAuC,CAAC,CAAC,EAAE,QAAkC,EAAE,EAAE;QACtF,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;SAC/D;QACD,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3D,IAAI,MAAM,EAAE;YACR,IAAI,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxC,IAAI,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;oBACjC,IAAI,KAAK,CAAC;oBACV,IAAI,IAAI,CAAC,kBAAkB,EAAE;wBACzB,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,sBAAsB,CAAC;4BACvD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;4BAC3C,cAAc,EAAE,YAAY;yBAC/B,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;qBACpC;oBACD,IAAI,KAAK,KAAK,SAAS,EAAE;wBACrB,KAAK,GAAG,WAAW,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;qBACtE;oBACD,OAAO,KAAK,CAAC;iBAChB;aACJ;SACJ;QACD,IAAI,QAAQ,KAAK,qBAAqB,EAAE;YACpC,OAAO,mBAAmB,CAAC;SAC9B;QACD,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO,GAAG,EAAE,GAAoB,CAAC,CAAC;SACrC;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACtB,OAAO,WAAW,CAAC,KAAK,CAAC;SAC5B;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE;YACpB,OAAO,QAAQ,CAAC;SACnB;QACD,IAAI,QAAQ,KAAK,QAAQ,EAAE;YACvB,OAAO,MAAM,EAAE,CAAC;SACnB;QACD,IAAI,MAAM,IAAI,MAAM,EAAE;YAClB,MAAM,SAAS,GAAG,YAAY,GAAG,GAAG,CAAC;YACrC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBAC5C,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACzB,OAAO,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;iBAC/J;aACJ;YAED,IAAI,KAAK,CAAC;YACV,IAAI,aAAa,GAAG,YAAY,CAAC;YACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;YACpB,GAAG;gBACC,MAAM,KAAK,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC7C,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClD,aAAa,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,aAAa,IAAI,MAAM,CAAC,UAAU,EAAE;oBACpC,KAAK,GAAG,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;iBACjC;aACJ,QAAQ,aAAa,IAAI,KAAK,KAAK,SAAS,EAAE;YAE/C,IAAI,OAAO,CAAC;YACZ,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,EAAE;gBAC5D,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;aAC1B;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;SAC9C;QACD,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE;QAChB,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,EAAE;YACvB,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;SACjC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,IAAI,KAAK,CAAC,EAAE,EAAE;QACjB,GAAG;QACH,OAAO;QACP,wBAAwB,EAAE,CAAC,CAAC,EAAE,QAAgB,EAAE,EAAE;YAC9C,IAAI,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;gBACpC,OAAO;oBACH,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;iBACrB,CAAC;aACL;YACD,OAAO,EAAE,CAAC;QACd,CAAC;QACD,GAAG;QACH,cAAc,EAAE,oBAAoB;QACpC,cAAc,EAAE,oBAAoB;KACvC,CAAC,CAAC;AACP,CAAC;AA9LD,sDA8LC"}
1
+ {"version":3,"file":"preference-proxy.js","sourceRoot":"","sources":["../../../src/browser/preferences/preference-proxy.ts"],"names":[],"mappings":"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"}
@@ -37,7 +37,6 @@ process.on('unhandledRejection', (reason, promise) => {
37
37
  throw reason;
38
38
  });
39
39
  const chai_1 = require("chai");
40
- const preference_validation_service_1 = require("./preference-validation-service");
41
40
  let testContainer;
42
41
  function createTestContainer() {
43
42
  const result = new inversify_1.Container();
@@ -48,7 +47,6 @@ function createTestContainer() {
48
47
  describe('Preference Proxy', () => {
49
48
  let prefService;
50
49
  let prefSchema;
51
- let validator;
52
50
  before(() => {
53
51
  disableJSDOM = (0, jsdom_1.enableJSDOM)();
54
52
  frontend_application_config_provider_1.FrontendApplicationConfigProvider.set({});
@@ -60,7 +58,6 @@ describe('Preference Proxy', () => {
60
58
  testContainer = createTestContainer();
61
59
  prefSchema = testContainer.get(preference_contribution_1.PreferenceSchemaProvider);
62
60
  prefService = testContainer.get(preference_service_1.PreferenceService);
63
- validator = testContainer.get(preference_validation_service_1.PreferenceValidationService);
64
61
  getProvider(preference_scope_1.PreferenceScope.User).markReady();
65
62
  getProvider(preference_scope_1.PreferenceScope.Workspace).markReady();
66
63
  getProvider(preference_scope_1.PreferenceScope.Folder).markReady();
@@ -97,14 +94,14 @@ describe('Preference Proxy', () => {
97
94
  prefSchema.setSchema(s);
98
95
  resolve(s);
99
96
  }, 1000));
100
- const proxy = (testOptions.useFactory || (options === null || options === void 0 ? void 0 : options.validated))
97
+ const proxy = testOptions.useFactory
101
98
  ? testContainer.get(injectable_preference_proxy_1.PreferenceProxyFactory)(promisedSchema, options)
102
99
  : (0, preference_proxy_1.createPreferenceProxy)(prefService, promisedSchema, options);
103
100
  return { proxy, promisedSchema };
104
101
  }
105
102
  else {
106
103
  prefSchema.setSchema(s);
107
- const proxy = (testOptions.useFactory || (options === null || options === void 0 ? void 0 : options.validated))
104
+ const proxy = testOptions.useFactory
108
105
  ? testContainer.get(injectable_preference_proxy_1.PreferenceProxyFactory)(s, options)
109
106
  : (0, preference_proxy_1.createPreferenceProxy)(prefService, s, options);
110
107
  return { proxy };
@@ -242,101 +239,6 @@ describe('Preference Proxy', () => {
242
239
  (0, chai_1.expect)(changesNotAffectingTypescript, 'Two events (one for `my.pref` and one for `[swift].my.pref`) should not have affected TS').to.equal(2);
243
240
  (0, chai_1.expect)(changesAffectingTypescript, 'One event should have been fired that does affect typescript.').to.equal(1);
244
241
  });
245
- if (testOptions.useFactory) {
246
- async function prepareValidationTest() {
247
- const validationCallCounter = { calls: 0 };
248
- const originalValidateByName = validator.validateByName.bind(validator);
249
- function newValidateByName(...args) {
250
- validationCallCounter.calls++;
251
- return originalValidateByName(...args);
252
- }
253
- ;
254
- validator.validateByName = newValidateByName;
255
- const { proxy, promisedSchema } = getProxy({
256
- properties: {
257
- 'my.pref': {
258
- type: 'string',
259
- defaultValue: 'foo',
260
- overridable: true,
261
- }
262
- }
263
- }, { style: 'both', validated: true });
264
- await promisedSchema;
265
- return { proxy, validationCallCounter };
266
- }
267
- it('Validated proxies always return good values.', async () => {
268
- const { proxy, validationCallCounter } = await prepareValidationTest();
269
- let event = undefined;
270
- proxy.onPreferenceChanged(change => event = change);
271
- (0, chai_1.expect)(proxy['my.pref']).to.equal('foo', 'Should start with default value.');
272
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(1, 'Should have validated preference retrieval.');
273
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal('foo', 'Should have default value for `get`.');
274
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(1, 'Should have cached first validation.');
275
- const newValue = 'Also a string';
276
- await prefService.set('my.pref', newValue, preference_scope_1.PreferenceScope.User);
277
- (0, chai_1.expect)(event !== undefined);
278
- (0, chai_1.expect)(event.newValue).to.equal(newValue, 'Should accept good value');
279
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(2, 'Should have validated event value');
280
- (0, chai_1.expect)(proxy['my.pref']).to.equal(newValue, 'Should return default value on access.');
281
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal(newValue);
282
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(2, 'Should have used cached value for retrievals');
283
- await prefService.set('my.pref', { complete: 'garbage' }, preference_scope_1.PreferenceScope.User);
284
- (0, chai_1.expect)(event !== undefined);
285
- (0, chai_1.expect)(event.newValue).to.equal('foo', 'Should have fallen back to default.');
286
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(3, 'Should have validated event');
287
- (0, chai_1.expect)(proxy['my.pref']).to.equal('foo', 'Should return default value on access.');
288
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal('foo');
289
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(3, 'Should have used cached value for retrievals');
290
- });
291
- it('Validated proxies only validate one value if multiple language-override events are emitted for the same change', async () => {
292
- const { proxy, validationCallCounter } = await prepareValidationTest();
293
- prefSchema.registerOverrideIdentifier('swift');
294
- prefSchema.registerOverrideIdentifier('typescript');
295
- const events = [];
296
- proxy.onPreferenceChanged(event => events.push(event));
297
- await prefService.set('my.pref', { complete: 'garbage' }, preference_scope_1.PreferenceScope.User);
298
- (0, chai_1.expect)(validationCallCounter.calls, 'Validation should have been performed once.').to.equal(1);
299
- (0, chai_1.expect)(events).to.have.length(3, 'One event for base, one for each override');
300
- (0, chai_1.expect)(events.every(event => event.newValue === 'foo'), 'Should have returned the default in case of garbage.');
301
- });
302
- it("Validated proxies don't retain old values for overrides after a change (no emitter).", async () => {
303
- const { proxy, validationCallCounter } = await prepareValidationTest();
304
- prefSchema.registerOverrideIdentifier('swift');
305
- const initialValue = proxy.get({ preferenceName: 'my.pref', overrideIdentifier: 'swift' });
306
- (0, chai_1.expect)(initialValue).to.equal('foo', 'Proxy should start with default value.');
307
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(1, 'Retrieval should validate (1).');
308
- await prefService.set('my.pref', 'bar', preference_scope_1.PreferenceScope.User);
309
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal('bar', 'The base should have been updated.');
310
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(2, 'Retrieval should validate (2).');
311
- (0, chai_1.expect)(proxy.get({ preferenceName: 'my.pref', overrideIdentifier: 'swift' })).to.equal('bar', 'Proxy should update empty overrides on change.');
312
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(3, 'Retrieval should validate (3).');
313
- });
314
- // The scenario with a listener differs because the proxy will start caching known valid values when a listener is attached.
315
- it("Validated proxies don't retain old values for overrides after a change (with emitter)", async () => {
316
- const { proxy, validationCallCounter } = await prepareValidationTest();
317
- prefSchema.registerOverrideIdentifier('swift');
318
- const override = { preferenceName: 'my.pref', overrideIdentifier: 'swift' };
319
- proxy.onPreferenceChanged; // Initialize the listeners.
320
- const initialValue = proxy.get(override);
321
- (0, chai_1.expect)(initialValue).to.equal('foo', 'Proxy should start with default value.');
322
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(1, 'Retrieval should validate.');
323
- await prefService.set('my.pref', 'bar', preference_scope_1.PreferenceScope.User);
324
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(2, 'Event should trigger validation (1).');
325
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal('bar', 'The base should have been updated.');
326
- (0, chai_1.expect)(proxy.get(override)).to.equal('bar', 'Proxy should update empty overrides on change.');
327
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(2, 'Subsequent retrievals should not trigger validation. (1)');
328
- await prefService.set(prefService.overridePreferenceName(override), 'baz', preference_scope_1.PreferenceScope.User);
329
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(3, 'Event should trigger validation (2).');
330
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal('bar', 'Base should not have been updated.');
331
- (0, chai_1.expect)(proxy.get(override)).to.equal('baz', 'Override should have been updated');
332
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(3, 'Subsequent retrievals should not trigger validation. (2)');
333
- await prefService.set('my.pref', 'boom', preference_scope_1.PreferenceScope.User);
334
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(4, 'Event should trigger validation (3).');
335
- (0, chai_1.expect)(proxy.get('my.pref')).to.equal('boom', 'Base should have been updated.');
336
- (0, chai_1.expect)(proxy.get(override)).to.equal('baz', 'Override should not have been updated');
337
- (0, chai_1.expect)(validationCallCounter.calls).to.equal(4, 'Subsequent retrievals should not trigger validation. (3)');
338
- });
339
- }
340
242
  it('toJSON with deep', async () => {
341
243
  const { proxy, promisedSchema } = getProxy({
342
244
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"preference-proxy.spec.js","sourceRoot":"","sources":["../../../src/browser/preferences/preference-proxy.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"preference-proxy.spec.js","sourceRoot":"","sources":["../../../src/browser/preferences/preference-proxy.spec.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theia/core",
3
- "version": "1.27.0-next.52+ce012845316",
3
+ "version": "1.27.0-next.56+9a0ae2ed858",
4
4
  "description": "Theia is a cloud & desktop IDE framework implemented in TypeScript.",
5
5
  "main": "lib/common/index.js",
6
6
  "typings": "lib/common/index.d.ts",
@@ -16,8 +16,8 @@
16
16
  "@phosphor/signaling": "1",
17
17
  "@phosphor/virtualdom": "1",
18
18
  "@phosphor/widgets": "1",
19
- "@theia/application-package": "1.27.0-next.52+ce012845316",
20
- "@theia/request": "1.27.0-next.52+ce012845316",
19
+ "@theia/application-package": "1.27.0-next.56+9a0ae2ed858",
20
+ "@theia/request": "1.27.0-next.56+9a0ae2ed858",
21
21
  "@types/body-parser": "^1.16.4",
22
22
  "@types/cookie": "^0.3.3",
23
23
  "@types/dompurify": "^2.2.2",
@@ -200,5 +200,5 @@
200
200
  "nyc": {
201
201
  "extends": "../../configs/nyc.json"
202
202
  },
203
- "gitHead": "ce0128453165d9a9493a7a958fcfaa4b0a2c6e9e"
203
+ "gitHead": "9a0ae2ed858c2cac36cb05a9307268f11d807180"
204
204
  }
@@ -25,7 +25,6 @@ import {
25
25
  PreferenceService, PreferenceServiceImpl, PreferenceValidationService
26
26
  } from './preferences';
27
27
  import { InjectablePreferenceProxy, PreferenceProxyFactory, PreferenceProxySchema } from './preferences/injectable-preference-proxy';
28
- import { ValidatedPreferenceProxy } from './preferences/validated-preference-proxy';
29
28
 
30
29
  export function bindMessageService(bind: interfaces.Bind): interfaces.BindingWhenOnSyntax<MessageService> {
31
30
  bind(MessageClient).toSelf().inSingletonScope();
@@ -47,12 +46,11 @@ export function bindPreferenceService(bind: interfaces.Bind): void {
47
46
  bindPreferenceSchemaProvider(bind);
48
47
  bind(PreferenceValidationService).toSelf().inSingletonScope();
49
48
  bind(InjectablePreferenceProxy).toSelf();
50
- bind(ValidatedPreferenceProxy).toSelf();
51
49
  bind(PreferenceProxyFactory).toFactory(({ container }) => (schema: MaybePromise<PreferenceSchema>, options: PreferenceProxyOptions = {}) => {
52
50
  const child = container.createChild();
53
51
  child.bind(PreferenceProxyOptions).toConstantValue(options ?? {});
54
52
  child.bind(PreferenceProxySchema).toConstantValue(schema);
55
- const handler = options.validated ? child.get(ValidatedPreferenceProxy) : child.get(InjectablePreferenceProxy);
53
+ const handler = child.get(InjectablePreferenceProxy);
56
54
  return new Proxy(Object.create(null), handler); // eslint-disable-line no-null/no-null
57
55
  });
58
56
  }
@@ -42,8 +42,6 @@ process.on('unhandledRejection', (reason, promise) => {
42
42
  });
43
43
 
44
44
  import { expect } from 'chai';
45
- import { PreferenceValidationService } from './preference-validation-service';
46
- import { JSONValue } from '@phosphor/coreutils';
47
45
  let testContainer: Container;
48
46
 
49
47
  function createTestContainer(): Container {
@@ -56,7 +54,6 @@ function createTestContainer(): Container {
56
54
  describe('Preference Proxy', () => {
57
55
  let prefService: PreferenceServiceImpl;
58
56
  let prefSchema: PreferenceSchemaProvider;
59
- let validator: PreferenceValidationService;
60
57
 
61
58
  before(() => {
62
59
  disableJSDOM = enableJSDOM();
@@ -71,7 +68,6 @@ describe('Preference Proxy', () => {
71
68
  testContainer = createTestContainer();
72
69
  prefSchema = testContainer.get(PreferenceSchemaProvider);
73
70
  prefService = testContainer.get<PreferenceService>(PreferenceService) as PreferenceServiceImpl;
74
- validator = testContainer.get(PreferenceValidationService);
75
71
  getProvider(PreferenceScope.User).markReady();
76
72
  getProvider(PreferenceScope.Workspace).markReady();
77
73
  getProvider(PreferenceScope.Folder).markReady();
@@ -117,13 +113,13 @@ describe('Preference Proxy', () => {
117
113
  prefSchema.setSchema(s);
118
114
  resolve(s);
119
115
  }, 1000));
120
- const proxy = (testOptions.useFactory || options?.validated)
116
+ const proxy = testOptions.useFactory
121
117
  ? testContainer.get<PreferenceProxyFactory>(PreferenceProxyFactory)(promisedSchema, options)
122
118
  : createPreferenceProxy(prefService, promisedSchema, options);
123
119
  return { proxy, promisedSchema };
124
120
  } else {
125
121
  prefSchema.setSchema(s);
126
- const proxy = (testOptions.useFactory || options?.validated)
122
+ const proxy = testOptions.useFactory
127
123
  ? testContainer.get<PreferenceProxyFactory>(PreferenceProxyFactory)(s, options)
128
124
  : createPreferenceProxy(prefService, s, options);
129
125
  return { proxy };
@@ -271,108 +267,6 @@ describe('Preference Proxy', () => {
271
267
  expect(changesAffectingTypescript, 'One event should have been fired that does affect typescript.').to.equal(1);
272
268
  });
273
269
 
274
- if (testOptions.useFactory) {
275
- async function prepareValidationTest(): Promise<{ proxy: PreferenceProxy<{ [key: string]: unknown }>, validationCallCounter: { calls: number } }> {
276
- const validationCallCounter = { calls: 0 };
277
- const originalValidateByName = validator.validateByName.bind(validator);
278
- function newValidateByName(...args: unknown[]): JSONValue {
279
- validationCallCounter.calls++;
280
- return originalValidateByName(...args);
281
- };
282
- validator.validateByName = newValidateByName;
283
- const { proxy, promisedSchema } = getProxy({
284
- properties: {
285
- 'my.pref': {
286
- type: 'string',
287
- defaultValue: 'foo',
288
- overridable: true,
289
- }
290
- }
291
- }, { style: 'both', validated: true });
292
- await promisedSchema;
293
- return { proxy, validationCallCounter };
294
- }
295
-
296
- it('Validated proxies always return good values.', async () => {
297
- const { proxy, validationCallCounter } = await prepareValidationTest();
298
- let event: PreferenceChangeEvent<{ [key: string]: unknown }> | undefined = undefined;
299
- proxy.onPreferenceChanged(change => event = change);
300
- expect(proxy['my.pref']).to.equal('foo', 'Should start with default value.');
301
- expect(validationCallCounter.calls).to.equal(1, 'Should have validated preference retrieval.');
302
- expect(proxy.get('my.pref')).to.equal('foo', 'Should have default value for `get`.');
303
- expect(validationCallCounter.calls).to.equal(1, 'Should have cached first validation.');
304
- const newValue = 'Also a string';
305
- await prefService.set('my.pref', newValue, PreferenceScope.User);
306
- expect(event !== undefined);
307
- expect(event!.newValue).to.equal(newValue, 'Should accept good value');
308
- expect(validationCallCounter.calls).to.equal(2, 'Should have validated event value');
309
- expect(proxy['my.pref']).to.equal(newValue, 'Should return default value on access.');
310
- expect(proxy.get('my.pref')).to.equal(newValue);
311
- expect(validationCallCounter.calls).to.equal(2, 'Should have used cached value for retrievals');
312
- await prefService.set('my.pref', { complete: 'garbage' }, PreferenceScope.User);
313
- expect(event !== undefined);
314
- expect(event!.newValue).to.equal('foo', 'Should have fallen back to default.');
315
- expect(validationCallCounter.calls).to.equal(3, 'Should have validated event');
316
- expect(proxy['my.pref']).to.equal('foo', 'Should return default value on access.');
317
- expect(proxy.get('my.pref')).to.equal('foo');
318
- expect(validationCallCounter.calls).to.equal(3, 'Should have used cached value for retrievals');
319
- });
320
-
321
- it('Validated proxies only validate one value if multiple language-override events are emitted for the same change', async () => {
322
- const { proxy, validationCallCounter } = await prepareValidationTest();
323
- prefSchema.registerOverrideIdentifier('swift');
324
- prefSchema.registerOverrideIdentifier('typescript');
325
- const events: Array<PreferenceChangeEvent<{ [key: string]: unknown }>> = [];
326
- proxy.onPreferenceChanged(event => events.push(event));
327
- await prefService.set('my.pref', { complete: 'garbage' }, PreferenceScope.User);
328
- expect(validationCallCounter.calls, 'Validation should have been performed once.').to.equal(1);
329
- expect(events).to.have.length(3, 'One event for base, one for each override');
330
- expect(events.every(event => event.newValue === 'foo'), 'Should have returned the default in case of garbage.');
331
- });
332
-
333
- it("Validated proxies don't retain old values for overrides after a change (no emitter).", async () => {
334
- const { proxy, validationCallCounter } = await prepareValidationTest();
335
- prefSchema.registerOverrideIdentifier('swift');
336
- const initialValue = proxy.get({ preferenceName: 'my.pref', overrideIdentifier: 'swift' });
337
- expect(initialValue).to.equal('foo', 'Proxy should start with default value.');
338
- expect(validationCallCounter.calls).to.equal(1, 'Retrieval should validate (1).');
339
- await prefService.set('my.pref', 'bar', PreferenceScope.User);
340
- expect(proxy.get('my.pref')).to.equal('bar', 'The base should have been updated.');
341
- expect(validationCallCounter.calls).to.equal(2, 'Retrieval should validate (2).');
342
- expect(proxy.get({ preferenceName: 'my.pref', overrideIdentifier: 'swift' })).to.equal('bar', 'Proxy should update empty overrides on change.');
343
- expect(validationCallCounter.calls).to.equal(3, 'Retrieval should validate (3).');
344
- });
345
-
346
- // The scenario with a listener differs because the proxy will start caching known valid values when a listener is attached.
347
- it("Validated proxies don't retain old values for overrides after a change (with emitter)", async () => {
348
- const { proxy, validationCallCounter } = await prepareValidationTest();
349
- prefSchema.registerOverrideIdentifier('swift');
350
- const override = { preferenceName: 'my.pref', overrideIdentifier: 'swift' };
351
- proxy.onPreferenceChanged; // Initialize the listeners.
352
- const initialValue = proxy.get(override);
353
- expect(initialValue).to.equal('foo', 'Proxy should start with default value.');
354
- expect(validationCallCounter.calls).to.equal(1, 'Retrieval should validate.');
355
-
356
- await prefService.set('my.pref', 'bar', PreferenceScope.User);
357
- expect(validationCallCounter.calls).to.equal(2, 'Event should trigger validation (1).');
358
- expect(proxy.get('my.pref')).to.equal('bar', 'The base should have been updated.');
359
- expect(proxy.get(override)).to.equal('bar', 'Proxy should update empty overrides on change.');
360
- expect(validationCallCounter.calls).to.equal(2, 'Subsequent retrievals should not trigger validation. (1)');
361
-
362
- await prefService.set(prefService.overridePreferenceName(override), 'baz', PreferenceScope.User);
363
- expect(validationCallCounter.calls).to.equal(3, 'Event should trigger validation (2).');
364
- expect(proxy.get('my.pref')).to.equal('bar', 'Base should not have been updated.');
365
- expect(proxy.get(override)).to.equal('baz', 'Override should have been updated');
366
- expect(validationCallCounter.calls).to.equal(3, 'Subsequent retrievals should not trigger validation. (2)');
367
-
368
- await prefService.set('my.pref', 'boom', PreferenceScope.User);
369
- expect(validationCallCounter.calls).to.equal(4, 'Event should trigger validation (3).');
370
- expect(proxy.get('my.pref')).to.equal('boom', 'Base should have been updated.');
371
- expect(proxy.get(override)).to.equal('baz', 'Override should not have been updated');
372
- expect(validationCallCounter.calls).to.equal(4, 'Subsequent retrievals should not trigger validation. (3)');
373
- });
374
- }
375
-
376
270
  it('toJSON with deep', async () => {
377
271
  const { proxy, promisedSchema } = getProxy({
378
272
  properties: {
@@ -151,10 +151,6 @@ export interface PreferenceProxyOptions {
151
151
  * Indicates whether the proxy should be disposable. Proxies that are shared between multiple callers should not be disposable.
152
152
  */
153
153
  isDisposable?: boolean;
154
- /**
155
- * Indicates whether the proxy will validate values before returning them to clients.
156
- */
157
- validated?: boolean;
158
154
  }
159
155
 
160
156
  /**
@@ -1,21 +0,0 @@
1
- import { JSONValue } from '@phosphor/coreutils';
2
- import { InjectablePreferenceProxy } from './injectable-preference-proxy';
3
- import { OverridePreferenceName } from './preference-language-override-service';
4
- import { PreferenceChanges } from './preference-service';
5
- import { PreferenceValidationService } from './preference-validation-service';
6
- export declare class ValidatedPreferenceProxy<T extends Record<string, JSONValue>> extends InjectablePreferenceProxy<T> {
7
- protected readonly validator: PreferenceValidationService;
8
- /**
9
- * This map should be initialized only when the proxy starts listening to events from the PreferenceService in {@link ValidatedPreferenceProxy.subscribeToChangeEvents}.
10
- * Otherwise, it can't guarantee that the cache will remain up-to-date and is better off just retrieving the value.
11
- */
12
- protected validPreferences?: Map<string, JSONValue>;
13
- protected handlePreferenceChanges(changes: PreferenceChanges): void;
14
- getValue<K extends keyof T & string>(preferenceIdentifier: K | (OverridePreferenceName & {
15
- preferenceName: K;
16
- }), defaultValue: T[K], resourceUri?: string | undefined): T[K];
17
- protected ensureValid<K extends keyof T & string>(preferenceName: K, getCandidate: () => T[K], isChange?: boolean): T[K];
18
- protected subscribeToChangeEvents(): void;
19
- dispose(): void;
20
- }
21
- //# sourceMappingURL=validated-preference-proxy.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validated-preference-proxy.d.ts","sourceRoot":"","sources":["../../../src/browser/preferences/validated-preference-proxy.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAE9E,qBACa,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAE,SAAQ,yBAAyB,CAAC,CAAC,CAAC;IACtE,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,2BAA2B,CAAC;IAE/F;;;OAGG;IACH,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;cAEjC,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI;IAgDnE,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACxC,oBAAoB,EAAE,CAAC,GAAG,CAAC,sBAAsB,GAAG;QAAE,cAAc,EAAE,CAAC,CAAC;KAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,qBAAmB,GAChI,CAAC,CAAC,CAAC,CAAC;IAKP,SAAS,CAAC,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC;cAUrG,uBAAuB,IAAI,IAAI;IAKzC,OAAO,IAAI,IAAI;CAM3B"}
@@ -1,118 +0,0 @@
1
- "use strict";
2
- // *****************************************************************************
3
- // Copyright (C) 2022 Ericsson and others.
4
- //
5
- // This program and the accompanying materials are made available under the
6
- // terms of the Eclipse Public License v. 2.0 which is available at
7
- // http://www.eclipse.org/legal/epl-2.0.
8
- //
9
- // This Source Code may also be made available under the following Secondary
10
- // Licenses when the conditions for such availability set forth in the Eclipse
11
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
12
- // with the GNU Classpath Exception which is available at
13
- // https://www.gnu.org/software/classpath/license.html.
14
- //
15
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
16
- // *****************************************************************************
17
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
18
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
19
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
20
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
21
- return c > 3 && r && Object.defineProperty(target, key, r), r;
22
- };
23
- var __metadata = (this && this.__metadata) || function (k, v) {
24
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
25
- };
26
- Object.defineProperty(exports, "__esModule", { value: true });
27
- exports.ValidatedPreferenceProxy = void 0;
28
- const inversify_1 = require("inversify");
29
- const injectable_preference_proxy_1 = require("./injectable-preference-proxy");
30
- const preference_language_override_service_1 = require("./preference-language-override-service");
31
- const preference_provider_1 = require("./preference-provider");
32
- const preference_validation_service_1 = require("./preference-validation-service");
33
- let ValidatedPreferenceProxy = class ValidatedPreferenceProxy extends injectable_preference_proxy_1.InjectablePreferenceProxy {
34
- handlePreferenceChanges(changes) {
35
- var _a, _b;
36
- if (this.schema) {
37
- ;
38
- const overrideTracker = new Map();
39
- for (const change of Object.values(changes)) {
40
- const overridden = this.preferences.overriddenPreferenceName(change.preferenceName);
41
- if (this.isRelevantChange(change, overridden)) {
42
- let doSet = false;
43
- const baseName = (_a = overridden === null || overridden === void 0 ? void 0 : overridden.preferenceName) !== null && _a !== void 0 ? _a : change.preferenceName;
44
- const tracker = (_b = overrideTracker.get(baseName)) !== null && _b !== void 0 ? _b : (doSet = true, { overrides: [] });
45
- if (overridden) {
46
- tracker.overrides.push(overridden);
47
- }
48
- if (doSet) {
49
- overrideTracker.set(baseName, tracker);
50
- }
51
- }
52
- }
53
- for (const [baseName, tracker] of overrideTracker.entries()) {
54
- const validated = [];
55
- // This could go wrong if someone sets a lot of different, complex values for different language overrides simultaneously.
56
- // In the normal case, we'll just be doing strict equal checks on primitives.
57
- const getValidValue = (name) => {
58
- var _a;
59
- const configuredForCurrent = changes[name].newValue;
60
- const existingValue = validated.find(([configuredForValid]) => preference_provider_1.PreferenceProvider.deepEqual(configuredForValid, configuredForCurrent));
61
- if (existingValue) {
62
- (_a = this.validPreferences) === null || _a === void 0 ? void 0 : _a.set(name, existingValue[1]);
63
- return existingValue[1];
64
- }
65
- const validValue = this.ensureValid(name, () => configuredForCurrent, true);
66
- validated.push([configuredForCurrent, validValue]);
67
- return validValue;
68
- };
69
- if (baseName in changes && this.isRelevantChange(changes[baseName])) {
70
- const newValue = getValidValue(baseName);
71
- const { domain, oldValue, preferenceName, scope } = changes[baseName];
72
- this.fireChangeEvent(this.buildNewChangeEvent({ domain, oldValue, preferenceName, scope, newValue }));
73
- }
74
- for (const override of tracker.overrides) {
75
- const name = this.preferences.overridePreferenceName(override);
76
- const { domain, oldValue, preferenceName, scope } = changes[name];
77
- const newValue = getValidValue(name);
78
- this.fireChangeEvent(this.buildNewChangeEvent({ domain, oldValue, preferenceName, scope, newValue }, override));
79
- }
80
- }
81
- }
82
- }
83
- getValue(preferenceIdentifier, defaultValue, resourceUri = this.resourceUri) {
84
- const preferenceName = preference_language_override_service_1.OverridePreferenceName.is(preferenceIdentifier) ? this.preferences.overridePreferenceName(preferenceIdentifier) : preferenceIdentifier;
85
- return this.ensureValid(preferenceName, () => { var _a; return ((_a = super.getValue(preferenceIdentifier, defaultValue, resourceUri)) !== null && _a !== void 0 ? _a : defaultValue); }, false);
86
- }
87
- ensureValid(preferenceName, getCandidate, isChange) {
88
- var _a, _b;
89
- if (!isChange && ((_a = this.validPreferences) === null || _a === void 0 ? void 0 : _a.has(preferenceName))) {
90
- return this.validPreferences.get(preferenceName);
91
- }
92
- const candidate = getCandidate();
93
- const valid = this.validator.validateByName(preferenceName, candidate);
94
- (_b = this.validPreferences) === null || _b === void 0 ? void 0 : _b.set(preferenceName, valid);
95
- return valid;
96
- }
97
- subscribeToChangeEvents() {
98
- var _a;
99
- (_a = this.validPreferences) !== null && _a !== void 0 ? _a : (this.validPreferences = new Map());
100
- super.subscribeToChangeEvents();
101
- }
102
- dispose() {
103
- var _a;
104
- super.dispose();
105
- if (this.options.isDisposable) {
106
- (_a = this.validPreferences) === null || _a === void 0 ? void 0 : _a.clear();
107
- }
108
- }
109
- };
110
- __decorate([
111
- (0, inversify_1.inject)(preference_validation_service_1.PreferenceValidationService),
112
- __metadata("design:type", preference_validation_service_1.PreferenceValidationService)
113
- ], ValidatedPreferenceProxy.prototype, "validator", void 0);
114
- ValidatedPreferenceProxy = __decorate([
115
- (0, inversify_1.injectable)()
116
- ], ValidatedPreferenceProxy);
117
- exports.ValidatedPreferenceProxy = ValidatedPreferenceProxy;
118
- //# sourceMappingURL=validated-preference-proxy.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validated-preference-proxy.js","sourceRoot":"","sources":["../../../src/browser/preferences/validated-preference-proxy.ts"],"names":[],"mappings":"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"}
@@ -1,111 +0,0 @@
1
- // *****************************************************************************
2
- // Copyright (C) 2022 Ericsson and others.
3
- //
4
- // This program and the accompanying materials are made available under the
5
- // terms of the Eclipse Public License v. 2.0 which is available at
6
- // http://www.eclipse.org/legal/epl-2.0.
7
- //
8
- // This Source Code may also be made available under the following Secondary
9
- // Licenses when the conditions for such availability set forth in the Eclipse
10
- // Public License v. 2.0 are satisfied: GNU General Public License, version 2
11
- // with the GNU Classpath Exception which is available at
12
- // https://www.gnu.org/software/classpath/license.html.
13
- //
14
- // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
15
- // *****************************************************************************
16
-
17
- import { JSONValue } from '@phosphor/coreutils';
18
- import { inject, injectable } from 'inversify';
19
- import { InjectablePreferenceProxy } from './injectable-preference-proxy';
20
- import { OverridePreferenceName } from './preference-language-override-service';
21
- import { PreferenceProvider } from './preference-provider';
22
- import { PreferenceChanges } from './preference-service';
23
- import { PreferenceValidationService } from './preference-validation-service';
24
-
25
- @injectable()
26
- export class ValidatedPreferenceProxy<T extends Record<string, JSONValue>> extends InjectablePreferenceProxy<T> {
27
- @inject(PreferenceValidationService) protected readonly validator: PreferenceValidationService;
28
-
29
- /**
30
- * This map should be initialized only when the proxy starts listening to events from the PreferenceService in {@link ValidatedPreferenceProxy.subscribeToChangeEvents}.
31
- * Otherwise, it can't guarantee that the cache will remain up-to-date and is better off just retrieving the value.
32
- */
33
- protected validPreferences?: Map<string, JSONValue>;
34
-
35
- protected override handlePreferenceChanges(changes: PreferenceChanges): void {
36
- if (this.schema) {
37
- interface TrackedOverrides { overrides: OverridePreferenceName[] };
38
- const overrideTracker: Map<string, TrackedOverrides> = new Map();
39
- for (const change of Object.values(changes)) {
40
- const overridden = this.preferences.overriddenPreferenceName(change.preferenceName);
41
- if (this.isRelevantChange(change, overridden)) {
42
- let doSet = false;
43
- const baseName = overridden?.preferenceName ?? change.preferenceName;
44
- const tracker: TrackedOverrides = overrideTracker.get(baseName) ?? (doSet = true, { overrides: [] });
45
- if (overridden) {
46
- tracker.overrides.push(overridden);
47
- }
48
- if (doSet) {
49
- overrideTracker.set(baseName, tracker);
50
- }
51
- }
52
- }
53
- for (const [baseName, tracker] of overrideTracker.entries()) {
54
- const validated: Array<[JSONValue, JSONValue]> = [];
55
- // This could go wrong if someone sets a lot of different, complex values for different language overrides simultaneously.
56
- // In the normal case, we'll just be doing strict equal checks on primitives.
57
- const getValidValue = (name: string): JSONValue => {
58
- const configuredForCurrent = changes[name].newValue;
59
- const existingValue = validated.find(([configuredForValid]) => PreferenceProvider.deepEqual(configuredForValid, configuredForCurrent));
60
- if (existingValue) {
61
- this.validPreferences?.set(name, existingValue[1]);
62
- return existingValue[1];
63
- }
64
- const validValue = this.ensureValid(name, () => configuredForCurrent, true);
65
- validated.push([configuredForCurrent, validValue]);
66
- return validValue;
67
- };
68
- if (baseName in changes && this.isRelevantChange(changes[baseName])) {
69
- const newValue = getValidValue(baseName);
70
- const { domain, oldValue, preferenceName, scope } = changes[baseName];
71
- this.fireChangeEvent(this.buildNewChangeEvent({ domain, oldValue, preferenceName, scope, newValue }));
72
- }
73
- for (const override of tracker.overrides) {
74
- const name = this.preferences.overridePreferenceName(override);
75
- const { domain, oldValue, preferenceName, scope } = changes[name];
76
- const newValue = getValidValue(name);
77
- this.fireChangeEvent(this.buildNewChangeEvent({ domain, oldValue, preferenceName, scope, newValue }, override));
78
- }
79
- }
80
- }
81
- }
82
-
83
- override getValue<K extends keyof T & string>(
84
- preferenceIdentifier: K | (OverridePreferenceName & { preferenceName: K; }), defaultValue: T[K], resourceUri = this.resourceUri
85
- ): T[K] {
86
- const preferenceName = OverridePreferenceName.is(preferenceIdentifier) ? this.preferences.overridePreferenceName(preferenceIdentifier) : preferenceIdentifier as string;
87
- return this.ensureValid(preferenceName, () => (super.getValue(preferenceIdentifier, defaultValue, resourceUri) ?? defaultValue), false) as T[K];
88
- }
89
-
90
- protected ensureValid<K extends keyof T & string>(preferenceName: K, getCandidate: () => T[K], isChange?: boolean): T[K] {
91
- if (!isChange && this.validPreferences?.has(preferenceName)) {
92
- return this.validPreferences.get(preferenceName) as T[K];
93
- }
94
- const candidate = getCandidate();
95
- const valid = this.validator.validateByName(preferenceName, candidate) as T[K];
96
- this.validPreferences?.set(preferenceName, valid);
97
- return valid;
98
- }
99
-
100
- protected override subscribeToChangeEvents(): void {
101
- this.validPreferences ??= new Map();
102
- super.subscribeToChangeEvents();
103
- }
104
-
105
- override dispose(): void {
106
- super.dispose();
107
- if (this.options.isDisposable) {
108
- this.validPreferences?.clear();
109
- }
110
- }
111
- }