@entropic-bond/firebase 1.7.9 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,12 +7,12 @@ export declare class FirebaseAuth extends AuthService {
7
7
  login<T extends {}>(signData: SignData): Promise<UserCredentials<T>>;
8
8
  logout(): Promise<void>;
9
9
  resetEmailPassword(email: string): Promise<void>;
10
- onAuthStateChange<T extends {}>(onChange: (userCredentials: UserCredentials<T>) => void): void;
10
+ onAuthStateChange<T extends {}>(onChange: (userCredentials: UserCredentials<T> | undefined) => void): void;
11
11
  linkAdditionalProvider(provider: AuthProvider): Promise<unknown>;
12
12
  unlinkProvider(provider: AuthProvider): Promise<unknown>;
13
13
  private toUserCredentials;
14
- static convertCredentials<T>(nativeUserCredential: User, claims: T): UserCredentials<T>;
15
- registerCredentialProvider(name: string, providerFactory: (singData?: SignData) => Promise<UserCredential>): void;
14
+ static convertCredentials<T extends {}>(nativeUserCredential: User, claims: T): UserCredentials<T>;
15
+ registerCredentialProvider(name: string, providerFactory: (singData: SignData) => Promise<UserCredential>): void;
16
16
  private registerCredentialProviders;
17
17
  private credentialProviders;
18
18
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.FirebaseAuth = void 0;
13
4
  const entropic_bond_1 = require("entropic-bond");
@@ -27,6 +18,8 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
27
18
  firebase_helper_1.FirebaseHelper.useEmulator(emulator);
28
19
  if ((_a = firebase_helper_1.FirebaseHelper.emulator) === null || _a === void 0 ? void 0 : _a.emulate) {
29
20
  const { host, authPort } = firebase_helper_1.FirebaseHelper.emulator;
21
+ if (!host || !authPort)
22
+ throw new Error(`You should define a host and an auth emulator port to use the emulator`);
30
23
  (0, auth_1.connectAuthEmulator)(firebase_helper_1.FirebaseHelper.instance.auth(), `http://${host}:${authPort}`);
31
24
  }
32
25
  this.registerCredentialProviders();
@@ -34,21 +27,23 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
34
27
  signUp(signData) {
35
28
  const { authProvider, verificationLink } = signData;
36
29
  if (authProvider.slice(0, 5) === 'email') {
37
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
30
+ return new Promise(async (resolve, reject) => {
38
31
  try {
39
32
  const credentialFactory = this.credentialProviders['email-sign-up'];
40
- const userCredentials = yield credentialFactory(signData);
33
+ if (!credentialFactory)
34
+ throw new Error(`The provider ${authProvider} is not registered`);
35
+ const userCredentials = await credentialFactory(signData);
41
36
  if (signData.name) {
42
- yield (0, auth_1.updateProfile)(userCredentials.user, {
37
+ await (0, auth_1.updateProfile)(userCredentials.user, {
43
38
  displayName: signData.name
44
39
  });
45
40
  }
46
41
  if (verificationLink) {
47
- yield (0, auth_1.sendEmailVerification)(userCredentials.user, {
42
+ await (0, auth_1.sendEmailVerification)(userCredentials.user, {
48
43
  url: verificationLink
49
44
  });
50
45
  }
51
- resolve(yield this.toUserCredentials(userCredentials.user));
46
+ resolve(await this.toUserCredentials(userCredentials.user));
52
47
  }
53
48
  catch (error) {
54
49
  reject({
@@ -56,18 +51,20 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
56
51
  message: error.message
57
52
  });
58
53
  }
59
- }));
54
+ });
60
55
  }
61
56
  else
62
57
  return this.login(signData);
63
58
  }
64
59
  login(signData) {
65
60
  const { authProvider } = signData;
66
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
61
+ return new Promise(async (resolve, reject) => {
67
62
  try {
68
63
  const credentialFactory = this.credentialProviders[authProvider];
69
- const userCredentials = yield credentialFactory(signData);
70
- resolve(yield this.toUserCredentials(userCredentials.user));
64
+ if (!credentialFactory)
65
+ throw new Error(`The provider ${authProvider} is not registered`);
66
+ const userCredentials = await credentialFactory(signData);
67
+ resolve(await this.toUserCredentials(userCredentials.user));
71
68
  }
72
69
  catch (error) {
73
70
  reject({
@@ -75,15 +72,15 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
75
72
  message: error.message
76
73
  });
77
74
  }
78
- }));
75
+ });
79
76
  }
80
77
  logout() {
81
78
  return firebase_helper_1.FirebaseHelper.instance.auth().signOut();
82
79
  }
