@solar-angular/core 20.1.1 → 20.1.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,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Pipe, makeEnvironmentProviders, signal, computed } from '@angular/core';
2
+ import { InjectionToken, Pipe, makeEnvironmentProviders, signal, effect } from '@angular/core';
3
3
  import { finalize, tap } from 'rxjs';
4
4
  import { rxResource } from '@angular/core/rxjs-interop';
5
5
 
@@ -77,13 +77,25 @@ function provideSolar(config) {
77
77
  ]);
78
78
  }
79
79
 
80
+ function snapshotResource(opts) {
81
+ const snapshotValue = signal(opts.defaultValue, ...(ngDevMode ? [{ debugName: "snapshotValue" }] : []));
82
+ const resource = rxResource({
83
+ ...opts,
84
+ stream: params => opts.stream(params).pipe(tap({
85
+ next: value => snapshotValue.set(value),
86
+ error: () => snapshotValue.set(undefined)
87
+ }))
88
+ });
89
+ return Object.assign(resource, {
90
+ snapshotValue
91
+ });
92
+ }
93
+
80
94
  function pageResource(opts) {
81
- const pageNo = signal(opts.pageNo || 1, ...(ngDevMode ? [{ debugName: "pageNo" }] : []));
95
+ const pageNo = signal(1, ...(ngDevMode ? [{ debugName: "pageNo" }] : []));
82
96
  const pageSize = signal(opts.pageSize || 15, ...(ngDevMode ? [{ debugName: "pageSize" }] : []));
83
97
  const items = signal([], ...(ngDevMode ? [{ debugName: "items" }] : []));
84
- // TODO v21 直接用 resource.snapshot
85
- const snapshotValue = signal(null, ...(ngDevMode ? [{ debugName: "snapshotValue" }] : []));
86
- const resource = rxResource({
98
+ const resource = snapshotResource({
87
99
  ...opts,
88
100
  params: () => ({
89
101
  pageNo: pageNo(),
@@ -97,25 +109,25 @@ function pageResource(opts) {
97
109
  else {
98
110
  items.update(value => [...value, ...page.content]);
99
111
  }
100
- snapshotValue.set(page);
101
112
  }))
102
113
  });
103
- const totalPages = computed(() => snapshotValue()?.totalPages || 0, ...(ngDevMode ? [{ debugName: "totalPages" }] : []));
114
+ function reset() {
115
+ pageNo.set(1);
116
+ }
117
+ effect(() => {
118
+ opts.params?.();
119
+ reset();
120
+ });
104
121
  return Object.assign(resource, {
105
122
  items,
106
- snapshotValue,
107
123
  pageNo,
108
124
  pageSize,
109
- totalPages,
110
125
  next() {
111
126
  if (!resource.value()?.last) {
112
127
  pageNo.update(value => ++value);
113
128
  }
114
129
  },
115
- reset() {
116
- pageNo.set(1);
117
- resource.reload();
118
- }
130
+ reset
119
131
  });
120
132
  }
121
133
 
@@ -123,5 +135,5 @@ function pageResource(opts) {
123
135
  * Generated bundle index. Do not edit.
124
136
  */
125
137
 
126
- export { CnumberPipe, FindByIdPipe, SOLAR_CONFIG, attachLoading, pageResource, provideSolar };
138
+ export { CnumberPipe, FindByIdPipe, SOLAR_CONFIG, attachLoading, pageResource, provideSolar, snapshotResource };
127
139
  //# sourceMappingURL=solar-angular-core.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"solar-angular-core.mjs","sources":["../tmp-esm2022/config.js","../tmp-esm2022/operator.js","../tmp-esm2022/pipes/cnumber.pipe.js","../tmp-esm2022/pipes/find-by-id.pipe.js","../tmp-esm2022/provider.js","../tmp-esm2022/resources/page-resource.js","../tmp-esm2022/solar-angular-core.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const SOLAR_CONFIG = new InjectionToken('');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFjLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTb2xhckNvbmZpZyB7XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIGVhcnRoVXJsOiBzdHJpbmc7XG4gIG1lcmN1cnlVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFNPTEFSX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTb2xhckNvbmZpZz4oJycpO1xuIl19","import { finalize } from 'rxjs';\n/**\n * Attaches a loading indicator to an observable.\n *\n * @param loading - A writable signal indicating the loading state.\n * @param options - Optional configuration for the loading behavior.\n * @param options.immediate - If true, the loading state is set to true immediately upon calling this function.\n * @returns A function that takes an observable and returns a new observable with loading state managed.\n */\nexport function attachLoading(loading, options = {}) {\n const { immediate } = options;\n if (immediate)\n loading.set(true);\n return (observable) => {\n if (!immediate)\n loading.set(true);\n return observable.pipe(finalize(() => loading.set(false)));\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9vcGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLE9BQWdDLEVBQUUsVUFBbUMsRUFBRTtJQUN0RyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzlCLElBQUksU0FBUztRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtRQUNuQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNwQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEF0dGFjaGVzIGEgbG9hZGluZyBpbmRpY2F0b3IgdG8gYW4gb2JzZXJ2YWJsZS5cbiAqXG4gKiBAcGFyYW0gbG9hZGluZyAtIEEgd3JpdGFibGUgc2lnbmFsIGluZGljYXRpbmcgdGhlIGxvYWRpbmcgc3RhdGUuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBsb2FkaW5nIGJlaGF2aW9yLlxuICogQHBhcmFtIG9wdGlvbnMuaW1tZWRpYXRlIC0gSWYgdHJ1ZSwgdGhlIGxvYWRpbmcgc3RhdGUgaXMgc2V0IHRvIHRydWUgaW1tZWRpYXRlbHkgdXBvbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gb2JzZXJ2YWJsZSBhbmQgcmV0dXJucyBhIG5ldyBvYnNlcnZhYmxlIHdpdGggbG9hZGluZyBzdGF0ZSBtYW5hZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXR0YWNoTG9hZGluZzxUPihsb2FkaW5nOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiwgb3B0aW9uczogeyBpbW1lZGlhdGU/OiBib29sZWFuIH0gPSB7fSkge1xuICBjb25zdCB7IGltbWVkaWF0ZSB9ID0gb3B0aW9ucztcbiAgaWYgKGltbWVkaWF0ZSkgbG9hZGluZy5zZXQodHJ1ZSk7XG4gIHJldHVybiAob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPikgPT4ge1xuICAgIGlmICghaW1tZWRpYXRlKSBsb2FkaW5nLnNldCh0cnVlKTtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4gbG9hZGluZy5zZXQoZmFsc2UpKVxuICAgICk7XG4gIH07XG59XG4iXX0=","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class CnumberPipe {\n transform(v) {\n if (!/^(0|[1-9]\\d*)(\\.\\d+)?$/.test(v)) {\n return null;\n }\n let unit = '千百拾亿千百拾万千百拾元角分';\n let str = '';\n v += '00';\n const p = v.indexOf('.');\n if (p >= 0) {\n v = v.substring(0, p) + v.substr(p + 1, 2);\n }\n unit = unit.substr(unit.length - v.length);\n for (let i = 0; i < v.length; i++) {\n str += '零壹贰叁肆伍陆柒捌玖'.charAt(+v.charAt(i)) + unit.charAt(i);\n }\n return str.replace(/零(千|百|拾|角)/g, '零').replace(/(零)+/g, '零').replace(/零(万|亿|元)/g, '$1').replace(/(亿)万|壹(拾)/g, '$1$2').replace(/^元零?|零分/g, '').replace(/元$/g, '元整');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: CnumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: CnumberPipe, isStandalone: true, name: \"cnumber\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: CnumberPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'cnumber',\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY251bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGlwZXMvY251bWJlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sV0FBVztJQUV0QixTQUFTLENBQUMsQ0FBUztRQUNqQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7UUFDNUIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNWLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDWCxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JLLENBQUM7OEdBbEJVLFdBQVc7NEdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFKdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NudW1iZXInLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENudW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHY6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCEvXigwfFsxLTldXFxkKikoXFwuXFxkKyk/JC8udGVzdCh2KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB1bml0ID0gJ+WNg+eZvuaLvuS6v+WNg+eZvuaLvuS4h+WNg+eZvuaLvuWFg+inkuWIhic7XG4gICAgbGV0IHN0ciA9ICcnO1xuICAgIHYgKz0gJzAwJztcbiAgICBjb25zdCBwID0gdi5pbmRleE9mKCcuJyk7XG4gICAgaWYgKHAgPj0gMCkge1xuICAgICAgdiA9IHYuc3Vic3RyaW5nKDAsIHApICsgdi5zdWJzdHIocCArIDEsIDIpO1xuICAgIH1cbiAgICB1bml0ID0gdW5pdC5zdWJzdHIodW5pdC5sZW5ndGggLSB2Lmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBzdHIgKz0gJ+mbtuWjuei0sOWPgeiChuS8jemZhuafkuaNjOeOlicuY2hhckF0KCt2LmNoYXJBdChpKSkgKyB1bml0LmNoYXJBdChpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC/pm7Yo5Y2DfOeZvnzmi7586KeSKS9nLCAn6Zu2JykucmVwbGFjZSgvKOmbtikrL2csICfpm7YnKS5yZXBsYWNlKC/pm7Yo5LiHfOS6v3zlhYMpL2csICckMScpLnJlcGxhY2UoLyjkur8p5LiHfOWjuSjmi74pL2csICckMSQyJykucmVwbGFjZSgvXuWFg+mbtj986Zu25YiGL2csICcnKS5yZXBsYWNlKC/lhYMkL2csICflhYPmlbQnKTtcbiAgfVxuXG59XG4iXX0=","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class FindByIdPipe {\n transform(id, array) {\n return array.find(item => item.id === id) ?? null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: FindByIdPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: FindByIdPipe, isStandalone: true, name: \"findById\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: FindByIdPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'findById',\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1ieS1pZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGlwZXMvZmluZC1ieS1pZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixTQUFTLENBQUMsRUFBVyxFQUFFLEtBQVU7UUFDL0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDcEQsQ0FBQzs4R0FKVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZmluZEJ5SWQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRCeUlkUGlwZTxUIGV4dGVuZHMgeyBpZDogYW55IH0+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGlkOiBUWydpZCddLCBhcnJheTogVFtdKTogdW5rbm93biB7XG4gICAgcmV0dXJuIGFycmF5LmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBpZCkgPz8gbnVsbDtcbiAgfVxuXG59XG4iXX0=","import { makeEnvironmentProviders } from '@angular/core';\nimport { SOLAR_CONFIG } from './config';\nexport function provideSolar(config) {\n return makeEnvironmentProviders([\n {\n provide: SOLAR_CONFIG,\n useValue: config\n }\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxVQUFVLENBQUM7QUFFckQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFtQjtJQUM5QyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLE1BQU07U0FDakI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU09MQVJfQ09ORklHLCBTb2xhckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTb2xhcihjb25maWc6IFNvbGFyQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTT0xBUl9DT05GSUcsXG4gICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgfVxuICBdKTtcbn1cbiJdfQ==","import { computed, signal } from '@angular/core';\nimport { rxResource } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs';\nexport function pageResource(opts) {\n const pageNo = signal(opts.pageNo || 1, ...(ngDevMode ? [{ debugName: \"pageNo\" }] : []));\n const pageSize = signal(opts.pageSize || 15, ...(ngDevMode ? [{ debugName: \"pageSize\" }] : []));\n const items = signal([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n // TODO v21 直接用 resource.snapshot\n const snapshotValue = signal(null, ...(ngDevMode ? [{ debugName: \"snapshotValue\" }] : []));\n const resource = rxResource({\n ...opts,\n params: () => ({\n pageNo: pageNo(),\n pageSize: pageSize(),\n ...opts.params?.()\n }),\n stream: params => opts.stream(params).pipe(tap(page => {\n if (pageNo() === 1) {\n items.set(page.content);\n }\n else {\n items.update(value => [...value, ...page.content]);\n }\n snapshotValue.set(page);\n }))\n });\n const totalPages = computed(() => snapshotValue()?.totalPages || 0, ...(ngDevMode ? [{ debugName: \"totalPages\" }] : []));\n return Object.assign(resource, {\n items,\n snapshotValue,\n pageNo,\n pageSize,\n totalPages,\n next() {\n if (!resource.value()?.last) {\n pageNo.update(value => ++value);\n }\n },\n reset() {\n pageNo.set(1);\n resource.reload();\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3Jlc291cmNlcy9wYWdlLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUF3QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXhELE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdkMsTUFBTSxVQUFVLFlBQVksQ0FBTyxJQUF3RTtJQUN6RyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLGtEQUFDLENBQUM7SUFDeEMsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxvREFBQyxDQUFDO0lBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBTSxFQUFFLGlEQUFDLENBQUM7SUFDOUIsaUNBQWlDO0lBQ2pDLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBaUIsSUFBSSx5REFBQyxDQUFDO0lBRW5ELE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQztRQUMxQixHQUFHLElBQUk7UUFDUCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNiLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDaEIsUUFBUSxFQUFFLFFBQVEsRUFBRTtZQUNwQixHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsRUFBTztTQUN4QixDQUFDO1FBQ0YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQ3hDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULElBQUksTUFBTSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLEtBQUssQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzFCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUNIO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxFQUFFLFVBQVUsSUFBSSxDQUFDLHNEQUFDLENBQUM7SUFFcEUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUM3QixLQUFLO1FBQ0wsYUFBYTtRQUNiLE1BQU07UUFDTixRQUFRO1FBQ1IsVUFBVTtRQUNWLElBQUk7WUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNsQyxDQUFDO1FBQ0gsQ0FBQztRQUNELEtBQUs7WUFDSCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2QsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3BCLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZVJlc291cmNlT3B0aW9ucywgY29tcHV0ZWQsIFJlc291cmNlTG9hZGVyUGFyYW1zLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHJ4UmVzb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSAnQHNvbGFyLWtpdC9wbGFuZXRzL3N1bic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBhZ2VSZXNvdXJjZTxULCBSPihvcHRzOiBQYWdlUmVzb3VyY2VPcHRpb25zPFQsIFI+ICYgeyBwYWdlTm8/OiBudW1iZXIsIHBhZ2VTaXplPzogbnVtYmVyIH0pIHtcbiAgY29uc3QgcGFnZU5vID0gc2lnbmFsKG9wdHMucGFnZU5vIHx8IDEpO1xuICBjb25zdCBwYWdlU2l6ZSA9IHNpZ25hbChvcHRzLnBhZ2VTaXplIHx8IDE1KTtcbiAgY29uc3QgaXRlbXMgPSBzaWduYWw8VFtdPihbXSk7XG4gIC8vIFRPRE8gdjIxIOebtOaOpeeUqCByZXNvdXJjZS5zbmFwc2hvdFxuICBjb25zdCBzbmFwc2hvdFZhbHVlID0gc2lnbmFsPFBhZ2U8VD4gfCBudWxsPihudWxsKTtcblxuICBjb25zdCByZXNvdXJjZSA9IHJ4UmVzb3VyY2Uoe1xuICAgIC4uLm9wdHMsXG4gICAgcGFyYW1zOiAoKSA9PiAoe1xuICAgICAgcGFnZU5vOiBwYWdlTm8oKSxcbiAgICAgIHBhZ2VTaXplOiBwYWdlU2l6ZSgpLFxuICAgICAgLi4ub3B0cy5wYXJhbXM/LigpIGFzIFJcbiAgICB9KSxcbiAgICBzdHJlYW06IHBhcmFtcyA9PiBvcHRzLnN0cmVhbShwYXJhbXMpLnBpcGUoXG4gICAgICB0YXAocGFnZSA9PiB7XG4gICAgICAgIGlmIChwYWdlTm8oKSA9PT0gMSkge1xuICAgICAgICAgIGl0ZW1zLnNldChwYWdlLmNvbnRlbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGl0ZW1zLnVwZGF0ZSh2YWx1ZSA9PiBbLi4udmFsdWUsIC4uLnBhZ2UuY29udGVudF0pO1xuICAgICAgICB9XG4gICAgICAgIHNuYXBzaG90VmFsdWUuc2V0KHBhZ2UpO1xuICAgICAgfSlcbiAgICApXG4gIH0pO1xuXG4gIGNvbnN0IHRvdGFsUGFnZXMgPSBjb21wdXRlZCgoKSA9PiBzbmFwc2hvdFZhbHVlKCk/LnRvdGFsUGFnZXMgfHwgMCk7XG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24ocmVzb3VyY2UsIHtcbiAgICBpdGVtcyxcbiAgICBzbmFwc2hvdFZhbHVlLFxuICAgIHBhZ2VObyxcbiAgICBwYWdlU2l6ZSxcbiAgICB0b3RhbFBhZ2VzLFxuICAgIG5leHQoKSB7XG4gICAgICBpZiAoIXJlc291cmNlLnZhbHVlKCk/Lmxhc3QpIHtcbiAgICAgICAgcGFnZU5vLnVwZGF0ZSh2YWx1ZSA9PiArK3ZhbHVlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHJlc2V0KCkge1xuICAgICAgcGFnZU5vLnNldCgxKTtcbiAgICAgIHJlc291cmNlLnJlbG9hZCgpO1xuICAgIH1cbiAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZVJlc291cmNlT3B0aW9uczxULCBSPiBleHRlbmRzIEJhc2VSZXNvdXJjZU9wdGlvbnM8UGFnZTxUPiwgUj4ge1xuICBzdHJlYW06IChwYXJhbXM6IFJlc291cmNlTG9hZGVyUGFyYW1zPFIgJiB7IHBhZ2VObzogbnVtYmVyLCBwYWdlU2l6ZTogbnVtYmVyIH0+KSA9PiBPYnNlcnZhYmxlPFBhZ2U8VD4+O1xufVxuIl19","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvc29sYXItYW5ndWxhci1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"solar-angular-core.mjs","sources":["../tmp-esm2022/config.js","../tmp-esm2022/operator.js","../tmp-esm2022/pipes/cnumber.pipe.js","../tmp-esm2022/pipes/find-by-id.pipe.js","../tmp-esm2022/provider.js","../tmp-esm2022/resources/snapshot-resource.js","../tmp-esm2022/resources/page-resource.js","../tmp-esm2022/solar-angular-core.js"],"sourcesContent":["import { InjectionToken } from '@angular/core';\nexport const SOLAR_CONFIG = new InjectionToken('');\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFRL0MsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLElBQUksY0FBYyxDQUFjLEVBQUUsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTb2xhckNvbmZpZyB7XG4gIGNsaWVudElkOiBzdHJpbmc7XG4gIGVhcnRoVXJsOiBzdHJpbmc7XG4gIG1lcmN1cnlVcmw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IFNPTEFSX0NPTkZJRyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxTb2xhckNvbmZpZz4oJycpO1xuIl19","import { finalize } from 'rxjs';\n/**\n * Attaches a loading indicator to an observable.\n *\n * @param loading - A writable signal indicating the loading state.\n * @param options - Optional configuration for the loading behavior.\n * @param options.immediate - If true, the loading state is set to true immediately upon calling this function.\n * @returns A function that takes an observable and returns a new observable with loading state managed.\n */\nexport function attachLoading(loading, options = {}) {\n const { immediate } = options;\n if (immediate)\n loading.set(true);\n return (observable) => {\n if (!immediate)\n loading.set(true);\n return observable.pipe(finalize(() => loading.set(false)));\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3BlcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9vcGVyYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTVDOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLFVBQVUsYUFBYSxDQUFJLE9BQWdDLEVBQUUsVUFBbUMsRUFBRTtJQUN0RyxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsT0FBTyxDQUFDO0lBQzlCLElBQUksU0FBUztRQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDakMsT0FBTyxDQUFDLFVBQXlCLEVBQUUsRUFBRTtRQUNuQyxJQUFJLENBQUMsU0FBUztZQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEMsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUNwQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNuQyxDQUFDO0lBQ0osQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdyaXRhYmxlU2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEF0dGFjaGVzIGEgbG9hZGluZyBpbmRpY2F0b3IgdG8gYW4gb2JzZXJ2YWJsZS5cbiAqXG4gKiBAcGFyYW0gbG9hZGluZyAtIEEgd3JpdGFibGUgc2lnbmFsIGluZGljYXRpbmcgdGhlIGxvYWRpbmcgc3RhdGUuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIE9wdGlvbmFsIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBsb2FkaW5nIGJlaGF2aW9yLlxuICogQHBhcmFtIG9wdGlvbnMuaW1tZWRpYXRlIC0gSWYgdHJ1ZSwgdGhlIGxvYWRpbmcgc3RhdGUgaXMgc2V0IHRvIHRydWUgaW1tZWRpYXRlbHkgdXBvbiBjYWxsaW5nIHRoaXMgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYW4gb2JzZXJ2YWJsZSBhbmQgcmV0dXJucyBhIG5ldyBvYnNlcnZhYmxlIHdpdGggbG9hZGluZyBzdGF0ZSBtYW5hZ2VkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYXR0YWNoTG9hZGluZzxUPihsb2FkaW5nOiBXcml0YWJsZVNpZ25hbDxib29sZWFuPiwgb3B0aW9uczogeyBpbW1lZGlhdGU/OiBib29sZWFuIH0gPSB7fSkge1xuICBjb25zdCB7IGltbWVkaWF0ZSB9ID0gb3B0aW9ucztcbiAgaWYgKGltbWVkaWF0ZSkgbG9hZGluZy5zZXQodHJ1ZSk7XG4gIHJldHVybiAob2JzZXJ2YWJsZTogT2JzZXJ2YWJsZTxUPikgPT4ge1xuICAgIGlmICghaW1tZWRpYXRlKSBsb2FkaW5nLnNldCh0cnVlKTtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZS5waXBlKFxuICAgICAgZmluYWxpemUoKCkgPT4gbG9hZGluZy5zZXQoZmFsc2UpKVxuICAgICk7XG4gIH07XG59XG4iXX0=","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class CnumberPipe {\n transform(v) {\n if (!/^(0|[1-9]\\d*)(\\.\\d+)?$/.test(v)) {\n return null;\n }\n let unit = '千百拾亿千百拾万千百拾元角分';\n let str = '';\n v += '00';\n const p = v.indexOf('.');\n if (p >= 0) {\n v = v.substring(0, p) + v.substr(p + 1, 2);\n }\n unit = unit.substr(unit.length - v.length);\n for (let i = 0; i < v.length; i++) {\n str += '零壹贰叁肆伍陆柒捌玖'.charAt(+v.charAt(i)) + unit.charAt(i);\n }\n return str.replace(/零(千|百|拾|角)/g, '零').replace(/(零)+/g, '零').replace(/零(万|亿|元)/g, '$1').replace(/(亿)万|壹(拾)/g, '$1$2').replace(/^元零?|零分/g, '').replace(/元$/g, '元整');\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: CnumberPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: CnumberPipe, isStandalone: true, name: \"cnumber\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: CnumberPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'cnumber',\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY251bWJlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGlwZXMvY251bWJlci5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sV0FBVztJQUV0QixTQUFTLENBQUMsQ0FBUztRQUNqQixJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQ0QsSUFBSSxJQUFJLEdBQUcsZ0JBQWdCLENBQUM7UUFDNUIsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2IsQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNWLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDWCxDQUFDLEdBQUcsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzdDLENBQUM7UUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMzQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDO1lBQ2xDLEdBQUcsSUFBSSxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUQsQ0FBQztRQUNELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JLLENBQUM7OEdBbEJVLFdBQVc7NEdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFKdkIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsU0FBUztvQkFDZixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2NudW1iZXInLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIENudW1iZXJQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHY6IHN0cmluZyk6IGFueSB7XG4gICAgaWYgKCEvXigwfFsxLTldXFxkKikoXFwuXFxkKyk/JC8udGVzdCh2KSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGxldCB1bml0ID0gJ+WNg+eZvuaLvuS6v+WNg+eZvuaLvuS4h+WNg+eZvuaLvuWFg+inkuWIhic7XG4gICAgbGV0IHN0ciA9ICcnO1xuICAgIHYgKz0gJzAwJztcbiAgICBjb25zdCBwID0gdi5pbmRleE9mKCcuJyk7XG4gICAgaWYgKHAgPj0gMCkge1xuICAgICAgdiA9IHYuc3Vic3RyaW5nKDAsIHApICsgdi5zdWJzdHIocCArIDEsIDIpO1xuICAgIH1cbiAgICB1bml0ID0gdW5pdC5zdWJzdHIodW5pdC5sZW5ndGggLSB2Lmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBzdHIgKz0gJ+mbtuWjuei0sOWPgeiChuS8jemZhuafkuaNjOeOlicuY2hhckF0KCt2LmNoYXJBdChpKSkgKyB1bml0LmNoYXJBdChpKTtcbiAgICB9XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKC/pm7Yo5Y2DfOeZvnzmi7586KeSKS9nLCAn6Zu2JykucmVwbGFjZSgvKOmbtikrL2csICfpm7YnKS5yZXBsYWNlKC/pm7Yo5LiHfOS6v3zlhYMpL2csICckMScpLnJlcGxhY2UoLyjkur8p5LiHfOWjuSjmi74pL2csICckMSQyJykucmVwbGFjZSgvXuWFg+mbtj986Zu25YiGL2csICcnKS5yZXBsYWNlKC/lhYMkL2csICflhYPmlbQnKTtcbiAgfVxuXG59XG4iXX0=","import { Pipe } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class FindByIdPipe {\n transform(id, array) {\n return array.find(item => item.id === id) ?? null;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: FindByIdPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }\n static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: \"14.0.0\", version: \"20.3.9\", ngImport: i0, type: FindByIdPipe, isStandalone: true, name: \"findById\" }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.3.9\", ngImport: i0, type: FindByIdPipe, decorators: [{\n type: Pipe,\n args: [{\n name: 'findById',\n standalone: true\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluZC1ieS1pZC5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvcGlwZXMvZmluZC1ieS1pZC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQU1wRCxNQUFNLE9BQU8sWUFBWTtJQUV2QixTQUFTLENBQUMsRUFBVyxFQUFFLEtBQVU7UUFDL0IsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUM7SUFDcEQsQ0FBQzs4R0FKVSxZQUFZOzRHQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQFBpcGUoe1xuICBuYW1lOiAnZmluZEJ5SWQnLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEZpbmRCeUlkUGlwZTxUIGV4dGVuZHMgeyBpZDogYW55IH0+IGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKGlkOiBUWydpZCddLCBhcnJheTogVFtdKTogdW5rbm93biB7XG4gICAgcmV0dXJuIGFycmF5LmZpbmQoaXRlbSA9PiBpdGVtLmlkID09PSBpZCkgPz8gbnVsbDtcbiAgfVxuXG59XG4iXX0=","import { makeEnvironmentProviders } from '@angular/core';\nimport { SOLAR_CONFIG } from './config';\nexport function provideSolar(config) {\n return makeEnvironmentProviders([\n {\n provide: SOLAR_CONFIG,\n useValue: config\n }\n ]);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxZQUFZLEVBQWUsTUFBTSxVQUFVLENBQUM7QUFFckQsTUFBTSxVQUFVLFlBQVksQ0FBQyxNQUFtQjtJQUM5QyxPQUFPLHdCQUF3QixDQUFDO1FBQzlCO1lBQ0UsT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLE1BQU07U0FDakI7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU09MQVJfQ09ORklHLCBTb2xhckNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcblxuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVTb2xhcihjb25maWc6IFNvbGFyQ29uZmlnKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTT0xBUl9DT05GSUcsXG4gICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgfVxuICBdKTtcbn1cbiJdfQ==","import { signal } from '@angular/core';\nimport { rxResource } from '@angular/core/rxjs-interop';\nimport { tap } from 'rxjs';\nexport function snapshotResource(opts) {\n const snapshotValue = signal(opts.defaultValue, ...(ngDevMode ? [{ debugName: \"snapshotValue\" }] : []));\n const resource = rxResource({\n ...opts,\n stream: params => opts.stream(params).pipe(tap({\n next: value => snapshotValue.set(value),\n error: () => snapshotValue.set(undefined)\n }))\n });\n return Object.assign(resource, {\n snapshotValue\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hcHNob3QtcmVzb3VyY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9jb3JlL3NyYy9yZXNvdXJjZXMvc25hcHNob3QtcmVzb3VyY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFxQixVQUFVLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBSTNCLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBTyxJQUE2QjtJQUNsRSxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxZQUFZLHlEQUFDLENBQUM7SUFFL0QsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO1FBQzFCLEdBQUcsSUFBSTtRQUNQLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUM7WUFDRixJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQztZQUN2QyxLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUM7U0FDMUMsQ0FBQyxDQUNIO0tBQ0YsQ0FBQyxDQUFDO0lBRUgsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtRQUM3QixhQUFhO0tBQ2QsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlUmVmLCBTaWduYWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUnhSZXNvdXJjZU9wdGlvbnMsIHJ4UmVzb3VyY2UgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyB0YXAgfSBmcm9tICdyeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNuYXBzaG90UmVzb3VyY2U8VCwgUj4ob3B0czogUnhSZXNvdXJjZU9wdGlvbnM8VCwgUj4gJiB7IGRlZmF1bHRWYWx1ZTogTm9JbmZlcjxUPiB9KTogUmVzb3VyY2VSZWY8VD4gJiB7IHNuYXBzaG90VmFsdWU6IFNpZ25hbDxUPiB9O1xuZXhwb3J0IGZ1bmN0aW9uIHNuYXBzaG90UmVzb3VyY2U8VCwgUj4ob3B0czogUnhSZXNvdXJjZU9wdGlvbnM8VCwgUj4pOiBSZXNvdXJjZVJlZjxUPiAmIHsgc25hcHNob3RWYWx1ZTogU2lnbmFsPFQgfCB1bmRlZmluZWQ+IH07XG5leHBvcnQgZnVuY3Rpb24gc25hcHNob3RSZXNvdXJjZTxULCBSPihvcHRzOiBSeFJlc291cmNlT3B0aW9uczxULCBSPikge1xuICBjb25zdCBzbmFwc2hvdFZhbHVlID0gc2lnbmFsPFQgfCB1bmRlZmluZWQ+KG9wdHMuZGVmYXVsdFZhbHVlKTtcblxuICBjb25zdCByZXNvdXJjZSA9IHJ4UmVzb3VyY2Uoe1xuICAgIC4uLm9wdHMsXG4gICAgc3RyZWFtOiBwYXJhbXMgPT4gb3B0cy5zdHJlYW0ocGFyYW1zKS5waXBlKFxuICAgICAgdGFwKHtcbiAgICAgICAgbmV4dDogdmFsdWUgPT4gc25hcHNob3RWYWx1ZS5zZXQodmFsdWUpLFxuICAgICAgICBlcnJvcjogKCkgPT4gc25hcHNob3RWYWx1ZS5zZXQodW5kZWZpbmVkKVxuICAgICAgfSlcbiAgICApXG4gIH0pO1xuXG4gIHJldHVybiBPYmplY3QuYXNzaWduKHJlc291cmNlLCB7XG4gICAgc25hcHNob3RWYWx1ZVxuICB9KTtcbn1cbiJdfQ==","import { effect, signal } from '@angular/core';\nimport { tap } from 'rxjs';\nimport { snapshotResource } from './snapshot-resource';\nexport function pageResource(opts) {\n const pageNo = signal(1, ...(ngDevMode ? [{ debugName: \"pageNo\" }] : []));\n const pageSize = signal(opts.pageSize || 15, ...(ngDevMode ? [{ debugName: \"pageSize\" }] : []));\n const items = signal([], ...(ngDevMode ? [{ debugName: \"items\" }] : []));\n const resource = snapshotResource({\n ...opts,\n params: () => ({\n pageNo: pageNo(),\n pageSize: pageSize(),\n ...opts.params?.()\n }),\n stream: params => opts.stream(params).pipe(tap(page => {\n if (pageNo() === 1) {\n items.set(page.content);\n }\n else {\n items.update(value => [...value, ...page.content]);\n }\n }))\n });\n function reset() {\n pageNo.set(1);\n }\n effect(() => {\n opts.params?.();\n reset();\n });\n return Object.assign(resource, {\n items,\n pageNo,\n pageSize,\n next() {\n if (!resource.value()?.last) {\n pageNo.update(value => ++value);\n }\n },\n reset\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS1yZXNvdXJjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2NvcmUvc3JjL3Jlc291cmNlcy9wYWdlLXJlc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsTUFBTSxFQUF3QixNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUYsT0FBTyxFQUFjLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV2RCxNQUFNLFVBQVUsWUFBWSxDQUFPLElBQStCO0lBQ2hFLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLGtEQUFDLENBQUM7SUFDekIsTUFBTSxRQUFRLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksRUFBRSxvREFBQyxDQUFDO0lBQzdDLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBTSxFQUFFLGlEQUFDLENBQUM7SUFFOUIsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7UUFDaEMsR0FBRyxJQUFJO1FBQ1AsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDYixNQUFNLEVBQUUsTUFBTSxFQUFFO1lBQ2hCLFFBQVEsRUFBRSxRQUFRLEVBQUU7WUFDcEIsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQU87U0FDeEIsQ0FBQztRQUNGLE1BQU0sRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN4QyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDVCxJQUFJLE1BQU0sRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMxQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQztZQUNyRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQ0g7S0FDRixDQUFDLENBQUM7SUFFSCxTQUFTLEtBQUs7UUFDWixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRyxFQUFFO1FBQ1YsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDaEIsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDLENBQUMsQ0FBQztJQUVILE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUU7UUFDN0IsS0FBSztRQUNMLE1BQU07UUFDTixRQUFRO1FBQ1IsSUFBSTtZQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUM7Z0JBQzVCLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUM7UUFDSCxDQUFDO1FBQ0QsS0FBSztLQUNOLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlUmVzb3VyY2VPcHRpb25zLCBlZmZlY3QsIFJlc291cmNlTG9hZGVyUGFyYW1zLCBzaWduYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBhZ2UgfSBmcm9tICdAc29sYXIta2l0L3BsYW5ldHMvc3VuJztcbmltcG9ydCB7IE9ic2VydmFibGUsIHRhcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgc25hcHNob3RSZXNvdXJjZSB9IGZyb20gJy4vc25hcHNob3QtcmVzb3VyY2UnO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFnZVJlc291cmNlPFQsIFI+KG9wdHM6IFBhZ2VSZXNvdXJjZU9wdGlvbnM8VCwgUj4pIHtcbiAgY29uc3QgcGFnZU5vID0gc2lnbmFsKDEpO1xuICBjb25zdCBwYWdlU2l6ZSA9IHNpZ25hbChvcHRzLnBhZ2VTaXplIHx8IDE1KTtcbiAgY29uc3QgaXRlbXMgPSBzaWduYWw8VFtdPihbXSk7XG5cbiAgY29uc3QgcmVzb3VyY2UgPSBzbmFwc2hvdFJlc291cmNlKHtcbiAgICAuLi5vcHRzLFxuICAgIHBhcmFtczogKCkgPT4gKHtcbiAgICAgIHBhZ2VObzogcGFnZU5vKCksXG4gICAgICBwYWdlU2l6ZTogcGFnZVNpemUoKSxcbiAgICAgIC4uLm9wdHMucGFyYW1zPy4oKSBhcyBSXG4gICAgfSksXG4gICAgc3RyZWFtOiBwYXJhbXMgPT4gb3B0cy5zdHJlYW0ocGFyYW1zKS5waXBlKFxuICAgICAgdGFwKHBhZ2UgPT4ge1xuICAgICAgICBpZiAocGFnZU5vKCkgPT09IDEpIHtcbiAgICAgICAgICBpdGVtcy5zZXQocGFnZS5jb250ZW50KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpdGVtcy51cGRhdGUodmFsdWUgPT4gWy4uLnZhbHVlLCAuLi5wYWdlLmNvbnRlbnRdKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApXG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHJlc2V0KCkge1xuICAgIHBhZ2VOby5zZXQoMSk7XG4gIH1cblxuICBlZmZlY3QoKCkgPT4ge1xuICAgIG9wdHMucGFyYW1zPy4oKTtcbiAgICByZXNldCgpO1xuICB9KTtcblxuICByZXR1cm4gT2JqZWN0LmFzc2lnbihyZXNvdXJjZSwge1xuICAgIGl0ZW1zLFxuICAgIHBhZ2VObyxcbiAgICBwYWdlU2l6ZSxcbiAgICBuZXh0KCkge1xuICAgICAgaWYgKCFyZXNvdXJjZS52YWx1ZSgpPy5sYXN0KSB7XG4gICAgICAgIHBhZ2VOby51cGRhdGUodmFsdWUgPT4gKyt2YWx1ZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICByZXNldFxuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQYWdlUmVzb3VyY2VPcHRpb25zPFQsIFI+IGV4dGVuZHMgQmFzZVJlc291cmNlT3B0aW9uczxQYWdlPFQ+LCBSPiB7XG4gIHN0cmVhbTogKHBhcmFtczogUmVzb3VyY2VMb2FkZXJQYXJhbXM8UiAmIHsgcGFnZU5vOiBudW1iZXIsIHBhZ2VTaXplOiBudW1iZXIgfT4pID0+IE9ic2VydmFibGU8UGFnZTxUPj47XG4gIC8qKlxuICAgKiBAZGVmYXVsdCAxNVxuICAgKi9cbiAgcGFnZVNpemU/OiBudW1iZXI7XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29sYXItYW5ndWxhci1jb3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGFja2FnZXMvY29yZS9zcmMvc29sYXItYW5ndWxhci1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,7 +1,8 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { InjectionToken, WritableSignal, PipeTransform, EnvironmentProviders, BaseResourceOptions, ResourceLoaderParams } from '@angular/core';
2
+ import { InjectionToken, WritableSignal, PipeTransform, EnvironmentProviders, BaseResourceOptions, ResourceLoaderParams, ResourceRef, Signal } from '@angular/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { Page } from '@solar-kit/planets/sun';
5
+ import { RxResourceOptions } from '@angular/core/rxjs-interop';
5
6
 
6
7
  interface SolarConfig {
7
8
  clientId: string;
@@ -38,24 +39,34 @@ declare class FindByIdPipe<T extends {
38
39
 
39
40
  declare function provideSolar(config: SolarConfig): EnvironmentProviders;
40
41
 
41
- declare function pageResource<T, R>(opts: PageResourceOptions<T, R> & {
42
- pageNo?: number;
43
- pageSize?: number;
44
- }): _angular_core.ResourceRef<Page<T> | undefined> & {
42
+ declare function pageResource<T, R>(opts: PageResourceOptions<T, R>): _angular_core.ResourceRef<Page<T>> & {
43
+ snapshotValue: _angular_core.Signal<Page<T> | undefined>;
44
+ } & {
45
45
  items: _angular_core.WritableSignal<T[]>;
46
- snapshotValue: _angular_core.WritableSignal<Page<T> | null>;
47
46
  pageNo: _angular_core.WritableSignal<number>;
48
47
  pageSize: _angular_core.WritableSignal<number>;
49
- totalPages: _angular_core.Signal<number>;
50
48
  next(): void;
51
- reset(): void;
49
+ reset: () => void;
52
50
  };
53
51
  interface PageResourceOptions<T, R> extends BaseResourceOptions<Page<T>, R> {
54
52
  stream: (params: ResourceLoaderParams<R & {
55
53
  pageNo: number;
56
54
  pageSize: number;
57
55
  }>) => Observable<Page<T>>;
56
+ /**
57
+ * @default 15
58
+ */
59
+ pageSize?: number;
58
60
  }
59
61
 
60
- export { CnumberPipe, FindByIdPipe, SOLAR_CONFIG, attachLoading, pageResource, provideSolar };
62
+ declare function snapshotResource<T, R>(opts: RxResourceOptions<T, R> & {
63
+ defaultValue: NoInfer<T>;
64
+ }): ResourceRef<T> & {
65
+ snapshotValue: Signal<T>;
66
+ };
67
+ declare function snapshotResource<T, R>(opts: RxResourceOptions<T, R>): ResourceRef<T> & {
68
+ snapshotValue: Signal<T | undefined>;
69
+ };
70
+
71
+ export { CnumberPipe, FindByIdPipe, SOLAR_CONFIG, attachLoading, pageResource, provideSolar, snapshotResource };
61
72
  export type { PageResourceOptions, SolarConfig };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solar-angular/core",
3
- "version": "20.1.1",
3
+ "version": "20.1.3",
4
4
  "sideEffects": false,
5
5
  "publishConfig": {
6
6
  "access": "public"