@food-log/utils 0.0.32

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.
Files changed (59) hide show
  1. package/.build/index.d.ts +15 -0
  2. package/.build/index.js +32 -0
  3. package/.build/index.js.map +1 -0
  4. package/.build/src/core/constant/auth.d.ts +7 -0
  5. package/.build/src/core/constant/auth.js +3 -0
  6. package/.build/src/core/constant/auth.js.map +1 -0
  7. package/.build/src/core/constant/language.d.ts +4 -0
  8. package/.build/src/core/constant/language.js +3 -0
  9. package/.build/src/core/constant/language.js.map +1 -0
  10. package/.build/src/core/constant/stage.d.ts +7 -0
  11. package/.build/src/core/constant/stage.js +10 -0
  12. package/.build/src/core/constant/stage.js.map +1 -0
  13. package/.build/src/core/constant/timezone.d.ts +597 -0
  14. package/.build/src/core/constant/timezone.js +600 -0
  15. package/.build/src/core/constant/timezone.js.map +1 -0
  16. package/.build/src/core/env/decorator.d.ts +8 -0
  17. package/.build/src/core/env/decorator.js +55 -0
  18. package/.build/src/core/env/decorator.js.map +1 -0
  19. package/.build/src/core/env/env.d.ts +8 -0
  20. package/.build/src/core/env/env.js +30 -0
  21. package/.build/src/core/env/env.js.map +1 -0
  22. package/.build/src/core/exception/authError.d.ts +10 -0
  23. package/.build/src/core/exception/authError.js +23 -0
  24. package/.build/src/core/exception/authError.js.map +1 -0
  25. package/.build/src/core/exception/baseError.d.ts +13 -0
  26. package/.build/src/core/exception/baseError.js +13 -0
  27. package/.build/src/core/exception/baseError.js.map +1 -0
  28. package/.build/src/core/exception/internalServerError.d.ts +10 -0
  29. package/.build/src/core/exception/internalServerError.js +23 -0
  30. package/.build/src/core/exception/internalServerError.js.map +1 -0
  31. package/.build/src/core/exception/requestError.d.ts +10 -0
  32. package/.build/src/core/exception/requestError.js +23 -0
  33. package/.build/src/core/exception/requestError.js.map +1 -0
  34. package/.build/src/core/exception/warningError.d.ts +10 -0
  35. package/.build/src/core/exception/warningError.js +23 -0
  36. package/.build/src/core/exception/warningError.js.map +1 -0
  37. package/.build/src/core/firebase/app.d.ts +9 -0
  38. package/.build/src/core/firebase/app.js +15 -0
  39. package/.build/src/core/firebase/app.js.map +1 -0
  40. package/.build/src/core/firebase/auth.d.ts +13 -0
  41. package/.build/src/core/firebase/auth.js +48 -0
  42. package/.build/src/core/firebase/auth.js.map +1 -0
  43. package/.build/src/core/firebase/firestore.d.ts +26 -0
  44. package/.build/src/core/firebase/firestore.js +82 -0
  45. package/.build/src/core/firebase/firestore.js.map +1 -0
  46. package/.build/src/core/firebase/storage.d.ts +5 -0
  47. package/.build/src/core/firebase/storage.js +17 -0
  48. package/.build/src/core/firebase/storage.js.map +1 -0
  49. package/.build/src/core/service/dateUtils.d.ts +16 -0
  50. package/.build/src/core/service/dateUtils.js +40 -0
  51. package/.build/src/core/service/dateUtils.js.map +1 -0
  52. package/.build/src/core/service/objectUtils.d.ts +25 -0
  53. package/.build/src/core/service/objectUtils.js +135 -0
  54. package/.build/src/core/service/objectUtils.js.map +1 -0
  55. package/.build/src/core/validation/validationUtils.d.ts +102 -0
  56. package/.build/src/core/validation/validationUtils.js +185 -0
  57. package/.build/src/core/validation/validationUtils.js.map +1 -0
  58. package/README.md +5 -0
  59. package/package.json +42 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.EnvVar = void 0;