83
80
  resetEmailPassword(email) {
84
- return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
81
+ return new Promise(async (resolve, reject) => {
85
82
  try {
86
- yield (0, auth_1.sendPasswordResetEmail)(firebase_helper_1.FirebaseHelper.instance.auth(), email);
83
+ await (0, auth_1.sendPasswordResetEmail)(firebase_helper_1.FirebaseHelper.instance.auth(), email);
87
84
  resolve();
88
85
  }
89
86
  catch (error) {
@@ -92,54 +89,70 @@ class FirebaseAuth extends entropic_bond_1.AuthService {
92
89
  message: error.message
93
90
  });
94
91
  }
95
- }));
92
+ });
96
93
  }
97
94
  onAuthStateChange(onChange) {
98
- firebase_helper_1.FirebaseHelper.instance.auth().onAuthStateChanged((credentials) => __awaiter(this, void 0, void 0, function* () {
99
- onChange(yield this.toUserCredentials(credentials));
100
- }));
95
+ firebase_helper_1.FirebaseHelper.instance.auth().onAuthStateChanged(async (credentials) => {
96
+ onChange(credentials ? await this.toUserCredentials(credentials) : undefined);
97
+ });
101
98
  }
102
99
  linkAdditionalProvider(provider) {
103
100
  const providerInstance = providerFactory[provider]();
104
101
  const currentUser = firebase_helper_1.FirebaseHelper.instance.auth().currentUser;
102
+ if (!currentUser)
103
+ throw new Error(`There is no logged in user`);
105
104
  return (0, auth_1.linkWithPopup)(currentUser, providerInstance);
106
105
  }
107
106
  unlinkProvider(provider) {
108
107
  const { currentUser } = firebase_helper_1.FirebaseHelper.instance.auth();
108
+ if (!currentUser)
109
+ throw new Error(`There is no logged in user`);
109
110
  currentUser.providerData;
110
111
  return (0, auth_1.unlink)(currentUser, providerFactory[provider]().providerId);
111
112
  }
112
- toUserCredentials(nativeUserCredential) {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- if (!nativeUserCredential)
115
- return null;
116
- const claims = (yield nativeUserCredential.getIdTokenResult()).claims;
117
- return FirebaseAuth.convertCredentials(nativeUserCredential, claims);
118
- });
113
+ async toUserCredentials(nativeUserCredential) {
114
+ if (!nativeUserCredential)
115
+ throw new Error(`The user in user credentials is not defined`);
116
+ const claims = (await nativeUserCredential.getIdTokenResult()).claims;
117
+ return FirebaseAuth.convertCredentials(nativeUserCredential, claims);
119
118
  }
120
119
  static convertCredentials(nativeUserCredential, claims) {
120
+ var _a, _b, _c, _d;
121
121
  return ({
122
122
  id: nativeUserCredential.uid,
123
- email: nativeUserCredential.email,
124
- name: nativeUserCredential.displayName,
125
- pictureUrl: nativeUserCredential.photoURL,
126
- phoneNumber: nativeUserCredential.phoneNumber,
123
+ email: (_a = nativeUserCredential.email) !== null && _a !== void 0 ? _a : '',
124
+ name: (_b = nativeUserCredential.displayName) !== null && _b !== void 0 ? _b : undefined,
125
+ pictureUrl: (_c = nativeUserCredential.photoURL) !== null && _c !== void 0 ? _c : undefined,
126
+ phoneNumber: (_d = nativeUserCredential.phoneNumber) !== null && _d !== void 0 ? _d : undefined,
127
127
  emailVerified: nativeUserCredential.emailVerified,
128
- customData: Object.assign({}, claims),
128
+ customData: { ...claims },
129
129
  lastLogin: Date.now(),
130
- creationDate: new Date(nativeUserCredential.metadata.creationTime).getTime()
130
+ creationDate: nativeUserCredential.metadata.creationTime ? new Date(nativeUserCredential.metadata.creationTime).getTime() : undefined,
131
131
  });
132
132
  }
133
133
  registerCredentialProvider(name, providerFactory) {
134
134
  this.credentialProviders[name] = providerFactory;
135
135
  }
