@ngxs/store 18.0.0-dev.master-5428af8 → 18.0.0-dev.master-b21bfbd

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.
@@ -0,0 +1,2 @@
1
+ export { withExperimentalNgxsPendingTasks } from './pending-tasks';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9leHBlcmltZW50YWwvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgd2l0aEV4cGVyaW1lbnRhbE5neHNQZW5kaW5nVGFza3MgfSBmcm9tICcuL3BlbmRpbmctdGFza3MnO1xuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4cy1zdG9yZS1leHBlcmltZW50YWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9zdG9yZS9leHBlcmltZW50YWwvc3JjL25neHMtc3RvcmUtZXhwZXJpbWVudGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,30 @@
1
+ import { inject, ExperimentalPendingTasks } from '@angular/core';
2
+ import { Actions, withNgxsPreboot } from '@ngxs/store';
3
+ /**
4
+ * This is an experimental feature that contributes to app stability,
5
+ * which is required during server-side rendering. With asynchronous
6
+ * actions being dispatched and handled, Angular is unaware of them in
7
+ * zoneless mode and doesn't know whether the app is still unstable.
8
+ * This may prematurely serialize the final HTML that is sent to the client.
9
+ */
10
+ export function withExperimentalNgxsPendingTasks() {
11
+ return withNgxsPreboot(() => {
12
+ const pendingTasks = inject(ExperimentalPendingTasks);
13
+ const actions$ = inject(Actions);
14
+ const actionToRemoveTaskFnMap = new Map();
15
+ actions$.subscribe(ctx => {
16
+ if (ctx.status === "DISPATCHED" /* ActionStatus.Dispatched */) {
17
+ const removeTaskFn = pendingTasks.add();
18
+ actionToRemoveTaskFnMap.set(ctx.action, removeTaskFn);
19
+ }
20
+ else {
21
+ const removeTaskFn = actionToRemoveTaskFnMap.get(ctx.action);
22
+ if (typeof removeTaskFn === 'function') {
23
+ removeTaskFn();
24
+ actionToRemoveTaskFnMap.delete(ctx.action);
25
+ }
26
+ }
27
+ });
28
+ });
29
+ }
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGVuZGluZy10YXNrcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL3N0b3JlL2V4cGVyaW1lbnRhbC9zcmMvcGVuZGluZy10YXNrcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBZ0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVyRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsZ0NBQWdDO0lBQzlDLE9BQU8sZUFBZSxDQUFDLEdBQUcsRUFBRTtRQUMxQixNQUFNLFlBQVksR0FBRyxNQUFNLENBQUMsd0JBQXdCLENBQUMsQ0FBQztRQUN0RCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakMsTUFBTSx1QkFBdUIsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztRQUUzRCxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ3ZCLElBQUksR0FBRyxDQUFDLE1BQU0sK0NBQTRCLEVBQUUsQ0FBQztnQkFDM0MsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUN4Qyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN4RCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxZQUFZLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0QsSUFBSSxPQUFPLFlBQVksS0FBSyxVQUFVLEVBQUUsQ0FBQztvQkFDdkMsWUFBWSxFQUFFLENBQUM7b0JBQ2YsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztnQkFDN0MsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgRXhwZXJpbWVudGFsUGVuZGluZ1Rhc2tzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25TdGF0dXMsIEFjdGlvbnMsIHdpdGhOZ3hzUHJlYm9vdCB9IGZyb20gJ0BuZ3hzL3N0b3JlJztcblxuLyoqXG4gKiBUaGlzIGlzIGFuIGV4cGVyaW1lbnRhbCBmZWF0dXJlIHRoYXQgY29udHJpYnV0ZXMgdG8gYXBwIHN0YWJpbGl0eSxcbiAqIHdoaWNoIGlzIHJlcXVpcmVkIGR1cmluZyBzZXJ2ZXItc2lkZSByZW5kZXJpbmcuIFdpdGggYXN5bmNocm9ub3VzXG4gKiBhY3Rpb25zIGJlaW5nIGRpc3BhdGNoZWQgYW5kIGhhbmRsZWQsIEFuZ3VsYXIgaXMgdW5hd2FyZSBvZiB0aGVtIGluXG4gKiB6b25lbGVzcyBtb2RlIGFuZCBkb2Vzbid0IGtub3cgd2hldGhlciB0aGUgYXBwIGlzIHN0aWxsIHVuc3RhYmxlLlxuICogVGhpcyBtYXkgcHJlbWF0dXJlbHkgc2VyaWFsaXplIHRoZSBmaW5hbCBIVE1MIHRoYXQgaXMgc2VudCB0byB0aGUgY2xpZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aEV4cGVyaW1lbnRhbE5neHNQZW5kaW5nVGFza3MoKSB7XG4gIHJldHVybiB3aXRoTmd4c1ByZWJvb3QoKCkgPT4ge1xuICAgIGNvbnN0IHBlbmRpbmdUYXNrcyA9IGluamVjdChFeHBlcmltZW50YWxQZW5kaW5nVGFza3MpO1xuICAgIGNvbnN0IGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuXG4gICAgY29uc3QgYWN0aW9uVG9SZW1vdmVUYXNrRm5NYXAgPSBuZXcgTWFwPGFueSwgKCkgPT4gdm9pZD4oKTtcblxuICAgIGFjdGlvbnMkLnN1YnNjcmliZShjdHggPT4ge1xuICAgICAgaWYgKGN0eC5zdGF0dXMgPT09IEFjdGlvblN0YXR1cy5EaXNwYXRjaGVkKSB7XG4gICAgICAgIGNvbnN0IHJlbW92ZVRhc2tGbiA9IHBlbmRpbmdUYXNrcy5hZGQoKTtcbiAgICAgICAgYWN0aW9uVG9SZW1vdmVUYXNrRm5NYXAuc2V0KGN0eC5hY3Rpb24sIHJlbW92ZVRhc2tGbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZW1vdmVUYXNrRm4gPSBhY3Rpb25Ub1JlbW92ZVRhc2tGbk1hcC5nZXQoY3R4LmFjdGlvbik7XG4gICAgICAgIGlmICh0eXBlb2YgcmVtb3ZlVGFza0ZuID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmVtb3ZlVGFza0ZuKCk7XG4gICAgICAgICAgYWN0aW9uVG9SZW1vdmVUYXNrRm5NYXAuZGVsZXRlKGN0eC5hY3Rpb24pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIl19
@@ -0,0 +1 @@
1
+ export { withExperimentalNgxsPendingTasks } from './pending-tasks';
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This is an experimental feature that contributes to app stability,
3
+ * which is required during server-side rendering. With asynchronous
4
+ * actions being dispatched and handled, Angular is unaware of them in
5
+ * zoneless mode and doesn't know whether the app is still unstable.
6
+ * This may prematurely serialize the final HTML that is sent to the client.
7
+ */
8
+ export declare function withExperimentalNgxsPendingTasks(): import("@angular/core").EnvironmentProviders;
@@ -0,0 +1,37 @@
1
+ import { inject, ExperimentalPendingTasks } from '@angular/core';
2
+ import { withNgxsPreboot, Actions } from '@ngxs/store';
3
+
4
+ /**
5
+ * This is an experimental feature that contributes to app stability,
6
+ * which is required during server-side rendering. With asynchronous
7
+ * actions being dispatched and handled, Angular is unaware of them in
8
+ * zoneless mode and doesn't know whether the app is still unstable.
9
+ * This may prematurely serialize the final HTML that is sent to the client.
10
+ */
11
+ function withExperimentalNgxsPendingTasks() {
12
+ return withNgxsPreboot(() => {
13
+ const pendingTasks = inject(ExperimentalPendingTasks);
14
+ const actions$ = inject(Actions);
15
+ const actionToRemoveTaskFnMap = new Map();
16
+ actions$.subscribe(ctx => {
17
+ if (ctx.status === "DISPATCHED" /* ActionStatus.Dispatched */) {
18
+ const removeTaskFn = pendingTasks.add();
19
+ actionToRemoveTaskFnMap.set(ctx.action, removeTaskFn);
20
+ }
21
+ else {
22
+ const removeTaskFn = actionToRemoveTaskFnMap.get(ctx.action);
23
+ if (typeof removeTaskFn === 'function') {
24
+ removeTaskFn();
25
+ actionToRemoveTaskFnMap.delete(ctx.action);
26
+ }
27
+ }
28
+ });
29
+ });
30
+ }
31
+
32
+ /**
33
+ * Generated bundle index. Do not edit.
34
+ */
35
+
36
+ export { withExperimentalNgxsPendingTasks };
37
+ //# sourceMappingURL=ngxs-store-experimental.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ngxs-store-experimental.mjs","sources":["../../../packages/store/experimental/src/pending-tasks.ts","../../../packages/store/experimental/src/ngxs-store-experimental.ts"],"sourcesContent":["import { inject, ExperimentalPendingTasks } from '@angular/core';\nimport { ActionStatus, Actions, withNgxsPreboot } from '@ngxs/store';\n\n/**\n * This is an experimental feature that contributes to app stability,\n * which is required during server-side rendering. With asynchronous\n * actions being dispatched and handled, Angular is unaware of them in\n * zoneless mode and doesn't know whether the app is still unstable.\n * This may prematurely serialize the final HTML that is sent to the client.\n */\nexport function withExperimentalNgxsPendingTasks() {\n return withNgxsPreboot(() => {\n const pendingTasks = inject(ExperimentalPendingTasks);\n const actions$ = inject(Actions);\n\n const actionToRemoveTaskFnMap = new Map<any, () => void>();\n\n actions$.subscribe(ctx => {\n if (ctx.status === ActionStatus.Dispatched) {\n const removeTaskFn = pendingTasks.add();\n actionToRemoveTaskFnMap.set(ctx.action, removeTaskFn);\n } else {\n const removeTaskFn = actionToRemoveTaskFnMap.get(ctx.action);\n if (typeof removeTaskFn === 'function') {\n removeTaskFn();\n actionToRemoveTaskFnMap.delete(ctx.action);\n }\n }\n });\n });\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAGA;;;;;;AAMG;SACa,gCAAgC,GAAA;IAC9C,OAAO,eAAe,CAAC,MAAK;AAC1B,QAAA,MAAM,YAAY,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;AACtD,QAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAEjC,QAAA,MAAM,uBAAuB,GAAG,IAAI,GAAG,EAAmB,CAAC;AAE3D,QAAA,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAG;AACvB,YAAA,IAAI,GAAG,CAAC,MAAM,KAAA,YAAA,gCAA8B;AAC1C,gBAAA,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC;gBACxC,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;aACvD;iBAAM;gBACL,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7D,gBAAA,IAAI,OAAO,YAAY,KAAK,UAAU,EAAE;AACtC,oBAAA,YAAY,EAAE,CAAC;AACf,oBAAA,uBAAuB,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;iBAC5C;aACF;AACH,SAAC,CAAC,CAAC;AACL,KAAC,CAAC,CAAC;AACL;;AC9BA;;AAEG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxs/store",
3
- "version": "18.0.0-dev.master-5428af8",
3
+ "version": "18.0.0-dev.master-b21bfbd",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
6
6
  "peerDependencies": {
@@ -20,6 +20,12 @@
20
20
  "esm": "./esm2022/ngxs-store.mjs",
21
21
  "default": "./fesm2022/ngxs-store.mjs"
22
22
  },
23
+ "./experimental": {
24
+ "types": "./experimental/index.d.ts",
25
+ "esm2022": "./esm2022/experimental/ngxs-store-experimental.mjs",
26
+ "esm": "./esm2022/experimental/ngxs-store-experimental.mjs",
27
+ "default": "./fesm2022/ngxs-store-experimental.mjs"
28
+ },
23
29
  "./internals": {
24
30
  "types": "./internals/index.d.ts",
25
31
  "esm2022": "./esm2022/internals/ngxs-store-internals.mjs",