27
+ const lodash = __importStar(require("lodash"));
28
+ const stage_1 = require("../constant/stage");
29
+ const validationUtils_1 = require("../validation/validationUtils");
30
+ const EnvVar = (options) => {
31
+ if (process.env.STAGE == null) {
32
+ process.env.STAGE = stage_1.ApplicationStage.dev;
33
+ }
34
+ else if (!validationUtils_1.ValidationUtils.isEnumMember(process.env.STAGE, stage_1.ApplicationStage)) {
35
+ throw new Error(`process.env.STAGE is invalid. Set to local, dev, stg, or prod.`);
36
+ }
37
+ const stage = process.env.STAGE;
38
+ return (target, propertyKey) => {
39
+ Object.defineProperty(target, propertyKey, {
40
+ set: (_) => null,
41
+ get: () => {
42
+ if (options[stage] != null)
43
+ return options[stage];
44
+ if (options.default != null)
45
+ return options.default;
46
+ if (typeof propertyKey === 'string' &&
47
+ process.env[lodash.upperCase(lodash.snakeCase(propertyKey))] != null)
48
+ return process.env[lodash.upperCase(lodash.snakeCase(propertyKey))];
49
+ throw new Error(`environment variable ${propertyKey.toString()} is not defined in ${stage} stage`);
50
+ },
51
+ });
52
+ };
53
+ };
54
+ exports.EnvVar = EnvVar;
55
+ //# sourceMappingURL=decorator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorator.js","sourceRoot":"","sources":["../../../../src/core/env/decorator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAiC;AACjC,6CAA2E;AAC3E,mEAAgE;AAQzD,MAAM,MAAM,GAAG,CAAI,OAAsB,EAAqB,EAAE;IACrE,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE;QAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,wBAAgB,CAAC,GAAG,CAAC;KAC1C;SAAM,IACL,CAAC,iCAAe,CAAC,YAAY,CAAuB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,wBAAgB,CAAC,EACxF;QACA,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;KACnF;IAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAA6B,CAAC;IAExD,OAAO,CAAC,MAAW,EAAE,WAA4B,EAAE,EAAE;QACnD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,GAAG,EAAE,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI;YACrB,GAAG,EAAE,GAAG,EAAE;gBACR,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI;oBAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI;oBAAE,OAAO,OAAO,CAAC,OAAO,CAAC;gBACpD,IACE,OAAO,WAAW,KAAK,QAAQ;oBAC/B,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,IAAI;oBAEpE,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;gBACtE,MAAM,IAAI,KAAK,CACb,wBAAwB,WAAW,CAAC,QAAQ,EAAE,sBAAsB,KAAK,QAAQ,CAClF,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC,CAAC;AA5BW,QAAA,MAAM,UA4BjB"}
@@ -0,0 +1,8 @@
1
+ import { ApplicationStageType } from '../constant/stage';
2
+ export declare class BaseEnv {
3
+ static get stage(): ApplicationStageType;
4
+ static get isProd(): boolean;
5
+ static get isStg(): boolean;
6
+ static get isDev(): boolean;
7
+ static get isLocal(): boolean;
8
+ }
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseEnv = void 0;
4
+ const stage_1 = require("../constant/stage");
5
+ const validationUtils_1 = require("../validation/validationUtils");
6
+ class BaseEnv {
7
+ static get stage() {
8
+ if (process.env.STAGE == null) {
9
+ process.env.STAGE = stage_1.ApplicationStage.dev;
10
+ }
11
+ else if (!validationUtils_1.ValidationUtils.isEnumMember(process.env.STAGE, stage_1.ApplicationStage)) {
12
+ throw new Error(`process.env.STAGE is invalid. Set to local, dev, stg, or prod.`);
13
+ }
14
+ return process.env.STAGE;
15
+ }
16
+ static get isProd() {
17
+ return this.stage === stage_1.ApplicationStage.prod;
18
+ }
19
+ static get isStg() {
20
+ return this.stage === stage_1.ApplicationStage.stg;
21
+ }
22
+ static get isDev() {
23
+ return this.stage === stage_1.ApplicationStage.dev;
24
+ }
25
+ static get isLocal() {
26
+ return this.stage === stage_1.ApplicationStage.local;
27
+ }
28
+ }
29
+ exports.BaseEnv = BaseEnv;
30
+ //# sourceMappingURL=env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../../../src/core/env/env.ts"],"names":[],"mappings":";;;AAAA,6CAA2E;AAC3E,mEAAgE;AAEhE,MAAa,OAAO;IAClB,MAAM,KAAK,KAAK;QACd,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,EAAE;YAC7B,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,wBAAgB,CAAC,GAAG,CAAC;SAC1C;aAAM,IACL,CAAC,iCAAe,CAAC,YAAY,CAAuB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,wBAAgB,CAAC,EACxF;YACA,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;SACnF;QACD,OAAO,OAAO,CAAC,GAAG,CAAC,KAA6B,CAAC;IACnD,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAC,KAAK,KAAK,wBAAgB,CAAC,IAAI,CAAC;IAC9C,CAAC;IAED,MAAM,KAAK,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,KAAK,wBAAgB,CAAC,GAAG,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,KAAK;QACd,OAAO,IAAI,CAAC,KAAK,KAAK,wBAAgB,CAAC,GAAG,CAAC;IAC7C,CAAC;IAED,MAAM,KAAK,OAAO;QAChB,OAAO,IAAI,CAAC,KAAK,KAAK,wBAAgB,CAAC,KAAK,CAAC;IAC/C,CAAC;CACF;AA3BD,0BA2BC"}
@@ -0,0 +1,10 @@
1
+ import { BaseError, ErrorResponseType } from './baseError';
2
+ /**
3
+ * Auth Error
4
+ * status code = 401
5
+ */
6
+ export declare class AuthError extends BaseError {
7
+ name: string;
8
+ private _status;
9
+ toResponseJson(): ErrorResponseType;
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthError = void 0;
4
+ const baseError_1 = require("./baseError");
5
+ /**
6
+ * Auth Error
7
+ * status code = 401
8
+ */
9
+ class AuthError extends baseError_1.BaseError {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'AuthError';
13
+ this._status = 401;
14
+ }
15
+ toResponseJson() {
16
+ return {
17
+ message: this.message,
18
+ status: this._status,
19
+ };
20
+ }
21
+ }
22
+ exports.AuthError = AuthError;
23
+ //# sourceMappingURL=authError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authError.js","sourceRoot":"","sources":["../../../../src/core/exception/authError.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D;;;GAGG;AAEH,MAAa,SAAU,SAAQ,qBAAS;IAAxC;;QACS,SAAI,GAAG,WAAW,CAAC;QAClB,YAAO,GAAG,GAAG,CAAC;IAQxB,CAAC;IANC,cAAc;QACZ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;CACF;AAVD,8BAUC"}
@@ -0,0 +1,13 @@
1
+ export interface ErrorResponseType {
2
+ message: string;
3
+ status: number;
4
+ }
5
+ /**
6
+ * BaseError
7
+ */
8
+ export declare abstract class BaseError implements Error {
9
+ abstract name: string;
10
+ message: string;
11
+ constructor(message: string);
12
+ abstract toResponseJson(this: BaseError): ErrorResponseType;
13
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BaseError = void 0;
4
+ /**
5
+ * BaseError
6
+ */
7
+ class BaseError {
8
+ constructor(message) {
9
+ this.message = message;
10
+ }
11
+ }
12
+ exports.BaseError = BaseError;
13
+ //# sourceMappingURL=baseError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"baseError.js","sourceRoot":"","sources":["../../../../src/core/exception/baseError.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACH,MAAsB,SAAS;IAI7B,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CAGF;AATD,8BASC"}
@@ -0,0 +1,10 @@
1
+ import { BaseError, ErrorResponseType } from './baseError';
2
+ /**
3
+ * Internal Server Error
4
+ * status code = 500
5
+ */
6
+ export declare class InternalServerError extends BaseError {
7
+ name: string;
8
+ private _status;
9
+ toResponseJson(): ErrorResponseType;
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalServerError = void 0;
4
+ const baseError_1 = require("./baseError");
5
+ /**
6
+ * Internal Server Error
7
+ * status code = 500
8
+ */
9
+ class InternalServerError extends baseError_1.BaseError {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'InternalServerError';
13
+ this._status = 500;
14
+ }
15
+ toResponseJson() {
16
+ return {
17
+ message: this.message,
18
+ status: this._status,
19
+ };
20
+ }
21
+ }
22
+ exports.InternalServerError = InternalServerError;
23
+ //# sourceMappingURL=internalServerError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"internalServerError.js","sourceRoot":"","sources":["../../../../src/core/exception/internalServerError.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D;;;GAGG;AAEH,MAAa,mBAAoB,SAAQ,qBAAS;IAAlD;;QACS,SAAI,GAAG,qBAAqB,CAAC;QAC5B,YAAO,GAAG,GAAG,CAAC;IAQxB,CAAC;IANC,cAAc;QACZ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;CACF;AAVD,kDAUC"}
@@ -0,0 +1,10 @@
1
+ import { BaseError, ErrorResponseType } from './baseError';
2
+ /**
3
+ * Request Error
4
+ * status code = 400
5
+ */
6
+ export declare class RequestError extends BaseError {
7
+ name: string;
8
+ private _status;
9
+ toResponseJson(): ErrorResponseType;
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestError = void 0;
4
+ const baseError_1 = require("./baseError");
5
+ /**
6
+ * Request Error
7
+ * status code = 400
8
+ */
9
+ class RequestError extends baseError_1.BaseError {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'RequestError';
13
+ this._status = 400;
14
+ }
15
+ toResponseJson() {
16
+ return {
17
+ message: this.message,
18
+ status: this._status,
19
+ };
20
+ }
21
+ }
22
+ exports.RequestError = RequestError;
23
+ //# sourceMappingURL=requestError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"requestError.js","sourceRoot":"","sources":["../../../../src/core/exception/requestError.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D;;;GAGG;AAEH,MAAa,YAAa,SAAQ,qBAAS;IAA3C;;QACS,SAAI,GAAG,cAAc,CAAC;QACrB,YAAO,GAAG,GAAG,CAAC;IAQxB,CAAC;IANC,cAAc;QACZ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;CACF;AAVD,oCAUC"}
@@ -0,0 +1,10 @@
1
+ import { BaseError, ErrorResponseType } from './baseError';
2
+ /**
3
+ * Warning Error
4
+ * status code = 200
5
+ */
6
+ export declare class WarningError extends BaseError {
7
+ name: string;
8
+ private _status;
9
+ toResponseJson(): ErrorResponseType;
10
+ }
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WarningError = void 0;
4
+ const baseError_1 = require("./baseError");
5
+ /**
6
+ * Warning Error
7
+ * status code = 200
8
+ */
9
+ class WarningError extends baseError_1.BaseError {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.name = 'WarningError';
13
+ this._status = 200;
14
+ }
15
+ toResponseJson() {
16
+ return {
17
+ message: this.message,
18
+ status: this._status,
19
+ };
20
+ }
21
+ }
22
+ exports.WarningError = WarningError;
23
+ //# sourceMappingURL=warningError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"warningError.js","sourceRoot":"","sources":["../../../../src/core/exception/warningError.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAE3D;;;GAGG;AAEH,MAAa,YAAa,SAAQ,qBAAS;IAA3C;;QACS,SAAI,GAAG,cAAc,CAAC;QACrB,YAAO,GAAG,GAAG,CAAC;IAQxB,CAAC;IANC,cAAc;QACZ,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;CACF;AAVD,oCAUC"}
@@ -0,0 +1,9 @@
1
+ import { AuthManager } from './auth';
2
+ import { FirestoreManager } from './firestore';
3
+ import { StorageManager } from './storage';
4
+ export declare class FirebaseManager {
5
+ readonly auth: AuthManager;
6
+ readonly firestore: FirestoreManager;
7
+ readonly storage: StorageManager;
8
+ constructor();
9
+ }
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirebaseManager = void 0;
4
+ const auth_1 = require("./auth");
5
+ const firestore_1 = require("./firestore");
6
+ const storage_1 = require("./storage");
7
+ class FirebaseManager {
8
+ constructor() {
9
+ this.auth = new auth_1.AuthManager();
10
+ this.storage = new storage_1.StorageManager();
11
+ this.firestore = new firestore_1.FirestoreManager();
12
+ }
13
+ }
14
+ exports.FirebaseManager = FirebaseManager;
15
+ //# sourceMappingURL=app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../../src/core/firebase/app.ts"],"names":[],"mappings":";;;AAAA,iCAAqC;AACrC,2CAA+C;AAC/C,uCAA2C;AAE3C,MAAa,eAAe;IAK1B;QACE,IAAI,CAAC,IAAI,GAAG,IAAI,kBAAW,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,wBAAc,EAAE,CAAC;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,4BAAgB,EAAE,CAAC;IAC1C,CAAC;CACF;AAVD,0CAUC"}
@@ -0,0 +1,13 @@
1
+ import { OAuthCredentialOptions, User } from '@firebase/auth';
2
+ export declare class AuthManager {
3
+ private readonly _auth;
4
+ constructor();
5
+ get currentUser(): User | null;
6
+ private _getIdToken;
7
+ private _signIn;
8
+ signInWithApple(options: OAuthCredentialOptions): Promise<string>;
9
+ signInWithGoogle(idToken?: string | null | undefined, accessToken?: string | null | undefined): Promise<string>;
10
+ signInWithEmailAndPassword(email: string, password: string): Promise<string>;
11
+ signOut(): Promise<void>;
12
+ updateUser(user: User): Promise<void>;
13
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuthManager = void 0;
4
+ const auth_1 = require("@firebase/auth");
5
+ const warningError_1 = require("../exception/warningError");
6
+ class AuthManager {
7
+ constructor() {
8
+ this._auth = (0, auth_1.getAuth)();
9
+ }
10
+ get currentUser() {
11
+ return this._auth.currentUser;
12
+ }
13
+ async _getIdToken() {
14
+ if (this.currentUser == null) {
15
+ throw new warningError_1.WarningError('ID Tokenの取得に失敗しました。');
16
+ }
17
+ const idToken = await this.currentUser.getIdToken();
18
+ return idToken;
19
+ }
20
+ async _signIn(credential) {
21
+ const data = await (0, auth_1.signInWithCredential)(this._auth, credential);
22
+ if (data.user == null) {
23
+ throw new warningError_1.WarningError('ログインに失敗しました。');
24
+ }
25
+ return this._getIdToken();
26
+ }
27
+ async signInWithApple(options) {
28
+ const provider = new auth_1.OAuthProvider('apple.com');
29
+ const credential = provider.credential(options);
30
+ return this._signIn(credential);
31
+ }
32
+ async signInWithGoogle(idToken, accessToken) {
33
+ const credential = auth_1.GoogleAuthProvider.credential(idToken, accessToken);
34
+ return this._signIn(credential);
35
+ }
36
+ async signInWithEmailAndPassword(email, password) {
37
+ const credential = await (0, auth_1.signInWithEmailAndPassword)(this._auth, email, password);
38
+ return credential.user.getIdToken();
39
+ }
40
+ async signOut() {
41
+ await this._auth.signOut();
42
+ }
43
+ async updateUser(user) {
44
+ await this._auth.updateCurrentUser(user);
45
+ }
46
+ }
47
+ exports.AuthManager = AuthManager;
48
+ //# sourceMappingURL=auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../../src/core/firebase/auth.ts"],"names":[],"mappings":";;;AAAA,yCAUwB;AACxB,4DAAyD;AAEzD,MAAa,WAAW;IAGtB;QACE,IAAI,CAAC,KAAK,GAAG,IAAA,cAAO,GAAE,CAAC;IACzB,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;IAChC,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;YAC5B,MAAM,IAAI,2BAAY,CAAC,qBAAqB,CAAC,CAAC;SAC/C;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAEpD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,OAAO,CAAC,UAA0B;QAC9C,MAAM,IAAI,GAAG,MAAM,IAAA,2BAAoB,EAAC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;YACrB,MAAM,IAAI,2BAAY,CAAC,cAAc,CAAC,CAAC;SACxC;QAED,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,OAA+B;QACnD,MAAM,QAAQ,GAAG,IAAI,oBAAa,CAAC,WAAW,CAAC,CAAC;QAChD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,OAAmC,EACnC,WAAuC;QAEvC,MAAM,UAAU,GAAG,yBAAkB,CAAC,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,KAAa,EAAE,QAAgB;QAC9D,MAAM,UAAU,GAAG,MAAM,IAAA,iCAA0B,EAAC,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QACjF,OAAO,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO;QACX,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAU;QACzB,MAAM,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;CACF;AAvDD,kCAuDC"}
@@ -0,0 +1,26 @@
1
+ import { DocumentData, FirestoreDataConverter, QueryConstraint } from '@firebase/firestore';
2
+ export declare class FirestoreManager {
3
+ private readonly _db;
4
+ constructor();
5
+ /**
6
+ * set
7
+ * @param data
8
+ * @returns
9
+ */
10
+ set<TData extends DocumentData>(data: Omit<TData, 'id'> | TData, collectionPath: string, converter: FirestoreDataConverter<TData>, ...pathSegment: string[]): Promise<TData>;
11
+ getById<TData extends DocumentData>(id: string, collectionPath: string, converter: FirestoreDataConverter<TData>, ...pathSegment: string[]): Promise<TData | null>;
12
+ getAll<TData extends DocumentData>(collectionPath: string, converter: FirestoreDataConverter<TData>, ...pathSegment: string[]): Promise<TData[]>;
13
+ getByQuery<TData extends DocumentData>(collectionPath: string, converter: FirestoreDataConverter<TData>, queryConstraint: QueryConstraint[], ...pathSegment: string[]): Promise<TData[]>;
14
+ /**
15
+ *
16
+ * @param data
17
+ * @returns updateしたデータを返す
18
+ */
19
+ update<TData extends DocumentData>(data: TData, collectionPath: string, ...pathSegment: string[]): Promise<TData>;
20
+ /**
21
+ * delete
22
+ * @param id
23
+ * @returns void
24
+ */
25
+ delete<TData extends DocumentData>(id: string, collectionPath: string, converter: FirestoreDataConverter<TData>, ...pathSegment: string[]): Promise<void>;
26
+ }
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FirestoreManager = void 0;
4
+ const firestore_1 = require("@firebase/firestore");
5
+ class FirestoreManager {
6
+ constructor() {
7
+ this._db = (0, firestore_1.getFirestore)();
8
+ }
9
+ /**
10
+ * set
11
+ * @param data
12
+ * @returns
13
+ */
14
+ async set(data, collectionPath, converter, ...pathSegment) {
15
+ // 特定のidが指定されていなければ id を自動生成
16
+ const id = data.id
17
+ ? data.id
18
+ : (0, firestore_1.collection)(this._db, collectionPath, ...pathSegment).withConverter(converter).id;
19
+ const now = (0, firestore_1.serverTimestamp)();
20
+ data = {
21
+ ...data,
22
+ id: id,
23
+ created: now,
24
+ updated: now,
25
+ };
26
+ await (0, firestore_1.setDoc)((0, firestore_1.doc)(this._db, collectionPath, id), data);
27
+ return data;
28
+ }
29
+ async getById(id, collectionPath, converter, ...pathSegment) {
30
+ const document = await (0, firestore_1.getDoc)((0, firestore_1.doc)(this._db, collectionPath, ...pathSegment, id).withConverter(converter));
31
+ if (!document.exists())
32
+ return null;
33
+ const data = document.data();
34
+ if (!data)
35
+ return null;
36
+ return data;
37
+ }
38
+ async getAll(collectionPath, converter, ...pathSegment) {
39
+ const dataList = [];
40
+ const q = (0, firestore_1.query)((0, firestore_1.collection)(this._db, collectionPath, ...pathSegment).withConverter(converter));
41
+ const querySnapshot = await (0, firestore_1.getDocs)(q);
42
+ querySnapshot.forEach((doc) => {
43
+ dataList.push(doc.data());
44
+ });
45
+ return dataList;
46
+ }
47
+ async getByQuery(collectionPath, converter, queryConstraint, ...pathSegment) {
48
+ const dataList = [];
49
+ const q = (0, firestore_1.query)((0, firestore_1.collection)(this._db, collectionPath, ...pathSegment).withConverter(converter), ...queryConstraint);
50
+ const querySnapshot = await (0, firestore_1.getDocs)(q);
51
+ if (querySnapshot.empty)
52
+ throw new Error('no such data');
53
+ querySnapshot.forEach((doc) => {
54
+ dataList.push(doc.data());
55
+ });
56
+ return dataList;
57
+ }
58
+ /**
59
+ *
60
+ * @param data
61
+ * @returns updateしたデータを返す
62
+ */
63
+ async update(data, collectionPath, ...pathSegment) {
64
+ const now = (0, firestore_1.serverTimestamp)();
65
+ const updateData = {
66
+ ...data,
67
+ updated: now,
68
+ };
69
+ await (0, firestore_1.updateDoc)((0, firestore_1.doc)(this._db, collectionPath, ...pathSegment, data.id), updateData);
70
+ return updateData;
71
+ }
72
+ /**
73
+ * delete
74
+ * @param id
75
+ * @returns void
76
+ */
77
+ async delete(id, collectionPath, converter, ...pathSegment) {
78
+ await (0, firestore_1.deleteDoc)((0, firestore_1.doc)(this._db, collectionPath, ...pathSegment, id).withConverter(converter));
79
+ }
80
+ }
81
+ exports.FirestoreManager = FirestoreManager;
82
+ //# sourceMappingURL=firestore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firestore.js","sourceRoot":"","sources":["../../../../src/core/firebase/firestore.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare class StorageManager {
2
+ private readonly _storage;
3
+ constructor();
4
+ putImage(uri: string, path: string): Promise<string>;
5
+ }
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StorageManager = void 0;
4
+ const storage_1 = require("@firebase/storage");
5
+ class StorageManager {
6
+ constructor() {
7
+ this._storage = (0, storage_1.getStorage)();
8
+ }
9
+ async putImage(uri, path) {
10
+ const blob = await (await fetch(uri)).blob();
11
+ const storageRef = (0, storage_1.ref)(this._storage, path);
12
+ const result = await (0, storage_1.uploadBytes)(storageRef, blob);
13
+ return (0, storage_1.getDownloadURL)(result.ref);
14
+ }
15
+ }
16
+ exports.StorageManager = StorageManager;
17
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../src/core/firebase/storage.ts"],"names":[],"mappings":";;;AAAA,+CAAkG;AAElG,MAAa,cAAc;IAGzB;QACE,IAAI,CAAC,QAAQ,GAAG,IAAA,oBAAU,GAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,GAAW,EAAE,IAAY;QACtC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAA,aAAG,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5C,MAAM,MAAM,GAAG,MAAM,IAAA,qBAAW,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnD,OAAO,IAAA,wBAAc,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;CACF;AAbD,wCAaC"}
@@ -0,0 +1,16 @@
1
+ import dayjs from 'dayjs';
2
+ import { TimezoneType } from '../constant/timezone';
3
+ export declare type DateFormat = 'YYYY-MM' | 'YYYY-MM-DD' | 'YYYY-MM-DD HH:mm:ss' | 'YYYY-MM-DD HH:mm:ss.SSS';
4
+ /**
5
+ * 日付操作系関数群
6
+ */
7
+ export declare class DateUtils {
8
+ private _dayjsInstance;
9
+ constructor(target?: Date | number | dayjs.Dayjs | string, timezone?: TimezoneType);
10
+ static getInstance: (target?: string | number | Date | undefined, timezone?: TimezoneType | undefined) => dayjs.Dayjs;
11
+ /**
12
+ * Formatされた日時を返す
13
+ * デフォルトはISO8601形式
14
+ */
15
+ static getFormattedString: (target?: string | number | Date | dayjs.Dayjs | undefined, format?: string | undefined, timezone?: TimezoneType | undefined) => string;
16
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.DateUtils = void 0;
7
+ const dayjs_1 = __importDefault(require("dayjs"));
8
+ const isBetween_1 = __importDefault(require("dayjs/plugin/isBetween"));
9
+ const isSameOrAfter_1 = __importDefault(require("dayjs/plugin/isSameOrAfter"));
10
+ const isSameOrBefore_1 = __importDefault(require("dayjs/plugin/isSameOrBefore"));
11
+ const timezone_1 = __importDefault(require("dayjs/plugin/timezone"));
12
+ const utc_1 = __importDefault(require("dayjs/plugin/utc"));
13
+ const DEFAULT_TIMEZONE = 'Asia/Tokyo';
14
+ dayjs_1.default.extend(utc_1.default);
15
+ dayjs_1.default.extend(timezone_1.default);
16
+ dayjs_1.default.extend(isSameOrAfter_1.default);
17
+ dayjs_1.default.extend(isSameOrBefore_1.default);
18
+ dayjs_1.default.extend(isBetween_1.default);
19
+ dayjs_1.default.tz.setDefault(DEFAULT_TIMEZONE);
20
+ /**
21
+ * 日付操作系関数群
22
+ */
23
+ class DateUtils {
24
+ constructor(target, timezone = DEFAULT_TIMEZONE) {
25
+ this._dayjsInstance = (0, dayjs_1.default)(target).tz(timezone);
26
+ }
27
+ }
28
+ exports.DateUtils = DateUtils;
29
+ DateUtils.getInstance = (target, timezone) => {
30
+ return new DateUtils(target, timezone)._dayjsInstance;
31
+ };
32
+ /**
33
+ * Formatされた日時を返す
34
+ * デフォルトはISO8601形式
35
+ */
36
+ DateUtils.getFormattedString = (target, format, timezone) => {
37
+ const date = new DateUtils(target, timezone)._dayjsInstance;
38
+ return date.format(format);
39
+ };
40
+ //# sourceMappingURL=dateUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dateUtils.js","sourceRoot":"","sources":["../../../../src/core/service/dateUtils.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAC1B,uEAA+C;AAC/C,+EAAuD;AACvD,iFAAyD;AACzD,qEAA6C;AAC7C,2DAAmC;AAGnC,MAAM,gBAAgB,GAAiB,YAAY,CAAC;AAEpD,eAAK,CAAC,MAAM,CAAC,aAAG,CAAC,CAAC;AAClB,eAAK,CAAC,MAAM,CAAC,kBAAQ,CAAC,CAAC;AACvB,eAAK,CAAC,MAAM,CAAC,uBAAa,CAAC,CAAC;AAC5B,eAAK,CAAC,MAAM,CAAC,wBAAc,CAAC,CAAC;AAC7B,eAAK,CAAC,MAAM,CAAC,mBAAS,CAAC,CAAC;AACxB,eAAK,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AAQtC;;GAEG;AACH,MAAa,SAAS;IAGpB,YAAY,MAA6C,EAAE,QAAQ,GAAG,gBAAgB;QACpF,IAAI,CAAC,cAAc,GAAG,IAAA,eAAK,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC;;AALH,8BAuBC;AAhBQ,qBAAW,GAAG,CAAC,MAA+B,EAAE,QAAuB,EAAe,EAAE;IAC7F,OAAO,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC;AACxD,CAAC,CAAC;AAEF;;;GAGG;AACI,4BAAkB,GAAG,CAC1B,MAA6C,EAC7C,MAA4B,EAC5B,QAAuB,EACf,EAAE;IACV,MAAM,IAAI,GAAG,IAAI,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,cAAc,CAAC;IAC5D,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC,CAAC"}
@@ -0,0 +1,25 @@
1
+ /*******************************************************
2
+ *
3
+ * オブジェクトのトランスフォーム系
4
+ *
5
+ *******************************************************/
6
+ export declare class ObjectUtils {
7
+ /**
8
+ * undefined -> null変換する
9
+ * @param target 変換対象のオブジェクト
10
+ */
11
+ static convertOptionalToNull(target: any): any;
12
+ /**
13
+ * オブジェクトのキーをキャメルケースに変換する
14
+ * UNDEFINEDはnullに変換する
15
+ * @param target 変換対象のオブジェクト
16
+ */
17
+ static camelCase(target: any): object;
18
+ /**
19
+ * オブジェクトのキーをスネークケースに変換する
20
+ * UNDEFINEDはnullに変換する
21
+ * @param target 変換対象のオブジェクト
22
+ */
23
+ static snakeCase(target: any): object;
24
+ static kebabCase(target: any): object;
25
+ }