@intersystems-community/ascot 0.4.1 → 0.4.3

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
@@ -91,6 +91,8 @@ as in the Language Server Protocol.
91
91
  | ----------------------------------------------- | ----------------------------------------------------- |
92
92
  | `open(uri, text)` | uris whose analysis is now stale |
93
93
  | `close(uri)` | uris whose analysis is now stale |
94
+ | `setEnv(iris?)` | every uri: a new server stales all analysis |
95
+ | `setStyle(style?)` | every uri: a new style stales every check |
94
96
  | `diagnostics(uri)` | `Diagnostic[]` |
95
97
  | `inlayHint(uri, range)` | `InlayHint[]` |
96
98
  | `definition(uri, position)` | `Location \| undefined` |
package/dist/index.d.ts CHANGED
@@ -6,7 +6,10 @@ type RawWorkspace = InstanceType<Root["exported"]["Workspace"]>;
6
6
  /** Every method of the wasm `Workspace`, as `createWorkspace` hands it out: all async, since
7
7
  * `serialize` below queues each call behind the previous one. */
8
8
  export type Workspace = {
9
- [K in keyof RawWorkspace]: RawWorkspace[K] extends (...args: infer A) => infer R ? (...args: A) => Promise<Awaited<R>> : RawWorkspace[K];
9
+ [K in Exclude<keyof RawWorkspace, "setEnv">]: RawWorkspace[K] extends (...args: infer A) => infer R ? (...args: A) => Promise<Awaited<R>> : RawWorkspace[K];
10
+ } & {
11
+ /** Replaces the server; every uri comes back stale. Takes what `createWorkspace` takes. */
12
+ setEnv(iris?: IrisContext | Atelier): Promise<string[]>;
10
13
  };
11
14
  /** What ascot asks about code outside the workspace. A failed lookup throws; ascot then takes
12
15
  * what it looked for on trust and says why. */
package/dist/index.js CHANGED
@@ -84,6 +84,8 @@ function serialize(instance) {
84
84
  if (typeof value !== "function")
85
85
  return value;
86
86
  return async (...args) => {
87
+ if (prop === "setEnv")
88
+ args = [envOf(args[0])];
87
89
  const prev = tail;
88
90
  let release;
89
91
  tail = new Promise((resolve) => (release = resolve));
@@ -101,10 +103,12 @@ function serialize(instance) {
101
103
  /** A workspace whose calls run one at a time, resolving what it doesn't contain through `iris`. */
102
104
  async function createWorkspace(iris, style) {
103
105
  const root = await wasm;
104
- const env = iris instanceof Atelier
106
+ return serialize(new root.exported.Workspace(envOf(iris), style));
107
+ }
108
+ function envOf(iris) {
109
+ return iris instanceof Atelier
105
110
  ? { tag: "atelier", val: new FailingAtelier(iris) }
106
111
  : iris && { tag: "context", val: new FailingContext(iris) };
107
- return serialize(new root.exported.Workspace(env, style));
108
112
  }
109
113
  // jco rethrows a thrown `Error` to the caller, and hands ascot only a thrown `{ payload }` as the
110
114
  // failure; so what the host throws becomes one.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,EAAE,oCAAgB;AAC9B,MAAY,IAAI,sCAAkB;AA6BlC;+CAC+C;AAC/C;IACC,0CAA0C;IAC1C,KAAK,CAAC,MAAM,CAAC,IAAY;QACxB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,8BAA8B;IAC9B,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,6EAA6E;IAC7E,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;IAC9C,CAAC;CACD;;AAED;2CAC2C;AAC3C;IACC,wFAAwF;IACxF,KAAK,CAAC,KAAK,CAAC,IAAY,EAAE,OAAiB;QAC1C,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;IACD,2EAA2E;IAC3E,KAAK,CAAC,MAAM,CAAC,KAAa;QACzB,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IACvC,CAAC;CACD;;AAED,MAAM,IAAI,GAAkB,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CACpF,WAAW,CACV,CAAC,IAAY,EAAE,EAAE,CAChB,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EACjF;IACC,mBAAmB,EAAE,EAAE;IACvB,qBAAqB,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE;CACtC,CACV,CACD,CAAC;AACF,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,sCAAsC;AAE5D,qFAAqF;AACrF,qFAAqF;AACrF,wFAAwF;AACxF,kEAAkE;AAClE,IAAI,IAAI,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;AAE5C,SAAS,SAAS,CAAC,QAAsB;IACxC,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE;QAC1B,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAClD,IAAI,OAAO,KAAK,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;YAC9C,OAAO,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;gBACnC,MAAM,IAAI,GAAG,IAAI,CAAC;gBAClB,IAAI,OAAoB,CAAC;gBACzB,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC;gBAC3D,MAAM,IAAI,CAAC;gBACX,IAAI,CAAC;oBACJ,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACxC,CAAC;wBAAS,CAAC;oBACV,OAAO,EAAE,CAAC;gBACX,CAAC;YACF,CAAC,CAAC;QACH,CAAC;KACD,CAAyB,CAAC;AAC5B,CAAC;AAED,mGAAmG;AAC5F,KAAK,0BACX,IAA4B,EAC5B,KAAa;IAEb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IACxB,MAAM,GAAG,GACR,IAAI,YAAY,OAAO;QACtB,CAAC,CAAC,EAAE,GAAG,EAAE,SAAkB,EAAE,GAAG,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE;QAC5D,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE,SAAkB,EAAE,GAAG,EAAE,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;IACvE,OAAO,SAAS,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,kGAAkG;AAClG,gDAAgD;AAChD,MAAM,cAAe,SAAQ,WAAW;IACV,KAAK;IAAlC,YAA6B,KAAkB;QAC9C,KAAK,EAAE,CAAC;qBADoB,KAAK;IAElC,CAAC;IACQ,MAAM,CAAC,GAAW;QAC1B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,CAAC;IACQ,MAAM,CAAC,IAAY;QAC3B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;IACQ,MAAM,CAAC,IAAY;QAC3B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;CACD;AAED,MAAM,cAAe,SAAQ,OAAO;IACN,KAAK;IAAlC,YAA6B,KAAc;QAC1C,KAAK,EAAE,CAAC;qBADoB,KAAK;IAElC,CAAC;IACQ,KAAK,CAAC,GAAW,EAAE,MAAgB;QAC3C,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IACrD,CAAC;IACQ,MAAM,CAAC,IAAY;QAC3B,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,CAAC;CACD;AAED,KAAK,UAAU,OAAO,CAAI,OAAyB;IAClD,IAAI,CAAC;QACJ,OAAO,MAAM,OAAO,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACZ,MAAM,EAAE,OAAO,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}