136
136
  registerCredentialProviders() {
137
- this.registerCredentialProvider('email-sign-up', signData => (0, auth_1.createUserWithEmailAndPassword)(firebase_helper_1.FirebaseHelper.instance.auth(), signData.email, signData.password));
138
- this.registerCredentialProvider('email', signData => (0, auth_1.signInWithEmailAndPassword)(firebase_helper_1.FirebaseHelper.instance.auth(), signData.email, signData.password));
137
+ this.registerCredentialProvider('email-sign-up', signData => {
138
+ if (!signData.email || !signData.password)
139
+ throw new Error(`Email and password are required`);
140
+ return (0, auth_1.createUserWithEmailAndPassword)(firebase_helper_1.FirebaseHelper.instance.auth(), signData.email, signData.password);
141
+ });
142
+ this.registerCredentialProvider('email', signData => {
143
+ if (!signData.email || !signData.password)
144
+ throw new Error(`Email and password are required`);
145
+ return (0, auth_1.signInWithEmailAndPassword)(firebase_helper_1.FirebaseHelper.instance.auth(), signData.email, signData.password);
146
+ });
139
147
  this.registerCredentialProvider('google', () => (0, auth_1.signInWithPopup)(firebase_helper_1.FirebaseHelper.instance.auth(), new auth_1.GoogleAuthProvider()));
140
148
  this.registerCredentialProvider('facebook', () => (0, auth_1.signInWithPopup)(firebase_helper_1.FirebaseHelper.instance.auth(), new auth_1.FacebookAuthProvider()));
141
149
  this.registerCredentialProvider('twitter', () => (0, auth_1.signInWithPopup)(firebase_helper_1.FirebaseHelper.instance.auth(), new auth_1.TwitterAuthProvider()));
142
- this.registerCredentialProvider('link-twitter', () => (0, auth_1.linkWithPopup)(firebase_helper_1.FirebaseHelper.instance.auth().currentUser, new auth_1.TwitterAuthProvider()));
150
+ this.registerCredentialProvider('link-twitter', () => {
151
+ const currentUser = firebase_helper_1.FirebaseHelper.instance.auth().currentUser;
152
+ if (!currentUser)
153
+ throw new Error(`There is no logged in user`);
154
+ return (0, auth_1.linkWithPopup)(currentUser, new auth_1.TwitterAuthProvider());
155
+ });
143
156
  this.registerCredentialProvider('anonymous', () => (0, auth_1.signInAnonymously)(firebase_helper_1.FirebaseHelper.instance.auth()));
144
157
  }
145
158
  }
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase-auth.js","sourceRoot":"","sources":["../../src/auth/firebase-auth.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { CloudFunction, CloudFunctionsService } from 'entropic-bond';
2
2
  import { EmulatorConfig } from '../firebase-helper';
3
3
  export declare class FirebaseCloudFunctions implements CloudFunctionsService {
4
- constructor(region?: string, emulator?: EmulatorConfig);
4
+ constructor(region?: string, emulator?: Partial<EmulatorConfig>);
5
5
  retrieveFunction<P, R>(cloudFunction: string): CloudFunction<P, R>;
6
6
  callFunction<P, R>(func: CloudFunction<P, R>, params: P): Promise<R>;
7
7
  }
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.FirebaseCloudFunctions = void 0;
13
4
  const functions_1 = require("firebase/functions");
@@ -27,11 +18,9 @@ class FirebaseCloudFunctions {
27
18
  retrieveFunction(cloudFunction) {
28
19
  return (0, functions_1.httpsCallable)(firebase_helper_1.FirebaseHelper.instance.functions(), cloudFunction);
29
20
  }
30
- callFunction(func, params) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const res = yield func(params);
33
- return res.data;
34
- });
21
+ async callFunction(func, params) {
22
+ const res = await func(params);
23
+ return res.data;
35
24
  }
36
25
  }
37
26
  exports.FirebaseCloudFunctions = FirebaseCloudFunctions;
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-cloud-functions.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kDAA4E;AAC5E,wDAAmE;AAEnE,MAAa,sBAAsB;IAClC,YAAa,MAAe,EAAE,QAAyB;;QACtD,IAAK,MAAM;YAAG,gCAAc,CAAC,SAAS,CAAE,MAAM,CAAE,CAAA;QAChD,IAAK,QAAQ;YAAG,gCAAc,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAEtD,IAAK,MAAA,gCAAc,CAAC,QAAQ,0CAAE,OAAO,EAAG;YACvC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,gCAAc,CAAC,QAAQ,CAAA;YACvD,IAAA,oCAAwB,EAAE,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAE,CAAA;SACpF;IAEF,CAAC;IAED,gBAAgB,CAAQ,aAAqB;QAC5C,OAAO,IAAA,yBAAa,EAAO,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,aAAa,CAAoC,CAAA;IAClH,CAAC;IAEK,YAAY,CAAQ,IAAyB,EAAE,MAAS;;YAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAE,MAAM,CAAS,CAAA;YACvC,OAAO,GAAG,CAAC,IAAI,CAAA;QAChB,CAAC;KAAA;CACD;AApBD,wDAoBC"}
1
+ {"version":3,"file":"firebase-cloud-functions.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.ts"],"names":[],"mappings":";;;AACA,kDAA4E;AAC5E,wDAAmE;AAEnE,MAAa,sBAAsB;IAClC,YAAa,MAAe,EAAE,QAAkC;;QAC/D,IAAK,MAAM;YAAG,gCAAc,CAAC,SAAS,CAAE,MAAM,CAAE,CAAA;QAChD,IAAK,QAAQ;YAAG,gCAAc,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAEtD,IAAK,MAAA,gCAAc,CAAC,QAAQ,0CAAE,OAAO,EAAG;YACvC,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,gCAAc,CAAC,QAAQ,CAAA;YACvD,IAAA,oCAAwB,EAAE,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,CAAE,CAAA;SACpF;IAEF,CAAC;IAED,gBAAgB,CAAQ,aAAqB;QAC5C,OAAO,IAAA,yBAAa,EAAO,gCAAc,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,aAAa,CAAoC,CAAA;IAClH,CAAC;IAED,KAAK,CAAC,YAAY,CAAQ,IAAyB,EAAE,MAAS;QAC7D,MAAM,GAAG,GAAG,MAAM,IAAI,CAAE,MAAM,CAAS,CAAA;QACvC,OAAO,GAAG,CAAC,IAAI,CAAA;IAChB,CAAC;CACD;AApBD,wDAoBC"}
@@ -1,6 +1,6 @@
1
1
  import { Persistent } from 'entropic-bond';
