From 289b0a6a0ffa96a4430b6381ddb374a176c7ff21 Mon Sep 17 00:00:00 2001 From: Feiyang1 Date: Mon, 14 Jun 2021 12:05:19 -0700 Subject: [PATCH 1/3] pass the instance to onInit callback --- packages/component/src/provider.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/component/src/provider.ts b/packages/component/src/provider.ts index 1eaad815e4e..290cead4eaf 100644 --- a/packages/component/src/provider.ts +++ b/packages/component/src/provider.ts @@ -272,7 +272,7 @@ export class Provider { existingCallbacks.add(callback); this.onInitCallbacks.set(normalizedIdentifier, existingCallbacks); - const existingInstance = this.instances.has(normalizedIdentifier); + const existingInstance = this.instances.get(normalizedIdentifier); if (existingInstance) { callback(existingInstance, normalizedIdentifier); } From 880151573ae997b381909c9e8e69197e8eeaa17e Mon Sep 17 00:00:00 2001 From: Feiyang1 Date: Mon, 14 Jun 2021 12:10:42 -0700 Subject: [PATCH 2/3] add a test for instance passing --- packages/component/src/provider.test.ts | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/packages/component/src/provider.test.ts b/packages/component/src/provider.test.ts index 4344aa75a56..a6e7a076557 100644 --- a/packages/component/src/provider.test.ts +++ b/packages/component/src/provider.test.ts @@ -197,6 +197,20 @@ describe('Provider', () => { expect(callback).to.have.been.calledOnce; }); + it('passes service instance', () => { + const serviceInstance = { test: true }; + provider.setComponent(getFakeComponent('test', () => serviceInstance)); + const callback = fake(); + + // initialize the service instance + provider.getImmediate(); + + provider.onInit(callback); + + expect(callback).to.have.been.calledOnce; + expect(callback).to.have.been.calledWith(serviceInstance); + }); + it('passes instance identifier', () => { provider.setComponent( getFakeComponent( From 80bef4bfe68f35f3fab5146af7b04370d786d397 Mon Sep 17 00:00:00 2001 From: Feiyang Date: Mon, 14 Jun 2021 12:11:29 -0700 Subject: [PATCH 3/3] Create sharp-pans-share.md --- .changeset/sharp-pans-share.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/sharp-pans-share.md diff --git a/.changeset/sharp-pans-share.md b/.changeset/sharp-pans-share.md new file mode 100644 index 00000000000..03bcc49fa95 --- /dev/null +++ b/.changeset/sharp-pans-share.md @@ -0,0 +1,5 @@ +--- +"@firebase/component": patch +--- + +Pass the instance to onInit callback