@delight-rpc/long-running-procedure 0.5.2 → 0.5.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.
@@ -1,3 +1,4 @@
1
+ import { throwIfAborted } from './utils.js';
1
2
  export class LongRunningProcedureCaller {
2
3
  constructor(procedure) {
3
4
  this.procedure = procedure;
@@ -5,7 +6,7 @@ export class LongRunningProcedureCaller {
5
6
  async call(...args) {
6
7
  const realArgs = args.slice(0, args.length - 1);
7
8
  const signal = args[args.length - 1];
8
- signal.throwIfAborted();
9
+ throwIfAborted(signal);
9
10
  const id = await this.procedure.call(realArgs);
10
11
  try {
11
12
  if (signal.aborted) {
@@ -1 +1 @@
1
- {"version":3,"file":"long-running-procedure-caller.js","sourceRoot":"","sources":["../src/long-running-procedure-caller.ts"],"names":[],"mappings":"AAOA,MAAM,OAAO,0BAA0B;IAErC,YAAoB,SAA8C;QAA9C,cAAS,GAAT,SAAS,CAAqC;IAAG,CAAC;IAEtE,KAAK,CAAC,IAAI,CAAC,GAAG,IAA0C;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAS,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAA;QACnD,MAAM,CAAC,cAAc,EAAE,CAAA;QAEvB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"long-running-procedure-caller.js","sourceRoot":"","sources":["../src/long-running-procedure-caller.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAM3C,MAAM,OAAO,0BAA0B;IAErC,YAAoB,SAA8C;QAA9C,cAAS,GAAT,SAAS,CAAqC;IAAG,CAAC;IAEtE,KAAK,CAAC,IAAI,CAAC,GAAG,IAA0C;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAS,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAA;QACnD,cAAc,CAAC,MAAM,CAAC,CAAA;QAEtB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;CACF"}
@@ -1,5 +1,6 @@
1
1
  import { delay } from 'extra-promise';
2
2
  import { CallState } from './contract.js';
3
+ import { throwIfAborted } from './utils.js';
3
4
  export class LongRunningProcedurePollingCaller {
4
5
  constructor(procedure, pollingInterval) {
5
6
  this.procedure = procedure;
@@ -8,7 +9,7 @@ export class LongRunningProcedurePollingCaller {
8
9
  async call(...args) {
9
10
  const realArgs = args.slice(0, args.length - 1);
10
11
  const signal = args[args.length - 1];
11
- signal.throwIfAborted();
12
+ throwIfAborted(signal);
12
13
  const id = await this.procedure.call(realArgs);
13
14
  try {
14
15
  if (signal.aborted) {
@@ -1 +1 @@
1
- {"version":3,"file":"long-running-procedure-polling-caller.js","sourceRoot":"","sources":["../src/long-running-procedure-polling-caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAyB,SAAS,EAAE,MAAM,eAAe,CAAA;AAOhE,MAAM,OAAO,iCAAiC;IAE5C,YACU,SAA8C,EAC9C,eAAuB;QADvB,cAAS,GAAT,SAAS,CAAqC;QAC9C,oBAAe,GAAf,eAAe,CAAQ;IAC9B,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,GAAG,IAA0C;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAS,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAA;QACnD,MAAM,CAAC,cAAc,EAAE,CAAA;QAEvB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAE/C,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvB,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;wBACjC,MAAK;oBACP,CAAC;oBACD,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"long-running-procedure-polling-caller.js","sourceRoot":"","sources":["../src/long-running-procedure-polling-caller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AACrC,OAAO,EAAyB,SAAS,EAAE,MAAM,eAAe,CAAA;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAM3C,MAAM,OAAO,iCAAiC;IAE5C,YACU,SAA8C,EAC9C,eAAuB;QADvB,cAAS,GAAT,SAAS,CAAqC;QAC9C,oBAAe,GAAf,eAAe,CAAQ;IAC9B,CAAC;IAEJ,KAAK,CAAC,IAAI,CAAC,GAAG,IAA0C;QACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAS,CAAA;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAgB,CAAA;QACnD,cAAc,CAAC,MAAM,CAAC,CAAA;QAEtB,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;YAChC,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAC1C,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;gBAChC,CAAC,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,IAAI,EAAE,CAAC;gBACZ,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAE/C,QAAQ,KAAK,EAAE,CAAC;oBACd,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvB,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;wBACjC,MAAK;oBACP,CAAC;oBACD,KAAK,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;wBACvB,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;oBAC3C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;QACjC,CAAC;IACH,CAAC;CACF"}
package/lib/utils.d.ts ADDED
@@ -0,0 +1 @@
1
+ export declare function throwIfAborted(signal: AbortSignal): void;
package/lib/utils.js ADDED
@@ -0,0 +1,13 @@
1
+ import { isntUndefined } from '@blackglory/prelude';
2
+ import { AbortError } from 'extra-abort';
3
+ export function throwIfAborted(signal) {
4
+ if (signal.aborted) {
5
+ if (isntUndefined(signal.reason)) {
6
+ throw signal.reason;
7
+ }
8
+ else {
9
+ throw new AbortError();
10
+ }
11
+ }
12
+ }
13
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,MAAM,UAAU,cAAc,CAAC,MAAmB;IAChD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,CAAC,MAAM,CAAA;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,UAAU,EAAE,CAAA;QACxB,CAAC;IACH,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@delight-rpc/long-running-procedure",
3
- "version": "0.5.2",
3
+ "version": "0.5.3",
4
4
  "description": "",
5
5
  "files": [
6
6
  "lib",
@@ -1,5 +1,6 @@
1
1
  import { ILongRunningProcedure } from './contract.js'
2
2
  import { ILongRunningProcedureCaller } from './types.js'
3
+ import { throwIfAborted } from './utils.js'
3
4
 
4
5
  /**
5
6
  * 以长连接方式接收长时运行过程的结果, 结果会尽快返回.
@@ -12,7 +13,7 @@ implements ILongRunningProcedureCaller<Args, Result> {
12
13
  async call(...args: [...args: Args, signal: AbortSignal]): Promise<Result> {
13
14
  const realArgs = args.slice(0, args.length - 1) as Args
14
15
  const signal = args[args.length - 1] as AbortSignal
15
- signal.throwIfAborted()
16
+ throwIfAborted(signal)
16
17
 
17
18
  const id = await this.procedure.call(realArgs)
18
19
  try {
@@ -1,6 +1,7 @@
1
1
  import { delay } from 'extra-promise'
2
2
  import { ILongRunningProcedure, CallState } from './contract.js'
3
3
  import { ILongRunningProcedureCaller } from './types.js'
4
+ import { throwIfAborted } from './utils.js'
4
5
 
5
6
  /**
6
7
  * 以轮询方式接收长时运行过程的结果, 这无法尽快返回结果.
@@ -16,7 +17,7 @@ implements ILongRunningProcedureCaller<Args, Result> {
16
17
  async call(...args: [...args: Args, signal: AbortSignal]): Promise<Result> {
17
18
  const realArgs = args.slice(0, args.length - 1) as Args
18
19
  const signal = args[args.length - 1] as AbortSignal
19
- signal.throwIfAborted()
20
+ throwIfAborted(signal)
20
21
 
21
22
  const id = await this.procedure.call(realArgs)
22
23
  try {
package/src/utils.ts ADDED
@@ -0,0 +1,12 @@
1
+ import { isntUndefined } from '@blackglory/prelude'
2
+ import { AbortError } from 'extra-abort'
3
+
4
+ export function throwIfAborted(signal: AbortSignal): void {
5
+ if (signal.aborted) {
6
+ if (isntUndefined(signal.reason)) {
7
+ throw signal.reason
8
+ } else {
9
+ throw new AbortError()
10
+ }
11
+ }
12
+ }