2
2
  export declare class ParamWrapper extends Persistent {
3
3
  constructor(a?: string, b?: number);
4
- _a: string;
5
- _b: number;
4
+ _a: string | undefined;
5
+ _b: number | undefined;
6
6
  }
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  Object.defineProperty(exports, "__esModule", { value: true });
18
9
  exports.ParamWrapper = void 0;
19
10
  const entropic_bond_1 = require("entropic-bond");
@@ -45,18 +36,18 @@ describe('Cloud functions', () => {
45
36
  firebase_helper_1.FirebaseHelper.useEmulator();
46
37
  entropic_bond_1.CloudFunctions.useCloudFunctionsService(new firebase_cloud_functions_1.FirebaseCloudFunctions('europe-west1', { emulate: true }));
47
38
  });
48
- it('should call cloud functions with plain types', () => __awaiter(void 0, void 0, void 0, function* () {
39
+ it('should call cloud functions with plain types', async () => {
49
40
  const testCallablePlain = entropic_bond_1.CloudFunctions.instance.getFunction('testCallablePlain');
50
- const result = yield testCallablePlain('Hello');
41
+ const result = await testCallablePlain('Hello');
51
42
  expect(result).toBe(5);
52
- }));
53
- it('should call cloud function for Persistent', () => __awaiter(void 0, void 0, void 0, function* () {
43
+ });
44
+ it('should call cloud function for Persistent', async () => {
54
45
  const testCallablePersistent = entropic_bond_1.CloudFunctions.instance.getFunction('testCallablePersistent');
55
46
  const paramWrapper = new ParamWrapper('test', 30);
56
47
  const a = paramWrapper.toObject();
57
- const result = yield testCallablePersistent(paramWrapper);
48
+ const result = await testCallablePersistent(paramWrapper);
58
49
  expect(result._a).toEqual('test');
59
50
  expect(result._b).toEqual(30);
60
- }));
51
+ });
61
52
  });
