@pnp/queryable 3.3.2 → 3.4.1

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 +1 @@
1
- {"version":3,"file":"browser-fetch.d.ts","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/browser-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAS,YAAY,EAAE,MAAM,WAAW,CAAC;AAGhD,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAuB/E;AAED,UAAU,0BAA2B,SAAQ,iBAAiB;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,0BAA0B,GAAG,YAAY,CAAC,SAAS,CAAC,CAsFjG"}
1
+ {"version":3,"file":"browser-fetch.d.ts","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/browser-fetch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAS,YAAY,EAAE,MAAM,WAAW,CAAC;AAGhD,UAAU,iBAAiB;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,YAAY,CAAC,KAAK,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,SAAS,CAAC,CAuB/E;AAED,UAAU,0BAA2B,SAAQ,iBAAiB;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,qBAAqB,CAAC,KAAK,CAAC,EAAE,0BAA0B,GAAG,YAAY,CAAC,SAAS,CAAC,CA4FjG"}
@@ -63,6 +63,10 @@ export function BrowserFetchWithRetry(props) {
63
63
  return response.ok ? response : retry();
64
64
  }
65
65
  catch (err) {
66
+ if (/AbortError/.test(err.name)) {
67
+ // don't retry aborted requests
68
+ throw err;
69
+ }
66
70
  // if there is no network the response is undefined and err is all we have
67
71
  // so we grab the err and save it to throw if we exceed the number of retries
68
72
  // #2226 first reported this
@@ -1 +1 @@
1
- {"version":3,"file":"browser-fetch.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/browser-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-fetch.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/browser-fetch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { TimelinePipe } from "@pnp/core";
2
+ import { Queryable } from "../queryable.js";
3
+ export declare type CancelablePromise<T = any> = Promise<T> & {
4
+ cancel(): void;
5
+ };
6
+ /**
7
+ * Defines the signature for observers subscribing to the cancelable moment
8
+ */
9
+ export declare type CancelableObserver = (this: Queryable) => Promise<void>;
10
+ /**
11
+ * Function wrapper that turns the supplied function into a cancellation scope
12
+ *
13
+ * @param func Func to wrap
14
+ * @returns The same func signature, wrapped with our cancel scoping logic
15
+ */
16
+ export declare const asCancelableScope: <T extends any[], U>(func: (...args: T) => U) => (...args: T) => U;
17
+ /**
18
+ * Decorator used to mark multi-step methods to ensure all subrequests are properly cancelled
19
+ */
20
+ export declare function cancelableScope(_target: any, _propertyKey: string, descriptor: PropertyDescriptor): void;
21
+ /**
22
+ * Allows requests to be canceled by the caller by adding a cancel method to the Promise returned by the library
23
+ *
24
+ * @returns Timeline pipe to setup canelability
25
+ */
26
+ export declare function Cancelable(): TimelinePipe<Queryable>;
27
+ /**
28
+ * Allows you to define an action that is run when a request is cancelled
29
+ *
30
+ * @param action The action to run
31
+ * @returns A timeline pipe used in the request lifecycle
32
+ */
33
+ export declare function CancelAction(action: CancelableObserver): TimelinePipe<Queryable>;
34
+ //# sourceMappingURL=cancelable.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelable.d.ts","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/cancelable.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,YAAY,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAM5C,oBAAY,iBAAiB,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG;IAAE,MAAM,IAAI,IAAI,CAAA;CAAE,CAAC;AAOzE;;GAEG;AACH,oBAAY,kBAAkB,GAAG,CAAC,IAAI,EAAE,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAEpE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,oEA4B7B,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,kBAAkB,QAGjG;AAyBD;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,YAAY,CAAC,SAAS,CAAC,CAyDpD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CAAC,SAAS,CAAC,CAoBhF"}
@@ -0,0 +1,134 @@
1
+ import { asyncBroadcast, isFunc } from "@pnp/core";
2
+ // this is a special moment used to broadcast when a request is canceled
3
+ const CancelMoment = "__CancelMoment__";
4
+ // these values are used to track module state while in a scope
5
+ let inScope = false;
6
+ const scopeActions = [];
7
+ let definedCancel;
8
+ /**
9
+ * Function wrapper that turns the supplied function into a cancellation scope
10
+ *
11
+ * @param func Func to wrap
12
+ * @returns The same func signature, wrapped with our cancel scoping logic
13
+ */
14
+ export const asCancelableScope = (func) => {
15
+ // this needs to include the parameter types, etc and return a wrapped function
16
+ return function (...args) {
17
+ // set that we are in a scope
18
+ inScope = true;
19
+ // execute the original function
20
+ const result = func.apply(this, args);
21
+ // if result is async we need to attach the cancel to the promise
22
+ if (typeof (result === null || result === void 0 ? void 0 : result.finally) === "function") {
23
+ // ensure we have cancel set to use the current scope's cancel function
24
+ // we rely on the timing of the Cancelable behavior logic completing in the above
25
+ // func.apply so that scopeCancel is set
26
+ result.cancel = definedCancel;
27
+ result.finally(() => {
28
+ // we need to clean up even when the promise is not cancelled, so we attach a finally handler
29
+ inScope = false;
30
+ scopeActions.length = 0;
31
+ });
32
+ }
33
+ return result;
34
+ };
35
+ };
36
+ /**
37
+ * Decorator used to mark multi-step methods to ensure all subrequests are properly cancelled
38
+ */
39
+ export function cancelableScope(_target, _propertyKey, descriptor) {
40
+ // wrapping the original method
41
+ descriptor.value = asCancelableScope(descriptor.value);
42
+ }
43
+ /**
44
+ * This method is partially bound and used as the cancel method exposed to the user via cancelable promise
45
+ *
46
+ * @param this Current queryable
47
+ * @param controller The controller associated with this cancel method
48
+ */
49
+ async function cancelPrimitive(controller) {
50
+ definedCancel = undefined;
51
+ if (inScope) {
52
+ // ensure we register our scope level actions before we emit
53
+ scopeActions.map(action => this.on[CancelMoment](action));
54
+ }
55
+ try {
56
+ await this.emit[CancelMoment]();
57
+ }
58
+ catch (e) {
59
+ this.log(`Error in CancelMoment: ${(e === null || e === void 0 ? void 0 : e.message) || "unknown"}`);
60
+ }
61
+ controller.abort();
62
+ }
63
+ /**
64
+ * Allows requests to be canceled by the caller by adding a cancel method to the Promise returned by the library
65
+ *
66
+ * @returns Timeline pipe to setup canelability
67
+ */
68
+ export function Cancelable() {
69
+ if (!AbortController) {
70
+ throw Error("The current environment appears to not support AbortController, please include a suitable polyfill.");
71
+ }
72
+ return (instance) => {
73
+ let signal;
74
+ // init our queryable to support cancellation
75
+ instance.on.init(function () {
76
+ // define the moment's implementation
77
+ this.moments[CancelMoment] = asyncBroadcast();
78
+ // this event will run before pre in the lifecycle, so signal should be properly set
79
+ this.on[this.InternalPromise]((promise) => {
80
+ if (inScope && isFunc(definedCancel)) {
81
+ // we are inside a scope and this is a call INSIDE an established scope
82
+ promise.cancel = definedCancel;
83
+ }
84
+ else {
85
+ // we are inside a scope or an individual request and this is a call to establish the controller
86
+ const controller = new AbortController();
87
+ signal = controller.signal;
88
+ definedCancel = cancelPrimitive.bind(this, controller);
89
+ promise.cancel = definedCancel;
90
+ }
91
+ return [promise];
92
+ });
93
+ });
94
+ instance.on.pre(async function (url, init, result) {
95
+ // if they have included their own signal then we are stuck with respecting the one alredy on init
96
+ // they should avoid using Cancelable and supplying their own signal
97
+ if (signal && !init.signal) {
98
+ init.signal = signal;
99
+ }
100
+ else {
101
+ // we do our best to hook their signal into our logic
102
+ init.signal.addEventListener("abort", () => {
103
+ definedCancel();
104
+ });
105
+ }
106
+ return [url, init, result];
107
+ });
108
+ return instance;
109
+ };
110
+ }
111
+ /**
112
+ * Allows you to define an action that is run when a request is cancelled
113
+ *
114
+ * @param action The action to run
115
+ * @returns A timeline pipe used in the request lifecycle
116
+ */
117
+ export function CancelAction(action) {
118
+ return (instance) => {
119
+ instance.on.pre(async function (...args) {
120
+ // if we are in a scope, and haven't already tracked this action we add it
121
+ // we need to check as the CancelAction behavior will be passed down across
122
+ // instances within the scope, but we only want to do the action once
123
+ if (inScope && scopeActions.indexOf(action) < 0) {
124
+ scopeActions.push(action);
125
+ }
126
+ else {
127
+ this.on[CancelMoment](action);
128
+ }
129
+ return args;
130
+ });
131
+ return instance;
132
+ };
133
+ }
134
+ //# sourceMappingURL=cancelable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cancelable.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/cancelable.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  export function ResolveOnData() {
2
2
  return (instance) => {
3
3
  instance.on.data(function (data) {
4
- this.emit[this.InternalResolveEvent](data);
4
+ this.emit[this.InternalResolve](data);
5
5
  });
6
6
  return instance;
7
7
  };
@@ -9,7 +9,7 @@ export function ResolveOnData() {
9
9
  export function RejectOnError() {
10
10
  return (instance) => {
11
11
  instance.on.error(function (err) {
12
- this.emit[this.InternalRejectEvent](err);
12
+ this.emit[this.InternalReject](err);
13
13
  });
14
14
  return instance;
15
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/resolvers.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa;IAEzB,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAA2B,IAAI;YAE5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa;IAEzB,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,UAA2B,GAAG;YAE5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"resolvers.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/resolvers.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,aAAa;IAEzB,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,UAA2B,IAAI;YAE5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,aAAa;IAEzB,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,UAA2B,GAAG;YAE5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC"}
@@ -3,7 +3,7 @@ import { Queryable } from "../queryable.js";
3
3
  /**
4
4
  * Behavior that will cause a timeout in the request after the specified milliseconds
5
5
  *
6
- * @param timeout Either the number of milliseconds to set a timeout, or a caller supplied AbortSignal reference
6
+ * @param timeout Number of milliseconds to set the timeout
7
7
  */
8
- export declare function Timeout(timeout: number | AbortSignal): TimelinePipe<Queryable>;
8
+ export declare function Timeout(timeout: number): TimelinePipe<Queryable>;
9
9
  //# sourceMappingURL=timeout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,YAAY,CAAC,SAAS,CAAC,CAmB9E"}
1
+ {"version":3,"file":"timeout.d.ts","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/timeout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAehE"}
@@ -1,17 +1,14 @@
1
1
  /**
2
2
  * Behavior that will cause a timeout in the request after the specified milliseconds
3
3
  *
4
- * @param timeout Either the number of milliseconds to set a timeout, or a caller supplied AbortSignal reference
4
+ * @param timeout Number of milliseconds to set the timeout
5
5
  */
6
6
  export function Timeout(timeout) {
7
7
  return (instance) => {
8
- if (typeof timeout === "number") {
9
- const controller = new AbortController();
10
- setTimeout(controller.abort, timeout);
11
- timeout = controller.signal;
12
- }
13
8
  instance.on.pre(async (url, init, result) => {
14
- init.signal = timeout;
9
+ const controller = new AbortController();
10
+ init.signal = controller.signal;
11
+ setTimeout(() => controller.abort(), timeout);
15
12
  return [url, init, result];
16
13
  });
17
14
  return instance;
@@ -1 +1 @@
1
- {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/timeout.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAA6B;IAEjD,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC7B,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YACtC,OAAO,GAAG,UAAU,CAAC,MAAM,CAAC;SAC/B;QAED,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAExC,IAAI,CAAC,MAAM,GAAgB,OAAO,CAAC;YAEnC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"timeout.js","sourceRoot":"","sources":["../../../../packages/queryable/behaviors/timeout.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe;IAEnC,OAAO,CAAC,QAAmB,EAAE,EAAE;QAE3B,QAAQ,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;YAExC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;YAChC,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;YAE9C,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,OAAO,QAAQ,CAAC;IACpB,CAAC,CAAC;AACN,CAAC"}
package/index.d.ts CHANGED
@@ -11,6 +11,7 @@ export * from "./behaviors/bearer-token.js";
11
11
  export * from "./behaviors/browser-fetch.js";
12
12
  export * from "./behaviors/caching.js";
13
13
  export * from "./behaviors/caching-pessimistic.js";
14
+ export * from "./behaviors/cancelable.js";
14
15
  export * from "./behaviors/inject-headers.js";
15
16
  export * from "./behaviors/parsers.js";
16
17
  export * from "./behaviors/timeout.js";
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/queryable/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC;;GAEG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../packages/queryable/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC;;GAEG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
package/index.js CHANGED
@@ -11,6 +11,7 @@ export * from "./behaviors/bearer-token.js";
11
11
  export * from "./behaviors/browser-fetch.js";
12
12
  export * from "./behaviors/caching.js";
13
13
  export * from "./behaviors/caching-pessimistic.js";
14
+ export * from "./behaviors/cancelable.js";
14
15
  export * from "./behaviors/inject-headers.js";
15
16
  export * from "./behaviors/parsers.js";
16
17
  export * from "./behaviors/timeout.js";
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/queryable/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC;;GAEG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../packages/queryable/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AAEtC;;GAEG;AACH,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oCAAoC,CAAC;AACnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@pnp/queryable",
3
- "version": "3.3.2",
3
+ "version": "3.4.1",
4
4
  "description": "pnp - provides shared odata functionality and base classes",
5
5
  "main": "./index.js",
6
6
  "typings": "./index",
7
7
  "dependencies": {
8
- "tslib": "2.3.1",
9
- "@pnp/core": "3.3.2"
8
+ "tslib": "2.4.0",
9
+ "@pnp/core": "3.4.1"
10
10
  },
11
11
  "funding": {
12
12
  "type": "individual",
package/queryable.d.ts CHANGED
@@ -18,8 +18,9 @@ export declare type QueryableInit = Queryable<any> | string | [Queryable<any>, s
18
18
  export declare class Queryable<R> extends Timeline<typeof DefaultMoments> implements IQueryableInternal<R> {
19
19
  private _query;
20
20
  protected _url: string;
21
- protected InternalResolveEvent: symbol;
22
- protected InternalRejectEvent: symbol;
21
+ protected InternalResolve: symbol;
22
+ protected InternalReject: symbol;
23
+ protected InternalPromise: symbol;
23
24
  constructor(init: QueryableInit, path?: string);
24
25
  /**
25
26
  * Directly concatenates the supplied string to the current url, not normalizing "/" chars
@@ -1 +1 @@
1
- {"version":3,"file":"queryable.d.ts","sourceRoot":"","sources":["../../../packages/queryable/queryable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryable.d.ts","sourceRoot":"","sources":["../../../packages/queryable/queryable.ts"],"names":[],"mappings":"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"}
package/queryable.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { combine, getGUID, Timeline, asyncReduce, broadcast, request, extendable, isArray } from "@pnp/core";
2
+ import { combine, getGUID, Timeline, asyncReduce, reduce, broadcast, request, extendable, isArray } from "@pnp/core";
3
3
  import { invokable } from "./invokable.js";
4
4
  const DefaultMoments = {
5
5
  pre: asyncReduce(),
@@ -12,8 +12,14 @@ const DefaultMoments = {
12
12
  let Queryable = class Queryable extends Timeline {
13
13
  constructor(init, path) {
14
14
  super(DefaultMoments);
15
- this.InternalResolveEvent = Symbol.for("Queryable_Resolve");
16
- this.InternalRejectEvent = Symbol.for("Queryable_Reject");
15
+ // these keys represent internal events for Queryable, users are not expected to
16
+ // subscribe directly to these, rather they enable functionality within Queryable
17
+ // they are Symbols such that there are NOT cloned between queryables as we only grab string keys (by design)
18
+ this.InternalResolve = Symbol.for("Queryable_Resolve");
19
+ this.InternalReject = Symbol.for("Queryable_Reject");
20
+ this.InternalPromise = Symbol.for("Queryable_Promise");
21
+ // add an intneral moment with specific implementaion for promise creation
22
+ this.moments[this.InternalPromise] = reduce();
17
23
  let url = "";
18
24
  let observers = undefined;
19
25
  if (typeof init === "string") {
@@ -74,9 +80,11 @@ let Queryable = class Queryable extends Timeline {
74
80
  return this._url;
75
81
  }
76
82
  execute(userInit) {
83
+ // if there are NO observers registered this is likely either a bug in the library or a user error, direct to docs
77
84
  if (Reflect.ownKeys(this.observers).length < 1) {
78
85
  throw Error("No observers registered for this request. (https://pnp.github.io/pnpjs/queryable/queryable#No-observers-registered-for-this-request)");
79
86
  }
87
+ // schedule the execution after we return the promise below in the next event loop
80
88
  setTimeout(async () => {
81
89
  const requestId = getGUID();
82
90
  let requestUrl;
@@ -123,12 +131,17 @@ let Queryable = class Queryable extends Timeline {
123
131
  log("Finished request", 1);
124
132
  }
125
133
  }, 0);
126
- return new Promise((resolve, reject) => {
134
+ // this is the promise that the calling code will recieve and await
135
+ let promise = new Promise((resolve, reject) => {
127
136
  // we overwrite any pre-existing internal events as a
128
- // given queryable can only process a single request at a time
129
- this.on[this.InternalResolveEvent].replace(resolve);
130
- this.on[this.InternalRejectEvent].replace(reject);
137
+ // given queryable only processes a single request at a time
138
+ this.on[this.InternalResolve].replace(resolve);
139
+ this.on[this.InternalReject].replace(reject);
131
140
  });
141
+ // this allows us to internally hook the promise creation and modify it. This was introduced to allow for
142
+ // cancelable to work as envisioned, but may have other users. Meant for internal use in the library accessed via behaviors.
143
+ [promise] = this.emit[this.InternalPromise](promise);
144
+ return promise;
132
145
  }
133
146
  };
134
147
  Queryable = __decorate([
package/queryable.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"queryable.js","sourceRoot":"","sources":["../../../packages/queryable/queryable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queryable.js","sourceRoot":"","sources":["../../../packages/queryable/queryable.ts"],"names":[],"mappings":"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"}