@solar-angular/planets 1.0.0
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 +7 -0
- package/earth/earth.pipe.d.ts +19 -0
- package/earth/earth.resolver.d.ts +4 -0
- package/earth/earth.service.d.ts +32 -0
- package/earth/guards/auth.guard.d.ts +12 -0
- package/earth/guards/index.d.ts +3 -0
- package/earth/guards/permission.guard.d.ts +6 -0
- package/earth/guards/unauth.guard.d.ts +6 -0
- package/earth/index.d.ts +6 -0
- package/earth/menu.service.d.ts +14 -0
- package/earth/object-storage.service.d.ts +21 -0
- package/esm2022/earth/earth.pipe.mjs +51 -0
- package/esm2022/earth/earth.resolver.mjs +10 -0
- package/esm2022/earth/earth.service.mjs +134 -0
- package/esm2022/earth/guards/auth.guard.mjs +30 -0
- package/esm2022/earth/guards/index.mjs +4 -0
- package/esm2022/earth/guards/permission.guard.mjs +16 -0
- package/esm2022/earth/guards/unauth.guard.mjs +16 -0
- package/esm2022/earth/index.mjs +7 -0
- package/esm2022/earth/menu.service.mjs +37 -0
- package/esm2022/earth/object-storage.service.mjs +44 -0
- package/esm2022/earth/solar-angular-planets-earth.mjs +5 -0
- package/esm2022/index.mjs +2 -0
- package/esm2022/mercury/auth.interceptor.mjs +53 -0
- package/esm2022/mercury/index.mjs +3 -0
- package/esm2022/mercury/mercury.service.mjs +68 -0
- package/esm2022/mercury/solar-angular-planets-mercury.mjs +5 -0
- package/esm2022/solar-angular-planets.mjs +5 -0
- package/esm2022/sun/gender.pipe.mjs +20 -0
- package/esm2022/sun/index.mjs +2 -0
- package/esm2022/sun/solar-angular-planets-sun.mjs +5 -0
- package/fesm2022/solar-angular-planets-earth.mjs +318 -0
- package/fesm2022/solar-angular-planets-earth.mjs.map +1 -0
- package/fesm2022/solar-angular-planets-mercury.mjs +123 -0
- package/fesm2022/solar-angular-planets-mercury.mjs.map +1 -0
- package/fesm2022/solar-angular-planets-sun.mjs +27 -0
- package/fesm2022/solar-angular-planets-sun.mjs.map +1 -0
- package/fesm2022/solar-angular-planets.mjs +6 -0
- package/fesm2022/solar-angular-planets.mjs.map +1 -0
- package/index.d.ts +2 -0
- package/mercury/auth.interceptor.d.ts +8 -0
- package/mercury/index.d.ts +2 -0
- package/mercury/mercury.service.d.ts +17 -0
- package/package.json +48 -0
- package/sun/gender.pipe.d.ts +8 -0
- package/sun/index.d.ts +1 -0
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { HttpClient, HttpParams, HttpContext, HttpStatusCode } from '@angular/common/http';
|
|
2
|
+
import * as i0 from '@angular/core';
|
|
3
|
+
import { inject, Injectable, Injector, runInInjectionContext } from '@angular/core';
|
|
4
|
+
import { Router } from '@angular/router';
|
|
5
|
+
import { CacheManager, AUTH_TOKEN, CATCH_RESULT_ERROR_TOKEN, CATCH_HTTP_ERROR_TOKEN, AUTH_REDIRECT_TOKEN } from '@solar-angular/http';
|
|
6
|
+
import { tap, switchMap, retry, map, catchError, finalize, share } from 'rxjs';
|
|
7
|
+
import { SOLAR_CONFIG } from '@solar-angular/core';
|
|
8
|
+
|
|
9
|
+
class MercuryService {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.config = inject(SOLAR_CONFIG);
|
|
12
|
+
this.http = inject(HttpClient);
|
|
13
|
+
this.cacheManager = inject(CacheManager);
|
|
14
|
+
}
|
|
15
|
+
auth(username, password, remember, options) {
|
|
16
|
+
return this.http.post(`${this.config.mercuryUrl}/auth`, new HttpParams({
|
|
17
|
+
fromObject: {
|
|
18
|
+
username,
|
|
19
|
+
password,
|
|
20
|
+
remember,
|
|
21
|
+
grant_type: 'password',
|
|
22
|
+
client_id: this.config.clientId,
|
|
23
|
+
captcha: encodeURIComponent(options.captcha)
|
|
24
|
+
}
|
|
25
|
+
}).toString(), {
|
|
26
|
+
headers: {
|
|
27
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
28
|
+
'Content-type': 'application/x-www-form-urlencoded; charset=utf-8',
|
|
29
|
+
Authorization: 'Basic ' + btoa(`${this.config.clientId}:${options.clientSecret}`)
|
|
30
|
+
},
|
|
31
|
+
context: new HttpContext()
|
|
32
|
+
.set(AUTH_TOKEN, false)
|
|
33
|
+
.set(CATCH_RESULT_ERROR_TOKEN, false)
|
|
34
|
+
.set(CATCH_HTTP_ERROR_TOKEN, false)
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
refreshCertificate() {
|
|
38
|
+
return this.http.post(`${this.config.mercuryUrl}/auth`, null, {
|
|
39
|
+
headers: {
|
|
40
|
+
'X-Requested-With': 'XMLHttpRequest',
|
|
41
|
+
Authorization: 'Basic ' + btoa(`${this.config.clientId}:refresh`)
|
|
42
|
+
},
|
|
43
|
+
params: {
|
|
44
|
+
client_id: this.config.clientId,
|
|
45
|
+
grant_type: 'refresh_token',
|
|
46
|
+
},
|
|
47
|
+
context: new HttpContext()
|
|
48
|
+
.set(AUTH_TOKEN, false)
|
|
49
|
+
.set(CATCH_RESULT_ERROR_TOKEN, false)
|
|
50
|
+
.set(CATCH_HTTP_ERROR_TOKEN, false)
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
leave() {
|
|
54
|
+
return this.http.post(`${this.config.mercuryUrl}/leave`, null, {
|
|
55
|
+
context: new HttpContext()
|
|
56
|
+
.set(AUTH_TOKEN, false)
|
|
57
|
+
.set(CATCH_RESULT_ERROR_TOKEN, false)
|
|
58
|
+
.set(CATCH_HTTP_ERROR_TOKEN, false)
|
|
59
|
+
}).pipe(tap(({ code }) => code === 0 && this.cacheManager.revokeAll()));
|
|
60
|
+
}
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MercuryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MercuryService, providedIn: 'root' }); }
|
|
63
|
+
}
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MercuryService, decorators: [{
|
|
65
|
+
type: Injectable,
|
|
66
|
+
args: [{
|
|
67
|
+
providedIn: 'root'
|
|
68
|
+
}]
|
|
69
|
+
}] });
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Mercury 认证拦截器
|
|
73
|
+
* - 使用 {@link AUTH_TOKEN} 跳过该拦截器
|
|
74
|
+
* - 使用 {@link AUTH_REDIRECT_TOKEN} 关闭认证失败自动跳转到 `/login`
|
|
75
|
+
* @returns
|
|
76
|
+
*/
|
|
77
|
+
function useAuthInterceptor(onUnauth) {
|
|
78
|
+
/** 令牌刷新器 */
|
|
79
|
+
let refreshToken$ = null;
|
|
80
|
+
return (request, next) => {
|
|
81
|
+
const router = inject(Router);
|
|
82
|
+
const cacheManager = inject(CacheManager);
|
|
83
|
+
const mercuryService = inject(MercuryService);
|
|
84
|
+
const injector = inject(Injector);
|
|
85
|
+
if (!request.context.get(AUTH_TOKEN)) {
|
|
86
|
+
return next(request);
|
|
87
|
+
}
|
|
88
|
+
if (refreshToken$) {
|
|
89
|
+
return refreshToken$.pipe(switchMap(() => next(request)));
|
|
90
|
+
}
|
|
91
|
+
return next(request).pipe(retry({
|
|
92
|
+
count: 1,
|
|
93
|
+
delay: (error) => {
|
|
94
|
+
if (error.status !== HttpStatusCode.Unauthorized) {
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
refreshToken$ ||= mercuryService.refreshCertificate().pipe(map(result => {
|
|
98
|
+
if (result?.code !== 0) {
|
|
99
|
+
throw result;
|
|
100
|
+
}
|
|
101
|
+
return result;
|
|
102
|
+
}), catchError(error => {
|
|
103
|
+
// 如果刷新令牌都出错了,则这些等待刷新令牌的请求也不需要捕获 HTTP 错误了
|
|
104
|
+
request.context.set(CATCH_HTTP_ERROR_TOKEN, false);
|
|
105
|
+
if (request.context.get(AUTH_REDIRECT_TOKEN)) {
|
|
106
|
+
runInInjectionContext(injector, () => onUnauth());
|
|
107
|
+
router.navigate(['/login', { redirect: router.url }]);
|
|
108
|
+
}
|
|
109
|
+
cacheManager.revokeAll();
|
|
110
|
+
throw error;
|
|
111
|
+
}), finalize(() => refreshToken$ = null), share());
|
|
112
|
+
return refreshToken$;
|
|
113
|
+
}
|
|
114
|
+
}));
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Generated bundle index. Do not edit.
|
|
120
|
+
*/
|
|
121
|
+
|
|
122
|
+
export { MercuryService, useAuthInterceptor };
|
|
123
|
+
//# sourceMappingURL=solar-angular-planets-mercury.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solar-angular-planets-mercury.mjs","sources":["../../../packages/planets/mercury/mercury.service.ts","../../../packages/planets/mercury/auth.interceptor.ts","../../../packages/planets/mercury/solar-angular-planets-mercury.ts"],"sourcesContent":["import { HttpClient, HttpContext, HttpParams } from '@angular/common/http';\nimport { Injectable, inject } from '@angular/core';\nimport { SOLAR_CONFIG } from '@solar-angular/core';\nimport { AUTH_TOKEN, CATCH_HTTP_ERROR_TOKEN, CATCH_RESULT_ERROR_TOKEN, CacheManager } from '@solar-angular/http';\nimport { Result } from '@solar-kit/planets/sun';\nimport { tap } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class MercuryService {\n protected readonly config = inject(SOLAR_CONFIG);\n protected readonly http = inject(HttpClient);\n protected readonly cacheManager = inject(CacheManager);\n\n auth(username: string, password: string, remember: boolean, options: { clientSecret: string, captcha: string }) {\n return this.http.post<Result>(`${this.config.mercuryUrl}/auth`,\n new HttpParams({\n fromObject: {\n username,\n password,\n remember,\n grant_type: 'password',\n client_id: this.config.clientId,\n captcha: encodeURIComponent(options.captcha)\n }\n }).toString(),\n {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n 'Content-type': 'application/x-www-form-urlencoded; charset=utf-8',\n Authorization: 'Basic ' + btoa(`${this.config.clientId}:${options.clientSecret}`)\n },\n context: new HttpContext()\n .set(AUTH_TOKEN, false)\n .set(CATCH_RESULT_ERROR_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }\n );\n }\n\n refreshCertificate() {\n return this.http.post<Result>(`${this.config.mercuryUrl}/auth`, null, {\n headers: {\n 'X-Requested-With': 'XMLHttpRequest',\n Authorization: 'Basic ' + btoa(`${this.config.clientId}:refresh`)\n },\n params: {\n client_id: this.config.clientId,\n grant_type: 'refresh_token',\n },\n context: new HttpContext()\n .set(AUTH_TOKEN, false)\n .set(CATCH_RESULT_ERROR_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n });\n }\n\n leave() {\n return this.http.post<Result>(`${this.config.mercuryUrl}/leave`, null, {\n context: new HttpContext()\n .set(AUTH_TOKEN, false)\n .set(CATCH_RESULT_ERROR_TOKEN, false)\n .set(CATCH_HTTP_ERROR_TOKEN, false)\n }).pipe(\n tap(({ code }) => code === 0 && this.cacheManager.revokeAll())\n );\n }\n\n}\n","import { HttpErrorResponse, HttpEvent, HttpHandlerFn, HttpInterceptorFn, HttpRequest, HttpStatusCode } from '@angular/common/http';\nimport { inject, Injector, runInInjectionContext } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { AUTH_REDIRECT_TOKEN, AUTH_TOKEN, CacheManager, CATCH_HTTP_ERROR_TOKEN } from '@solar-angular/http';\nimport { Result } from '@solar-kit/planets/sun';\nimport { catchError, finalize, map, Observable, retry, share, switchMap } from 'rxjs';\nimport { MercuryService } from './mercury.service';\n\n/**\n * Mercury 认证拦截器\n * - 使用 {@link AUTH_TOKEN} 跳过该拦截器\n * - 使用 {@link AUTH_REDIRECT_TOKEN} 关闭认证失败自动跳转到 `/login`\n * @returns\n */\nexport function useAuthInterceptor(onUnauth: () => void): HttpInterceptorFn {\n /** 令牌刷新器 */\n let refreshToken$: Observable<Result> | null = null;\n\n return (request: HttpRequest<unknown>, next: HttpHandlerFn): Observable<HttpEvent<unknown>> => {\n const router = inject(Router);\n const cacheManager = inject(CacheManager);\n const mercuryService = inject(MercuryService);\n const injector = inject(Injector);\n\n if (!request.context.get(AUTH_TOKEN)) {\n return next(request);\n }\n\n if (refreshToken$) {\n return refreshToken$.pipe(\n switchMap(() => next(request))\n );\n }\n\n return next(request).pipe(\n retry({\n count: 1,\n delay: (error: HttpErrorResponse) => {\n if (error.status !== HttpStatusCode.Unauthorized) {\n throw error;\n }\n\n refreshToken$ ||= mercuryService.refreshCertificate().pipe(\n map(result => {\n if (result?.code !== 0) {\n throw result;\n }\n\n return result;\n }),\n catchError(error => {\n // 如果刷新令牌都出错了,则这些等待刷新令牌的请求也不需要捕获 HTTP 错误了\n request.context.set(CATCH_HTTP_ERROR_TOKEN, false);\n\n if (request.context.get(AUTH_REDIRECT_TOKEN)) {\n runInInjectionContext(injector, () => onUnauth())\n router.navigate(['/login', { redirect: router.url }]);\n }\n\n cacheManager.revokeAll();\n\n throw error;\n }),\n finalize(() => refreshToken$ = null),\n share()\n );\n\n return refreshToken$;\n }\n })\n );\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
|
|
4
|
+
class GenderPipe {
|
|
5
|
+
transform(value) {
|
|
6
|
+
return {
|
|
7
|
+
[0 /* Gender.Woman */]: '女',
|
|
8
|
+
[1 /* Gender.Man */]: '男',
|
|
9
|
+
}[value];
|
|
10
|
+
}
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenderPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
12
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: GenderPipe, isStandalone: true, name: "gender" }); }
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: GenderPipe, decorators: [{
|
|
15
|
+
type: Pipe,
|
|
16
|
+
args: [{
|
|
17
|
+
name: 'gender',
|
|
18
|
+
standalone: true
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Generated bundle index. Do not edit.
|
|
24
|
+
*/
|
|
25
|
+
|
|
26
|
+
export { GenderPipe };
|
|
27
|
+
//# sourceMappingURL=solar-angular-planets-sun.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solar-angular-planets-sun.mjs","sources":["../../../packages/planets/sun/gender.pipe.ts","../../../packages/planets/sun/solar-angular-planets-sun.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\nimport { Gender } from '@solar-kit/planets/sun';\n\n@Pipe({\n name: 'gender',\n standalone: true\n})\nexport class GenderPipe implements PipeTransform {\n\n transform(value: Gender): string {\n return {\n [Gender.Woman]: '女',\n [Gender.Man]: '男',\n }[value];\n }\n\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;MAOa,UAAU,CAAA;AAErB,IAAA,SAAS,CAAC,KAAa,EAAA;QACrB,OAAO;AACL,YAAA,CAAA,CAAA,sBAAgB,GAAG;AACnB,YAAA,CAAA,CAAA,oBAAc,GAAG;SAClB,CAAC,KAAK,CAAC,CAAC;KACV;+GAPU,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA,EAAA;6GAAV,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,IAAA,EAAA,QAAA,EAAA,CAAA,CAAA,EAAA;;4FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBAJtB,IAAI;AAAC,YAAA,IAAA,EAAA,CAAA;AACJ,oBAAA,IAAI,EAAE,QAAQ;AACd,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA,CAAA;;;ACND;;AAEG;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solar-angular-planets.mjs","sources":["../../../packages/planets/index.ts","../../../packages/planets/solar-angular-planets.ts"],"sourcesContent":["export default void 0;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA,YAAe,KAAK,CAAC;;ACArB;;AAEG"}
|
package/index.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { HttpInterceptorFn } from '@angular/common/http';
|
|
2
|
+
/**
|
|
3
|
+
* Mercury 认证拦截器
|
|
4
|
+
* - 使用 {@link AUTH_TOKEN} 跳过该拦截器
|
|
5
|
+
* - 使用 {@link AUTH_REDIRECT_TOKEN} 关闭认证失败自动跳转到 `/login`
|
|
6
|
+
* @returns
|
|
7
|
+
*/
|
|
8
|
+
export declare function useAuthInterceptor(onUnauth: () => void): HttpInterceptorFn;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { CacheManager } from '@solar-angular/http';
|
|
3
|
+
import { Result } from '@solar-kit/planets/sun';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class MercuryService {
|
|
6
|
+
protected readonly config: import("@solar-angular/core").SolarConfig;
|
|
7
|
+
protected readonly http: HttpClient;
|
|
8
|
+
protected readonly cacheManager: CacheManager;
|
|
9
|
+
auth(username: string, password: string, remember: boolean, options: {
|
|
10
|
+
clientSecret: string;
|
|
11
|
+
captcha: string;
|
|
12
|
+
}): import("rxjs").Observable<Result<null>>;
|
|
13
|
+
refreshCertificate(): import("rxjs").Observable<Result<null>>;
|
|
14
|
+
leave(): import("rxjs").Observable<Result<null>>;
|
|
15
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MercuryService, never>;
|
|
16
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MercuryService>;
|
|
17
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@solar-angular/planets",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"sideEffects": false,
|
|
5
|
+
"publishConfig": {
|
|
6
|
+
"access": "public"
|
|
7
|
+
},
|
|
8
|
+
"peerDependencies": {
|
|
9
|
+
"@angular/common": "^18.0.0",
|
|
10
|
+
"@angular/core": "^18.0.0",
|
|
11
|
+
"@solar-angular/core": "0.0.0",
|
|
12
|
+
"@solar-angular/http": "0.0.0"
|
|
13
|
+
},
|
|
14
|
+
"module": "fesm2022/solar-angular-planets.mjs",
|
|
15
|
+
"typings": "index.d.ts",
|
|
16
|
+
"exports": {
|
|
17
|
+
"./package.json": {
|
|
18
|
+
"default": "./package.json"
|
|
19
|
+
},
|
|
20
|
+
".": {
|
|
21
|
+
"types": "./index.d.ts",
|
|
22
|
+
"esm2022": "./esm2022/solar-angular-planets.mjs",
|
|
23
|
+
"esm": "./esm2022/solar-angular-planets.mjs",
|
|
24
|
+
"default": "./fesm2022/solar-angular-planets.mjs"
|
|
25
|
+
},
|
|
26
|
+
"./earth": {
|
|
27
|
+
"types": "./earth/index.d.ts",
|
|
28
|
+
"esm2022": "./esm2022/earth/solar-angular-planets-earth.mjs",
|
|
29
|
+
"esm": "./esm2022/earth/solar-angular-planets-earth.mjs",
|
|
30
|
+
"default": "./fesm2022/solar-angular-planets-earth.mjs"
|
|
31
|
+
},
|
|
32
|
+
"./mercury": {
|
|
33
|
+
"types": "./mercury/index.d.ts",
|
|
34
|
+
"esm2022": "./esm2022/mercury/solar-angular-planets-mercury.mjs",
|
|
35
|
+
"esm": "./esm2022/mercury/solar-angular-planets-mercury.mjs",
|
|
36
|
+
"default": "./fesm2022/solar-angular-planets-mercury.mjs"
|
|
37
|
+
},
|
|
38
|
+
"./sun": {
|
|
39
|
+
"types": "./sun/index.d.ts",
|
|
40
|
+
"esm2022": "./esm2022/sun/solar-angular-planets-sun.mjs",
|
|
41
|
+
"esm": "./esm2022/sun/solar-angular-planets-sun.mjs",
|
|
42
|
+
"default": "./fesm2022/solar-angular-planets-sun.mjs"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"dependencies": {
|
|
46
|
+
"tslib": "^2.3.0"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import { Gender } from '@solar-kit/planets/sun';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class GenderPipe implements PipeTransform {
|
|
5
|
+
transform(value: Gender): string;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GenderPipe, never>;
|
|
7
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<GenderPipe, "gender", true>;
|
|
8
|
+
}
|
package/sun/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './gender.pipe';
|