62
53
  //# sourceMappingURL=firebase-cloud-functions.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-cloud-functions.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,iDAA+F;AAC/F,wDAAmD;AACnD,yEAAmE;AAG5D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,0BAAU;IAC3C,YAAa,CAAU,EAAE,CAAU;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACZ,CAAC;CAGD,CAAA;AAFY;IAAX,0BAAU;wCAAW;AACV;IAAX,0BAAU;wCAAW;AAPV,YAAY;IADxB,IAAA,uCAAuB,EAAE,cAAc,CAAE;GAC7B,YAAY,CAQxB;AARY,oCAAY;AAUzB,QAAQ,CAAE,iBAAiB,EAAE,GAAE,EAAE;IAEhC,UAAU,CAAC,GAAE,EAAE;QACd,gCAAc,CAAC,iBAAiB,CAAC;YAChC,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,gBAAgB;SAC/B,CAAC,CAAA;QAEF,gCAAc,CAAC,WAAW,EAAE,CAAA;QAC5B,8BAAc,CAAC,wBAAwB,CACtC,IAAI,iDAAsB,CAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,8CAA8C,EAAE,GAAQ,EAAE;QAC7D,MAAM,iBAAiB,GAAG,8BAAc,CAAC,QAAQ,CAAC,WAAW,CAAkB,mBAAmB,CAAE,CAAA;QACpG,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;IAC3B,CAAC,CAAA,CAAC,CAAA;IAEF,EAAE,CAAE,2CAA2C,EAAE,GAAQ,EAAE;QAC1D,MAAM,sBAAsB,GAAG,8BAAc,CAAC,QAAQ,CAAC,WAAW,CAA8B,wBAAwB,CAAE,CAAA;QAC1H,MAAM,YAAY,GAAG,IAAI,YAAY,CAAE,MAAM,EAAE,EAAE,CAAE,CAAA;QAEnD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAE,YAAY,CAAE,CAAA;QAC3D,MAAM,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;QACrC,MAAM,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;IAClC,CAAC,CAAA,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"firebase-cloud-functions.spec.js","sourceRoot":"","sources":["../../src/cloud-functions/firebase-cloud-functions.spec.ts"],"names":[],"mappings":";;;;;;;;;AAAA,iDAA+F;AAC/F,wDAAmD;AACnD,yEAAmE;AAG5D,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,0BAAU;IAC3C,YAAa,CAAU,EAAE,CAAU;QAClC,KAAK,EAAE,CAAA;QACP,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;QACX,IAAI,CAAC,EAAE,GAAG,CAAC,CAAA;IACZ,CAAC;CAGD,CAAA;AAFY;IAAX,0BAAU;wCAAuB;AACtB;IAAX,0BAAU;wCAAuB;AAPtB,YAAY;IADxB,IAAA,uCAAuB,EAAE,cAAc,CAAE;GAC7B,YAAY,CAQxB;AARY,oCAAY;AAUzB,QAAQ,CAAE,iBAAiB,EAAE,GAAE,EAAE;IAEhC,UAAU,CAAC,GAAE,EAAE;QACd,gCAAc,CAAC,iBAAiB,CAAC;YAChC,SAAS,EAAE,WAAW;YACtB,aAAa,EAAE,gBAAgB;SAC/B,CAAC,CAAA;QAEF,gCAAc,CAAC,WAAW,EAAE,CAAA;QAC5B,8BAAc,CAAC,wBAAwB,CACtC,IAAI,iDAAsB,CAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAC9D,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,8CAA8C,EAAE,KAAK,IAAG,EAAE;QAC7D,MAAM,iBAAiB,GAAG,8BAAc,CAAC,QAAQ,CAAC,WAAW,CAAkB,mBAAmB,CAAE,CAAA;QACpG,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAE,OAAO,CAAE,CAAA;QAEjD,MAAM,CAAE,MAAM,CAAE,CAAC,IAAI,CAAE,CAAC,CAAE,CAAA;IAC3B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAE,2CAA2C,EAAE,KAAK,IAAG,EAAE;QAC1D,MAAM,sBAAsB,GAAG,8BAAc,CAAC,QAAQ,CAAC,WAAW,CAA8B,wBAAwB,CAAE,CAAA;QAC1H,MAAM,YAAY,GAAG,IAAI,YAAY,CAAE,MAAM,EAAE,EAAE,CAAE,CAAA;QAEnD,MAAM,CAAC,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAA;QAEjC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAE,YAAY,CAAE,CAAA;QAC3D,MAAM,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,MAAM,CAAE,CAAA;QACrC,MAAM,CAAE,MAAM,CAAC,EAAE,CAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAA;IAClC,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
@@ -38,20 +38,25 @@ let FirebaseCloudStorage = FirebaseCloudStorage_1 = class FirebaseCloudStorage e
38
38
  }
39
39
  getUrl(reference) {
40
40
  if (!reference)
41
- return Promise.resolve(undefined);
41
+ return Promise.reject('needs a reference');
42
42
  const storage = firebase_helper_1.FirebaseHelper.instance.storage();
43
43
  return (0, storage_1.getDownloadURL)((0, storage_1.ref)(storage, reference));
44
44
  }
45
45
  uploadControl() {
46
+ if (!this._uploadTask)
47
+ throw new Error(`You should call save() before uploadControl()`);
46
48
  return {
47
- cancel: () => this._uploadTask.cancel(),
48
- pause: () => this._uploadTask.pause(),
49
- resume: () => this._uploadTask.resume(),
50
- onProgress: (callback) => this._uploadTask.on('state_changed', snapShot => {
51
- if (callback) {
52
- callback(snapShot.bytesTransferred, snapShot.totalBytes);
53
- }
54
- })
49
+ cancel: () => { var _a; return (_a = this._uploadTask) === null || _a === void 0 ? void 0 : _a.cancel(); },
50
+ pause: () => { var _a; return (_a = this._uploadTask) === null || _a === void 0 ? void 0 : _a.pause(); },
51
+ resume: () => { var _a; return (_a = this._uploadTask) === null || _a === void 0 ? void 0 : _a.resume(); },
52
+ onProgress: (callback) => {
53
+ var _a;
54
+ return (_a = this._uploadTask) === null || _a === void 0 ? void 0 : _a.on('state_changed', snapShot => {
55
+ if (callback) {
56
+ callback(snapShot.bytesTransferred, snapShot.totalBytes);
57
+ }
58
+ });
59
+ }
55
60
  };
56
61
  }
57
62
  delete(reference) {
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-cloud-storage.js","sourceRoot":"","sources":["../../src/cloud-storage/firebase-cloud-storage.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,iDAAiG;AACjG,8CAA8H;AAC9H,wDAAmE;AAG5D,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,4BAAY;IACrD,YAAa,QAAyB;;QACrC,KAAK,EAAE,CAAA;QACP,IAAK,QAAQ;YAAG,gCAAc,CAAC,WAAW,CAAE,QAAQ,CAAE,CAAA;QAEtD,IAAK,MAAA,gCAAc,CAAC,QAAQ,0CAAE,OAAO,EAAG;YACvC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,gCAAc,CAAC,QAAQ,CAAA;YACrD,IAAA,gCAAsB,EAAE,gCAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,CAAE,CAAA;SAC9E;IACF,CAAC;IAED,IAAI,CAAE,EAAU,EAAE,IAAqC,EAAE,QAAyB;QACjF,MAAM,OAAO,GAAG,gCAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QAEjD,OAAO,IAAI,OAAO,CAAS,CAAE,OAAO,EAAE,MAAM,EAAG,EAAE;YAChD,IAAI,CAAC,WAAW,GAAG,IAAA,8BAAoB,EAAE,IAAA,aAAG,EAAE,OAAO,EAAE,EAAE,CAAE,EAAE,IAAI,CAAE,CAAA;YAEnE,IAAK,QAAQ,EAAG;gBACf,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,EAAE,CAAE,eAAe,EACrD,QAAQ,CAAC,EAAE;oBACV,QAAQ,CAAE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAE,CAAA;gBAC3D,CAAC,EACD,IAAI,EACJ,GAAE,EAAE,CAAA,WAAW,EAAE,CACjB,CAAC;aACF;YAED,IAAI,CAAC,WAAW;iBACd,IAAI,CAAE,GAAG,EAAE,CAAC,OAAO,CAAE,EAAE,CAAE,CAAE;iBAC3B,KAAK,CAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAE,KAAK,CAAE,CAAC,CAAA;QACnC,CAAC,CAAC,CAAA;IACH,CAAC;IAED,MAAM,CAAE,SAAiB;QACxB,IAAK,CAAC,SAAS;YAAG,OAAO,OAAO,CAAC,OAAO,CAAE,SAAS,CAAE,CAAA;QAErD,MAAM,OAAO,GAAG,gCAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QACjD,OAAO,IAAA,wBAAc,EAAE,IAAA,aAAG,EAAE,OAAO,EAAE,SAAS,CAAE,CAAE,CAAA;IACnD,CAAC;IAED,aAAa;QACZ,OAAO;YACN,MAAM,EAAE,GAAE,EAAE,CAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrC,KAAK,EAAE,GAAE,EAAE,CAAA,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE;YACnC,MAAM,EAAE,GAAE,EAAE,CAAA,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE;YACrC,UAAU,EAAE,CAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAE,eAAe,EAAE,QAAQ,CAAC,EAAE;gBAC3E,IAAK,QAAQ,EAAG;oBACf,QAAQ,CAAE,QAAQ,CAAC,gBAAgB,EAAE,QAAQ,CAAC,UAAU,CAAE,CAAA;iBAC1D;YACF,CAAC,CAAC;SACF,CAAA;IACF,CAAC;IAED,MAAM,CAAE,SAAiB;QACxB,MAAM,OAAO,GAAG,gCAAc,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAA;QACjD,OAAO,IAAA,sBAAY,EAAE,IAAA,aAAG,EAAE,OAAO,EAAE,SAAS,CAAE,CAAE,CAAA;IACjD,CAAC;CAGD,CAAA;AA3DY,oBAAoB;IADhC,IAAA,oCAAoB,EAAE,sBAAsB,EAAE,GAAE,EAAE,CAAC,IAAI,sBAAoB,EAAE,CAAE;GACnE,oBAAoB,CA2DhC;AA3DY,oDAAoB"}
1
+ {"version":3,"file":"firebase-cloud-storage.js","sourceRoot":"","sources":["../../src/cloud-storage/firebase-cloud-storage.ts"],"names":[],"mappings":"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"}
@@ -5,15 +5,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
6
  return c > 3 && r && Object.defineProperty(target, key, r), r;
7
7
  };
8
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
9
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
10
- return new (P || (P = Promise))(function (resolve, reject) {
11
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
12
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
13
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
14
- step((generator = generator.apply(thisArg, _arguments || [])).next());
15
- });
16
- };
17
8
  var __importDefault = (this && this.__importDefault) || function (mod) {
18
9
  return (mod && mod.__esModule) ? mod : { "default": mod };
19
10
  };
@@ -22,11 +13,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
22
13
  * @jest-environment node
23
14
  */
24
15
  global.XMLHttpRequest = require('xhr2');
25
- const node_fetch_1 = __importDefault(require("node-fetch"));
26
16
  const firebase_cloud_storage_1 = require("./firebase-cloud-storage");
27
17
  const firebase_helper_1 = require("../firebase-helper");
28
18
  const firebase_datasource_1 = require("../store/firebase-datasource");
29
19
  const entropic_bond_1 = require("entropic-bond");
20
+ const node_fetch_1 = __importDefault(require("node-fetch"));
30
21
  // Note about tests leaking. I've been checking and looks like firebase.storage
31
22
  // methods are the responsible for the test leaking (as firebase v. 8.6.3).
32
23
  class File {
@@ -61,30 +52,31 @@ describe('Firebase Cloud Storage', () => {
61
52
  entropic_bond_1.CloudStorage.useCloudStorage(new firebase_cloud_storage_1.FirebaseCloudStorage());
62
53
  file = new entropic_bond_1.StoredFile();
63
54
  });
64
- it('should save and get a url', () => __awaiter(void 0, void 0, void 0, function* () {
65
- yield file.save({ data: blobData1 });
55
+ it('should save and get a url', async () => {
56
+ await file.save({ data: blobData1 });
66
57
  expect(file.url).toContain(file.id);
67
- }));
68
- it('should report metadata', () => __awaiter(void 0, void 0, void 0, function* () {
69
- yield file.save({ data: blobData1, fileName: 'test.dat' });
58
+ });
59
+ it('should report metadata', async () => {
60
+ await file.save({ data: blobData1, fileName: 'test.dat' });
70
61
  expect(file.originalFileName).toEqual('test.dat');
71
62
  expect(file.provider.className).toEqual('FirebaseCloudStorage');
72
- }));
73
- it('should delete file', () => __awaiter(void 0, void 0, void 0, function* () {
74
- yield file.save({ data: blobData1 });
75
- yield file.delete();
63
+ });
64
+ it('should delete file', async () => {
65
+ await file.save({ data: blobData1 });
66
+ await file.delete();
76
67
  expect(file.url).not.toBeDefined();
77
- }));
78
- it('should overwrite file on subsequent writes', () => __awaiter(void 0, void 0, void 0, function* () {
79
- yield file.save({ data: blobData1 });
68
+ });
69
+ it('should overwrite file on subsequent writes', async () => {
70
+ var _a;
71
+ await file.save({ data: blobData1 });
80
72
  const firstUrl = file.url;
81
- let resp = yield (0, node_fetch_1.default)(file.url);
82
- expect(yield resp.text()).toEqual('Hello, world!');
83
- yield file.save({ data: blobData2 });
84
- resp = yield (0, node_fetch_1.default)(file.url);
85
- expect(file.url.slice(0, file.url.indexOf('token'))).toEqual(firstUrl.slice(0, firstUrl.indexOf('token')));
86
- expect(yield resp.text()).toEqual('llo,He world!');
87
- }));
73
+ let resp = await (0, node_fetch_1.default)(file.url);
74
+ expect(await resp.text()).toEqual('Hello, world!');
75
+ await file.save({ data: blobData2 });
76
+ resp = await (0, node_fetch_1.default)(file.url);
77
+ expect((_a = file.url) === null || _a === void 0 ? void 0 : _a.slice(0, file.url.indexOf('token'))).toEqual(firstUrl === null || firstUrl === void 0 ? void 0 : firstUrl.slice(0, firstUrl.indexOf('token')));
78
+ expect(await resp.text()).toEqual('llo,He world!');
79
+ });
88
80
  it('should trigger events', done => {
89
81
  const cb = jest.fn();
90
82
  file.save({ data: blobData1 }).then(() => {
@@ -100,25 +92,25 @@ describe('Firebase Cloud Storage', () => {
100
92
  testObj = new Test();
101
93
  model = entropic_bond_1.Store.getModel(testObj);
102
94
  });
103
- it('should load object with StoredFile', () => __awaiter(void 0, void 0, void 0, function* () {
104
- yield testObj.file.save({ data: blobData1, fileName: 'test.dat' });
105
- yield model.save(testObj);
106
- const newTestObj = yield model.findById(testObj.id);
107
- expect(newTestObj.file).toBeInstanceOf(entropic_bond_1.StoredFile);
108
- expect(newTestObj.file.url).toContain(testObj.file.id);
109
- }));
110
- it('should replace file on save after load', () => __awaiter(void 0, void 0, void 0, function* () {
95
+ it('should load object with StoredFile', async () => {
96
+ await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
97
+ await model.save(testObj);
98
+ const newTestObj = await model.findById(testObj.id);
99
+ expect(newTestObj === null || newTestObj === void 0 ? void 0 : newTestObj.file).toBeInstanceOf(entropic_bond_1.StoredFile);
100
+ expect(newTestObj === null || newTestObj === void 0 ? void 0 : newTestObj.file.url).toContain(testObj.file.id);
101
+ });
102
+ it('should replace file on save after load', async () => {
111
103
  const deleteSpy = jest.spyOn(testObj.file, 'delete');
112
- yield testObj.file.save({ data: blobData1, fileName: 'test.dat' });
113
- yield model.save(testObj);
114
- const newTestObj = yield model.findById(testObj.id);
115
- expect(newTestObj.file).toBeInstanceOf(entropic_bond_1.StoredFile);
116
- expect(newTestObj.file.url).toContain(testObj.file.id);
104
+ await testObj.file.save({ data: blobData1, fileName: 'test.dat' });
105
+ await model.save(testObj);
106
+ const newTestObj = await model.findById(testObj.id);
107
+ expect(newTestObj === null || newTestObj === void 0 ? void 0 : newTestObj.file).toBeInstanceOf(entropic_bond_1.StoredFile);
108
+ expect(newTestObj === null || newTestObj === void 0 ? void 0 : newTestObj.file.url).toContain(testObj.file.id);
117
109
  expect(deleteSpy).not.toHaveBeenCalled();
118
110
  testObj.file.setDataToStore(blobData2);
119
- yield testObj.file.save();
111
+ await testObj.file.save();
120
112
  expect(deleteSpy).toHaveBeenCalled();
121
- }));
113
+ });
122
114
  });
123
115
  });
124
116
  //# sourceMappingURL=firebase-cloud-storage.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"firebase-cloud-storage.spec.js","sourceRoot":"","sources":["../../src/cloud-storage/firebase-cloud-storage.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"firebase-cloud-storage.spec.js","sourceRoot":"","sources":["../../src/cloud-storage/firebase-cloud-storage.spec.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { CollectionReference, DocumentData, Query } from 'firebase/firestore';
2
- export declare type FirebaseQuery = CollectionReference<DocumentData> | Query<DocumentData>;
2
+ export type FirebaseQuery = CollectionReference<DocumentData> | Query<DocumentData>;
3
3
  export interface FirebaseConfig {
4
4
  apiKey?: string;
5
5
  authDomain?: string;
@@ -11,16 +11,17 @@ export interface FirebaseConfig {
11
11
  measurementId?: string;
12
12
  }
13
13
  export interface EmulatorConfig {
14
- host?: string;
15
- firestorePort?: number;
16
- storagePort?: number;
17
- authPort?: number;
18
- functionsPort?: number;
19
- emulate?: boolean;
14
+ host: string;
15
+ firestorePort: number;
16
+ storagePort: number;
17
+ authPort: number;
18
+ functionsPort: number;
19
+ emulate: boolean;
20
20
  }
21
21
  export declare class FirebaseHelper {
22
22
  static setFirebaseConfig(config: FirebaseConfig): void;
23
- static useEmulator(emulatorConfig?: EmulatorConfig): void;
23
+ private static defaultEmulatorConfig;
24
+ static useEmulator(emulatorConfig?: Partial<EmulatorConfig>): void;
24
25
  static get emulator(): EmulatorConfig;
25
26
  private constructor();
26
27
  static get instance(): FirebaseHelper;
@@ -7,28 +7,23 @@ const auth_1 = require("firebase/auth");
7
7
  const storage_1 = require("firebase/storage");
8
8
  const functions_1 = require("firebase/functions");
9
9
  class FirebaseHelper {
10
- constructor() {
11
- if (!FirebaseHelper._firebaseConfig)
12
- throw new Error('You should set a firebase config object before using Firebase');
13
- this._firebaseApp = (0, app_1.initializeApp)(FirebaseHelper._firebaseConfig);
14
- }
15
10
  static setFirebaseConfig(config) {
16
11
  FirebaseHelper._firebaseConfig = config;
17
12
  }
18
13
  static useEmulator(emulatorConfig) {
19
- const defaultConfig = {
20
- host: 'localhost',
21
- firestorePort: 8080,
22
- storagePort: 9199,
23
- authPort: 9099,
24
- functionsPort: 5001,
25
- emulate: true
14
+ this._emulatorConfig = {
15
+ ...FirebaseHelper.defaultEmulatorConfig,
16
+ ...emulatorConfig
26
17
  };
27
- this._emulatorConfig = Object.assign(Object.assign({}, defaultConfig), emulatorConfig);
28
18
  }
29
19
  static get emulator() {
30
20
  return this._emulatorConfig;
31
21
  }
22
+ constructor() {
23
+ if (!FirebaseHelper._firebaseConfig)
24
+ throw new Error('You should set a firebase config object before using Firebase');
25
+ this._firebaseApp = (0, app_1.initializeApp)(FirebaseHelper._firebaseConfig);
26
+ }
32
27
  static get instance() {
33
28
  return this._instance || (this._instance = new FirebaseHelper());
34
29
  }
@@ -49,4 +44,13 @@ class FirebaseHelper {
49
44
  }
50
45
  }
51
46
  exports.FirebaseHelper = FirebaseHelper;
47
+ FirebaseHelper.defaultEmulatorConfig = {
48
+ host: 'localhost',
49
+ firestorePort: 8080,
50
+ storagePort: 9199,
51
+ authPort: 9099,
52
+ functionsPort: 5001,
53
+ emulate: true
54
+ };
55
+ FirebaseHelper._emulatorConfig = FirebaseHelper.defaultEmulatorConfig;
52
56
  //# sourceMappingURL=firebase-helper.js.map