@fluidframework/synthesize 0.58.3000-61081 → 0.59.2000-61729

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.
@@ -65,7 +65,7 @@ class DependencyContainer {
65
65
  */
66
66
  getProvider(provider) {
67
67
  // this was removed, but some partners have trouble with back compat where they
68
- // use invalid patterns with IFluidObject and IFluidDependencySynthesizer
68
+ // use invalid patterns with FluidObject and IFluidDependencySynthesizer
69
69
  // this is just for back compat until those are removed
70
70
  if (this.has(provider)) {
71
71
  if (this.providers.has(provider)) {
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyContainer.js","sourceRoot":"","sources":["../src/dependencyContainer.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,+EAEuC;AAEvC;;;GAGG;AACH,MAAa,mBAAmB;IAK5B,YAAmB,GAAI,OAAoD;QAJ1D,cAAS,GAAG,IAAI,GAAG,EAAwC,CAAC;QAKzE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAoC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAC5F,CAAC;IAJD,IAAW,2BAA2B,KAAK,OAAO,IAAI,CAAC,CAAC,CAAC;IAMzD;;;;;OAKG;IACI,QAAQ,CAAoC,IAAO,EAAE,QAA4C;QACpG,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,sBAAsB,CAAC,CAAC;SAC5F;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACI,UAAU,CAAC,IAAgB;QAC9B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;SAC/B;IACL,CAAC;IAED;;OAEG;IACI,UAAU,CACb,aAA2C,EAC3C,aAAqD;QAErD,MAAM,IAAI,GAAmC,EAAS,CAAC;QACvD,IAAI,CAAC,gBAAgB,CAAI,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,gBAAgB,CAAI,IAAI,EAAE,aAAa,CAAC,CAAC;QAC9C,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,yDAA2B,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9E,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;OAGG;IACI,GAAG,CAAC,IAAY,EAAE,cAAwB;QAC7C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAkB,CAAC,EAAE;YACxC,OAAO,IAAI,CAAC;SACf;QACD,IAAI,cAAc,KAAK,IAAI,EAAE;YACzB,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAA8B,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;SAC7E;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IACD;;OAEG;IACK,WAAW,CAAC,QAA6B;QAC7C,+EAA+E;QAC/E,yEAAyE;QACzE,uDAAuD;QACvD,IAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;YACnB,IAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC7B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACvC;YACD,KAAI,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC9B,IAAG,MAAM,YAAY,mBAAmB,EAAE;oBACtC,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;iBACvC;qBAAI;oBACD,+EAA+E;oBAC/E,MAAM,gBAAgB,GAAkD,MAAa,CAAC;oBACtF,IAAG,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,MAAK,SAAS,EAAE;wBAC5C,OAAO,gBAAgB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;qBACjD;iBACJ;aACJ;SACJ;IACL,CAAC;IAEO,gBAAgB,CACpB,IAAyC,EACzC,KAA6C;QAE7C,IAAI,KAAK,KAAK,SAAS,EAAE;YAAE,OAAO;SAAE;QACpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,EAAE;YAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAG,QAAQ,KAAK,SAAS,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,uEAAuE,GAAG,EAAE,CAAC,CAAC;aACjG;YACD,MAAM,CAAC,cAAc,CACjB,IAAI,EACJ,GAAG,EACH,QAAQ,CACX,CAAC;SACL;IACL,CAAC;IAEO,gBAAgB,CACpB,IAAyC,EACzC,KAAmC;;QAEnC,IAAI,KAAK,KAAK,SAAS,EAAE;YAAE,OAAO;SAAE;QACpC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAA8B,EAAE;YAC/D,6EAA6E;YAC7E,wFAAwF;YACxF,wEAAwE;YACxE,MAAM,QAAQ,SAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,mCAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAAE,CAAC,SAAS,EAAE,CAAC;YAC7E,MAAM,CAAC,cAAc,CACjB,IAAI,EACJ,GAAG,EACH,QAAQ,CACX,CAAC;SACL;IACL,CAAC;IAEO,eAAe,CAAuB,CAAI;QAC9C,oCAAoC;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE;gBAC/B,yEAAyE;gBACzE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAA8C,CAAC;gBAClE,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CACzB,EAAE,EACF,EAAE,CAAC,CAAC;gBACR,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;gBAC3D,IAAI,UAAU,KAAK,SAAS,EAAE;oBAC1B,OAAO,UAAU,CAAC;iBACrB;aACJ;YACD,OAAO,SAAS,CAAC;SACpB;QAED,+EAA+E;QAC/E,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;YAChC,OAAO;gBACH,GAAG;oBACC,IAAI,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;wBAC5C,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,yDAA2B,CAAC,CAAC;6BACpD,IAAI,CAAC,KAAK,EAAE,GAAG,EAAgB,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;6BAChD,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAG,CAAC,CAAC,CAAC,CAAC;qBAC5B;gBACL,CAAC;aACJ,CAAC;SACL;QACD,OAAO;YACC,GAAG;gBACC,IAAI,QAAQ,EAAE;oBACV,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;wBACxC,IAAI,CAAC,EAAE;4BACH,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yBACf;oBACL,CAAC,CAAC,CAAC;iBACN;YACL,CAAC;SACJ,CAAC;IACV,CAAC;CACJ;AAnKD,kDAmKC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n AsyncFluidObjectProvider,\n FluidObjectSymbolProvider,\n FluidObjectProvider,\n AsyncOptionalFluidObjectProvider,\n AsyncRequiredFluidObjectProvider,\n} from \"./types\";\nimport {\n IFluidDependencySynthesizer,\n} from \"./IFluidDependencySynthesizer\";\n\n/**\n * DependencyContainer is similar to a IoC Container. It takes providers and will\n * synthesize an object based on them when requested.\n */\nexport class DependencyContainer<TMap> implements IFluidDependencySynthesizer {\n private readonly providers = new Map<keyof TMap, FluidObjectProvider<any>>();\n private readonly parents: IFluidDependencySynthesizer[];\n public get IFluidDependencySynthesizer() { return this; }\n\n public constructor(... parents: (IFluidDependencySynthesizer | undefined)[]) {\n this.parents = parents.filter((v): v is IFluidDependencySynthesizer => v !== undefined);\n }\n\n /**\n * Add a new provider\n * @param type - Name of the Type T being provided\n * @param provider - A provider that will resolve the T correctly when asked\n * @throws - If passing a type that's already registered\n */\n public register<T extends keyof TMap = keyof TMap>(type: T, provider: FluidObjectProvider<Pick<TMap, T>>): void {\n if (this.providers.has(type)) {\n throw new Error(`Attempting to register a provider of type ${type} that already exists`);\n }\n\n this.providers.set(type, provider);\n }\n\n /**\n * Remove a provider\n * @param type - Name of the provider to remove\n */\n public unregister(type: keyof TMap): void {\n if (this.providers.has(type)) {\n this.providers.delete(type);\n }\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).synthesize}\n */\n public synthesize<O, R = undefined | Record<string, never>>(\n optionalTypes: FluidObjectSymbolProvider<O>,\n requiredTypes: Required<FluidObjectSymbolProvider<R>>,\n ): AsyncFluidObjectProvider<O, R> {\n const base: AsyncFluidObjectProvider<O, R> = {} as any;\n this.generateRequired<R>(base, requiredTypes);\n this.generateOptional<O>(base, optionalTypes);\n Object.defineProperty(base, IFluidDependencySynthesizer, { get: () => this });\n return base;\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).has}\n * @param excludeParents - If true, exclude checking parent registries\n */\n public has(type: string, excludeParents?: boolean): boolean {\n if (this.providers.has(type as keyof TMap)) {\n return true;\n }\n if (excludeParents !== true) {\n return this.parents.some((p: IFluidDependencySynthesizer) => p.has(type));\n }\n return false;\n }\n /**\n * @deprecated - Needed for back compat\n */\n private getProvider(provider: string & keyof TMap) {\n // this was removed, but some partners have trouble with back compat where they\n // use invalid patterns with IFluidObject and IFluidDependencySynthesizer\n // this is just for back compat until those are removed\n if(this.has(provider)) {\n if(this.providers.has(provider)) {\n return this.providers.get(provider);\n }\n for(const parent of this.parents) {\n if(parent instanceof DependencyContainer) {\n return parent.getProvider(provider);\n }else{\n // older implementations of the IFluidDependencySynthesizer exposed getProvider\n const maybeGetProvider: {getProvider?(provider: string & keyof TMap)} = parent as any;\n if(maybeGetProvider?.getProvider !== undefined) {\n return maybeGetProvider.getProvider(provider);\n }\n }\n }\n }\n }\n\n private generateRequired<T>(\n base: AsyncRequiredFluidObjectProvider<T>,\n types: Required<FluidObjectSymbolProvider<T>>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n const provider = this.resolveProvider(key);\n if(provider === undefined) {\n throw new Error(`Object attempted to be created without registered required provider ${key}`);\n }\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private generateOptional<T>(\n base: AsyncOptionalFluidObjectProvider<T>,\n types: FluidObjectSymbolProvider<T>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n // back-compat: in 0.56 we allow undefined in the types, but we didn't before\n // this will keep runtime back compat, eventually we should support undefined properties\n // rather than properties that return promises that resolve to undefined\n const provider = this.resolveProvider(key) ?? { get: async () => undefined };\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private resolveProvider<T extends keyof TMap>(t: T): PropertyDescriptor | undefined {\n // If we have the provider return it\n const provider = this.providers.get(t);\n if (provider === undefined) {\n for (const parent of this.parents) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const sp = { [t]: t } as FluidObjectSymbolProvider<Pick<TMap, T>>;\n const syn = parent.synthesize<Pick<TMap, T>, Record<string, unknown>>(\n sp,\n {});\n const descriptor = Object.getOwnPropertyDescriptor(syn, t);\n if (descriptor !== undefined) {\n return descriptor;\n }\n }\n return undefined;\n }\n\n // The double nested gets are required for lazy loading the provider resolution\n if (typeof provider === \"function\") {\n return {\n get() {\n if (provider && typeof provider === \"function\") {\n return Promise.resolve(this[IFluidDependencySynthesizer])\n .then(async (fds): Promise<any> => provider(fds))\n .then((p) => p?.[t]);\n }\n },\n };\n }\n return {\n get() {\n if (provider) {\n return Promise.resolve(provider).then((p) => {\n if (p) {\n return p[t];\n }\n });\n }\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"dependencyContainer.js","sourceRoot":"","sources":["../src/dependencyContainer.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n AsyncFluidObjectProvider,\n FluidObjectSymbolProvider,\n FluidObjectProvider,\n AsyncOptionalFluidObjectProvider,\n AsyncRequiredFluidObjectProvider,\n} from \"./types\";\nimport {\n IFluidDependencySynthesizer,\n} from \"./IFluidDependencySynthesizer\";\n\n/**\n * DependencyContainer is similar to a IoC Container. It takes providers and will\n * synthesize an object based on them when requested.\n */\nexport class DependencyContainer<TMap> implements IFluidDependencySynthesizer {\n private readonly providers = new Map<keyof TMap, FluidObjectProvider<any>>();\n private readonly parents: IFluidDependencySynthesizer[];\n public get IFluidDependencySynthesizer() { return this; }\n\n public constructor(... parents: (IFluidDependencySynthesizer | undefined)[]) {\n this.parents = parents.filter((v): v is IFluidDependencySynthesizer => v !== undefined);\n }\n\n /**\n * Add a new provider\n * @param type - Name of the Type T being provided\n * @param provider - A provider that will resolve the T correctly when asked\n * @throws - If passing a type that's already registered\n */\n public register<T extends keyof TMap = keyof TMap>(type: T, provider: FluidObjectProvider<Pick<TMap, T>>): void {\n if (this.providers.has(type)) {\n throw new Error(`Attempting to register a provider of type ${type} that already exists`);\n }\n\n this.providers.set(type, provider);\n }\n\n /**\n * Remove a provider\n * @param type - Name of the provider to remove\n */\n public unregister(type: keyof TMap): void {\n if (this.providers.has(type)) {\n this.providers.delete(type);\n }\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).synthesize}\n */\n public synthesize<O, R = undefined | Record<string, never>>(\n optionalTypes: FluidObjectSymbolProvider<O>,\n requiredTypes: Required<FluidObjectSymbolProvider<R>>,\n ): AsyncFluidObjectProvider<O, R> {\n const base: AsyncFluidObjectProvider<O, R> = {} as any;\n this.generateRequired<R>(base, requiredTypes);\n this.generateOptional<O>(base, optionalTypes);\n Object.defineProperty(base, IFluidDependencySynthesizer, { get: () => this });\n return base;\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).has}\n * @param excludeParents - If true, exclude checking parent registries\n */\n public has(type: string, excludeParents?: boolean): boolean {\n if (this.providers.has(type as keyof TMap)) {\n return true;\n }\n if (excludeParents !== true) {\n return this.parents.some((p: IFluidDependencySynthesizer) => p.has(type));\n }\n return false;\n }\n /**\n * @deprecated - Needed for back compat\n */\n private getProvider(provider: string & keyof TMap) {\n // this was removed, but some partners have trouble with back compat where they\n // use invalid patterns with FluidObject and IFluidDependencySynthesizer\n // this is just for back compat until those are removed\n if(this.has(provider)) {\n if(this.providers.has(provider)) {\n return this.providers.get(provider);\n }\n for(const parent of this.parents) {\n if(parent instanceof DependencyContainer) {\n return parent.getProvider(provider);\n }else{\n // older implementations of the IFluidDependencySynthesizer exposed getProvider\n const maybeGetProvider: {getProvider?(provider: string & keyof TMap)} = parent as any;\n if(maybeGetProvider?.getProvider !== undefined) {\n return maybeGetProvider.getProvider(provider);\n }\n }\n }\n }\n }\n\n private generateRequired<T>(\n base: AsyncRequiredFluidObjectProvider<T>,\n types: Required<FluidObjectSymbolProvider<T>>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n const provider = this.resolveProvider(key);\n if(provider === undefined) {\n throw new Error(`Object attempted to be created without registered required provider ${key}`);\n }\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private generateOptional<T>(\n base: AsyncOptionalFluidObjectProvider<T>,\n types: FluidObjectSymbolProvider<T>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n // back-compat: in 0.56 we allow undefined in the types, but we didn't before\n // this will keep runtime back compat, eventually we should support undefined properties\n // rather than properties that return promises that resolve to undefined\n const provider = this.resolveProvider(key) ?? { get: async () => undefined };\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private resolveProvider<T extends keyof TMap>(t: T): PropertyDescriptor | undefined {\n // If we have the provider return it\n const provider = this.providers.get(t);\n if (provider === undefined) {\n for (const parent of this.parents) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const sp = { [t]: t } as FluidObjectSymbolProvider<Pick<TMap, T>>;\n const syn = parent.synthesize<Pick<TMap, T>, Record<string, unknown>>(\n sp,\n {});\n const descriptor = Object.getOwnPropertyDescriptor(syn, t);\n if (descriptor !== undefined) {\n return descriptor;\n }\n }\n return undefined;\n }\n\n // The double nested gets are required for lazy loading the provider resolution\n if (typeof provider === \"function\") {\n return {\n get() {\n if (provider && typeof provider === \"function\") {\n return Promise.resolve(this[IFluidDependencySynthesizer])\n .then(async (fds): Promise<any> => provider(fds))\n .then((p) => p?.[t]);\n }\n },\n };\n }\n return {\n get() {\n if (provider) {\n return Promise.resolve(provider).then((p) => {\n if (p) {\n return p[t];\n }\n });\n }\n },\n };\n }\n}\n"]}
@@ -152,18 +152,18 @@
152
152
  "affectsGlobalScope": false
153
153
  },
154
154
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/provider.d.ts": {
155
- "version": "bc7c554f306ede38ac8d2c79c8325320a596f8331c008032cc5fc87626d9c0b9",
156
- "signature": "bc7c554f306ede38ac8d2c79c8325320a596f8331c008032cc5fc87626d9c0b9",
155
+ "version": "ffe2fe2824ad18643c67bdea603c0b13ce0b8e03fcedd7e830c3621e7495b8e4",
156
+ "signature": "ffe2fe2824ad18643c67bdea603c0b13ce0b8e03fcedd7e830c3621e7495b8e4",
157
157
  "affectsGlobalScope": false
158
158
  },
159
159
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts": {
160
- "version": "a2228831e5efcba6c26dfd52c63d279e88d626c72e58cbd9b0d08a34b267ebf2",
161
- "signature": "a2228831e5efcba6c26dfd52c63d279e88d626c72e58cbd9b0d08a34b267ebf2",
160
+ "version": "008b0f774aa53fadf66f518d63e53df8a1bb6389908ac361895f3acae06159df",
161
+ "signature": "008b0f774aa53fadf66f518d63e53df8a1bb6389908ac361895f3acae06159df",
162
162
  "affectsGlobalScope": false
163
163
  },
164
164
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts": {
165
- "version": "4e9d111924468ed4547451e4962457ec18ad69ef965311681d1272bfd352e9f9",
166
- "signature": "4e9d111924468ed4547451e4962457ec18ad69ef965311681d1272bfd352e9f9",
165
+ "version": "8692a1ed3a979fa000b62e01f8d33cf940e030b7af50945176428f9cdd4dca80",
166
+ "signature": "8692a1ed3a979fa000b62e01f8d33cf940e030b7af50945176428f9cdd4dca80",
167
167
  "affectsGlobalScope": false
168
168
  },
169
169
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts": {
@@ -172,8 +172,8 @@
172
172
  "affectsGlobalScope": false
173
173
  },
174
174
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts": {
175
- "version": "62c426ebd149e87125813c604d9a6a1addb45ccd73f0e7fcc24181e8bd6e51cf",
176
- "signature": "62c426ebd149e87125813c604d9a6a1addb45ccd73f0e7fcc24181e8bd6e51cf",
175
+ "version": "4de717c31e6a926ab75d60b15881fcb86eedfe4c86a10ecc7bcbb132b704ec25",
176
+ "signature": "4de717c31e6a926ab75d60b15881fcb86eedfe4c86a10ecc7bcbb132b704ec25",
177
177
  "affectsGlobalScope": false
178
178
  },
179
179
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts": {
@@ -457,8 +457,8 @@
457
457
  "affectsGlobalScope": false
458
458
  },
459
459
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/storage.d.ts": {
460
- "version": "efcdf8d3587b6d332ee9e4098822b5421100849eabf5efbdf8c2736ae6975c8d",
461
- "signature": "efcdf8d3587b6d332ee9e4098822b5421100849eabf5efbdf8c2736ae6975c8d",
460
+ "version": "400b71c3fd22577b532c14206b3e39f1cd13d7222e12a23f18253b1a8a573efc",
461
+ "signature": "400b71c3fd22577b532c14206b3e39f1cd13d7222e12a23f18253b1a8a573efc",
462
462
  "affectsGlobalScope": false
463
463
  },
464
464
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/summary.d.ts": {
@@ -491,27 +491,72 @@
491
491
  "signature": "383dced3ebba2967eeab64d0b7facd4529fe3ed2c352744f3f6c1988482206d4",
492
492
  "affectsGlobalScope": false
493
493
  },
494
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts": {
495
+ "version": "29af84fd868f666a8d2b0766b188faed869babeb3da5c556fc1151cc4e1e5153",
496
+ "signature": "29af84fd868f666a8d2b0766b188faed869babeb3da5c556fc1151cc4e1e5153",
497
+ "affectsGlobalScope": false
498
+ },
494
499
  "../../../../../node_modules/@fluidframework/container-definitions/dist/browserPackage.d.ts": {
495
- "version": "3eaa82d284d2ecf646a9f84e79269ec4505c0491876a9fd07f0cd7b5827f7df9",
496
- "signature": "3eaa82d284d2ecf646a9f84e79269ec4505c0491876a9fd07f0cd7b5827f7df9",
500
+ "version": "5a6da0fe8e8896c8f05057396d825d36506a1527de189150cf4d8dea3e794239",
501
+ "signature": "5a6da0fe8e8896c8f05057396d825d36506a1527de189150cf4d8dea3e794239",
497
502
  "affectsGlobalScope": false
498
503
  },
499
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts": {
504
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts": {
500
505
  "version": "9c35bf4f305ed653f657ebe97ced739b0778fab04b76268d4adcac72f279b242",
501
506
  "signature": "9c35bf4f305ed653f657ebe97ced739b0778fab04b76268d4adcac72f279b242",
502
507
  "affectsGlobalScope": false
503
508
  },
504
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": {
509
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts": {
510
+ "version": "766d8c595f94c9fe9dbb779b60d7a4d6d7a6526ef22090ccedbc658c2d8c77e0",
511
+ "signature": "766d8c595f94c9fe9dbb779b60d7a4d6d7a6526ef22090ccedbc658c2d8c77e0",
512
+ "affectsGlobalScope": false
513
+ },
514
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/provider.d.ts": {
515
+ "version": "bc7c554f306ede38ac8d2c79c8325320a596f8331c008032cc5fc87626d9c0b9",
516
+ "signature": "bc7c554f306ede38ac8d2c79c8325320a596f8331c008032cc5fc87626d9c0b9",
517
+ "affectsGlobalScope": false
518
+ },
519
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts": {
520
+ "version": "a2228831e5efcba6c26dfd52c63d279e88d626c72e58cbd9b0d08a34b267ebf2",
521
+ "signature": "a2228831e5efcba6c26dfd52c63d279e88d626c72e58cbd9b0d08a34b267ebf2",
522
+ "affectsGlobalScope": false
523
+ },
524
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts": {
525
+ "version": "4e9d111924468ed4547451e4962457ec18ad69ef965311681d1272bfd352e9f9",
526
+ "signature": "4e9d111924468ed4547451e4962457ec18ad69ef965311681d1272bfd352e9f9",
527
+ "affectsGlobalScope": false
528
+ },
529
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts": {
530
+ "version": "9d1f552cc6eb78389d10237e3c61d114b9681f5098c3fc594436e7d448afe55b",
531
+ "signature": "9d1f552cc6eb78389d10237e3c61d114b9681f5098c3fc594436e7d448afe55b",
532
+ "affectsGlobalScope": false
533
+ },
534
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts": {
535
+ "version": "62c426ebd149e87125813c604d9a6a1addb45ccd73f0e7fcc24181e8bd6e51cf",
536
+ "signature": "62c426ebd149e87125813c604d9a6a1addb45ccd73f0e7fcc24181e8bd6e51cf",
537
+ "affectsGlobalScope": false
538
+ },
539
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts": {
540
+ "version": "970e1154a10ec841ea6a3f2605044a65e2261bb953f3b72a1ca1faa480c697f8",
541
+ "signature": "970e1154a10ec841ea6a3f2605044a65e2261bb953f3b72a1ca1faa480c697f8",
542
+ "affectsGlobalScope": false
543
+ },
544
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/index.d.ts": {
545
+ "version": "398cf7701e7ebd8094e625fff1ba84c2b97a23aefe2ea135f0b47df0a58cf465",
546
+ "signature": "398cf7701e7ebd8094e625fff1ba84c2b97a23aefe2ea135f0b47df0a58cf465",
547
+ "affectsGlobalScope": false
548
+ },
549
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": {
505
550
  "version": "fb75519ad714b609817f371b9e3fca4f02e2302d50bb84a3e8e9ba6ba233ce3d",
506
551
  "signature": "fb75519ad714b609817f371b9e3fca4f02e2302d50bb84a3e8e9ba6ba233ce3d",
507
552
  "affectsGlobalScope": false
508
553
  },
509
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/storage.d.ts": {
510
- "version": "dc51da03872a900f82db416a294523a0d37f4be324e1fd9d69c20856f01604e8",
511
- "signature": "dc51da03872a900f82db416a294523a0d37f4be324e1fd9d69c20856f01604e8",
554
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/storage.d.ts": {
555
+ "version": "23333bf4703c216fc9707c31b1c80d913f0dcbb66b2603011a399c5bc517cc84",
556
+ "signature": "23333bf4703c216fc9707c31b1c80d913f0dcbb66b2603011a399c5bc517cc84",
512
557
  "affectsGlobalScope": false
513
558
  },
514
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts": {
559
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts": {
515
560
  "version": "db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1",
516
561
  "signature": "db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1",
517
562
  "affectsGlobalScope": false
@@ -527,18 +572,18 @@
527
572
  "affectsGlobalScope": false
528
573
  },
529
574
  "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts": {
530
- "version": "fd64a9d2be496b6b5831ed862a5828906f4821f109a8bc7e5c20d340942a6c2a",
531
- "signature": "fd64a9d2be496b6b5831ed862a5828906f4821f109a8bc7e5c20d340942a6c2a",
575
+ "version": "8023ac345236d4f16563d8dee36b7db6a3b58d2d478c2de674cbd70ce0249737",
576
+ "signature": "8023ac345236d4f16563d8dee36b7db6a3b58d2d478c2de674cbd70ce0249737",
532
577
  "affectsGlobalScope": false
533
578
  },
534
579
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts": {
535
- "version": "34c3d5cfa7f01c2c116a0db84b92c0b3bc598cb282bb230b1df4a9a525519207",
536
- "signature": "34c3d5cfa7f01c2c116a0db84b92c0b3bc598cb282bb230b1df4a9a525519207",
580
+ "version": "4427d0a7919b0ecf1fc78cb51e48ff8de72e41a41c5f13489e55470a2f7b7995",
581
+ "signature": "4427d0a7919b0ecf1fc78cb51e48ff8de72e41a41c5f13489e55470a2f7b7995",
537
582
  "affectsGlobalScope": false
538
583
  },
539
584
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts": {
540
- "version": "d354a98d9977074408d68db0d291fe988584eeddc8cc6a211f45a4c1a245e944",
541
- "signature": "d354a98d9977074408d68db0d291fe988584eeddc8cc6a211f45a4c1a245e944",
585
+ "version": "597fef4eabc67556e36afaefae4d924153cd3dace784f44529891dffda5abe7e",
586
+ "signature": "597fef4eabc67556e36afaefae4d924153cd3dace784f44529891dffda5abe7e",
542
587
  "affectsGlobalScope": false
543
588
  },
544
589
  "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts": {
@@ -546,11 +591,6 @@
546
591
  "signature": "419d3554e67aed44fbad75878a168ec530032ea11a2572c769e98d15b91cad81",
547
592
  "affectsGlobalScope": false
548
593
  },
549
- "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts": {
550
- "version": "29af84fd868f666a8d2b0766b188faed869babeb3da5c556fc1151cc4e1e5153",
551
- "signature": "29af84fd868f666a8d2b0766b188faed869babeb3da5c556fc1151cc4e1e5153",
552
- "affectsGlobalScope": false
553
- },
554
594
  "../../../../../node_modules/@fluidframework/container-definitions/dist/proxyLoader.d.ts": {
555
595
  "version": "0ee40e5e446be73c62334a574d628dac014b292699bca2527d2abb99b8e31bf9",
556
596
  "signature": "0ee40e5e446be73c62334a574d628dac014b292699bca2527d2abb99b8e31bf9",
@@ -686,26 +726,6 @@
686
726
  "signature": "f8eb054ed71a693219fa8c4ecd08272a72dadf73ab82ec9a73b365662f16775c",
687
727
  "affectsGlobalScope": false
688
728
  },
689
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts": {
690
- "version": "9c35bf4f305ed653f657ebe97ced739b0778fab04b76268d4adcac72f279b242",
691
- "signature": "9c35bf4f305ed653f657ebe97ced739b0778fab04b76268d4adcac72f279b242",
692
- "affectsGlobalScope": false
693
- },
694
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": {
695
- "version": "fb75519ad714b609817f371b9e3fca4f02e2302d50bb84a3e8e9ba6ba233ce3d",
696
- "signature": "fb75519ad714b609817f371b9e3fca4f02e2302d50bb84a3e8e9ba6ba233ce3d",
697
- "affectsGlobalScope": false
698
- },
699
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/storage.d.ts": {
700
- "version": "23333bf4703c216fc9707c31b1c80d913f0dcbb66b2603011a399c5bc517cc84",
701
- "signature": "23333bf4703c216fc9707c31b1c80d913f0dcbb66b2603011a399c5bc517cc84",
702
- "affectsGlobalScope": false
703
- },
704
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts": {
705
- "version": "db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1",
706
- "signature": "db393dd65f2c615ff4ad4078bc1a2660b53f18ac0b27dbee9e11a00c129feab1",
707
- "affectsGlobalScope": false
708
- },
709
729
  "../../../../runtime/runtime-definitions/dist/dataStoreRegistry.d.ts": {
710
730
  "version": "eff90c8fb7521204ef889ea0684748a7ff8a1b62a7e0cc23ace822a96d1bff44",
711
731
  "signature": "eff90c8fb7521204ef889ea0684748a7ff8a1b62a7e0cc23ace822a96d1bff44",
@@ -727,8 +747,8 @@
727
747
  "affectsGlobalScope": false
728
748
  },
729
749
  "../../../../runtime/runtime-definitions/dist/dataStoreContext.d.ts": {
730
- "version": "f3838179c26a4bb23819e58d86519e93db5b7c4400feb1c3bfe1f2acd1507dc9",
731
- "signature": "f3838179c26a4bb23819e58d86519e93db5b7c4400feb1c3bfe1f2acd1507dc9",
750
+ "version": "2137a49910486c5f9a6a028bc19d2afbbfc147885e46ebcb434d1ecb24983821",
751
+ "signature": "2137a49910486c5f9a6a028bc19d2afbbfc147885e46ebcb434d1ecb24983821",
732
752
  "affectsGlobalScope": false
733
753
  },
734
754
  "../../../../runtime/runtime-definitions/dist/dataStoreFactory.d.ts": {
@@ -772,13 +792,13 @@
772
792
  "affectsGlobalScope": false
773
793
  },
774
794
  "../../../../runtime/datastore/dist/dataStoreRuntime.d.ts": {
775
- "version": "08109e06a36fb9219bb0de1d0879eef2f7d42a92aa5fb585b80775259fa09316",
776
- "signature": "08109e06a36fb9219bb0de1d0879eef2f7d42a92aa5fb585b80775259fa09316",
795
+ "version": "0161b59129dab096029007e9bb4eb287d6aafe5131943bd99ffbe942df0cb312",
796
+ "signature": "0161b59129dab096029007e9bb4eb287d6aafe5131943bd99ffbe942df0cb312",
777
797
  "affectsGlobalScope": false
778
798
  },
779
799
  "../../../../runtime/datastore/dist/fluidHandle.d.ts": {
780
- "version": "0db40fc64ac6d6c6601fc83f29439e9b81c487c39e34ae18503582b39323fd39",
781
- "signature": "0db40fc64ac6d6c6601fc83f29439e9b81c487c39e34ae18503582b39323fd39",
800
+ "version": "fa2391e2793c9deed82cbdc69ca6ec910498b73d02aefd1fbce7080a69ec3eef",
801
+ "signature": "fa2391e2793c9deed82cbdc69ca6ec910498b73d02aefd1fbce7080a69ec3eef",
782
802
  "affectsGlobalScope": false
783
803
  },
784
804
  "../../../../runtime/datastore/dist/index.d.ts": {
@@ -787,8 +807,8 @@
787
807
  "affectsGlobalScope": false
788
808
  },
789
809
  "../types.d.ts": {
790
- "version": "461180d6ff91eb3902b1a5fa34185327d785e059fdc52ad2fe2b0a16c0960489",
791
- "signature": "461180d6ff91eb3902b1a5fa34185327d785e059fdc52ad2fe2b0a16c0960489",
810
+ "version": "0019f06f88e66fa5371d8eebb0e81dc749e54a8f65f8ec9b59760c77e759e46e",
811
+ "signature": "0019f06f88e66fa5371d8eebb0e81dc749e54a8f65f8ec9b59760c77e759e46e",
792
812
  "affectsGlobalScope": false
793
813
  },
794
814
  "../IFluidDependencySynthesizer.d.ts": {
@@ -832,7 +852,7 @@
832
852
  "affectsGlobalScope": false
833
853
  },
834
854
  "../../src/test/types/validateSynthesizePrevious.ts": {
835
- "version": "f72d196be03d90a1f9e636fbbc046197d962abc00285ea7bc9026cb453388e5c",
855
+ "version": "a468afb6b7ceb12b0f43c2c7ec6b299188f150e68e1c3f9f24dacf7418502bf6",
836
856
  "signature": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
837
857
  "affectsGlobalScope": false
838
858
  },
@@ -932,21 +952,20 @@
932
952
  "../../../../../node_modules/@types/node/index.d.ts"
933
953
  ],
934
954
  "../../../../../node_modules/@fluidframework/container-definitions/dist/browserPackage.d.ts": [
935
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
955
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts"
936
956
  ],
937
957
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts": [
938
958
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
939
959
  "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
940
960
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
941
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
942
961
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
943
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
944
962
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
945
963
  ],
946
964
  "../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts": [
947
965
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts"
948
966
  ],
949
967
  "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts": [
968
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts",
950
969
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
951
970
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
952
971
  ],
@@ -966,9 +985,7 @@
966
985
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
967
986
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
968
987
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
969
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
970
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
971
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts"
988
+ "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
972
989
  ],
973
990
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts": [
974
991
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
@@ -976,45 +993,28 @@
976
993
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
977
994
  "../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts",
978
995
  "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts",
996
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts",
979
997
  "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
980
998
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
981
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
982
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
983
999
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
984
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1000
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
985
1001
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
986
1002
  ],
987
1003
  "../../../../../node_modules/@fluidframework/container-definitions/dist/proxyLoader.d.ts": [
988
1004
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
989
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts"
1005
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts"
990
1006
  ],
991
1007
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts": [
992
1008
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
993
1009
  "../../../../../node_modules/@fluidframework/container-definitions/dist/audience.d.ts",
994
1010
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
995
1011
  "../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts",
1012
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts",
996
1013
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
997
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
998
1014
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1015
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
999
1016
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1000
1017
  ],
1001
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts": [
1002
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts",
1003
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/storage.d.ts",
1004
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts"
1005
- ],
1006
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/storage.d.ts": [
1007
- "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
1008
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1009
- "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1010
- ],
1011
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": [
1012
- "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1013
- "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
1014
- "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1015
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1016
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts"
1017
- ],
1018
1018
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts": [
1019
1019
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts"
1020
1020
  ],
@@ -1026,7 +1026,6 @@
1026
1026
  ],
1027
1027
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts": [
1028
1028
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1029
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
1030
1029
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1031
1030
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/provider.d.ts"
1032
1031
  ],
@@ -1053,11 +1052,34 @@
1053
1052
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1054
1053
  ],
1055
1054
  "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": [
1056
- "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1057
- "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
1058
- "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1059
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1060
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1055
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1056
+ ],
1057
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts": [
1058
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts"
1059
+ ],
1060
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts": [
1061
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1062
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1063
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts",
1064
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts"
1065
+ ],
1066
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts": [
1067
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1068
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
1069
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1070
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/provider.d.ts"
1071
+ ],
1072
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/index.d.ts": [
1073
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1074
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
1075
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts",
1076
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1077
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts",
1078
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/provider.d.ts",
1079
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts"
1080
+ ],
1081
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts": [
1082
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts"
1061
1083
  ],
1062
1084
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts": [
1063
1085
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/users.d.ts"
@@ -1491,21 +1513,20 @@
1491
1513
  "../../../../../node_modules/@types/node/index.d.ts"
1492
1514
  ],
1493
1515
  "../../../../../node_modules/@fluidframework/container-definitions/dist/browserPackage.d.ts": [
1494
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1516
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts"
1495
1517
  ],
1496
1518
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts": [
1497
1519
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
1498
1520
  "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
1499
1521
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1500
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1501
1522
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1502
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1503
1523
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1504
1524
  ],
1505
1525
  "../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts": [
1506
1526
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts"
1507
1527
  ],
1508
1528
  "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts": [
1529
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts",
1509
1530
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
1510
1531
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1511
1532
  ],
@@ -1525,9 +1546,7 @@
1525
1546
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1526
1547
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1527
1548
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
1528
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1529
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1530
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts"
1549
+ "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1531
1550
  ],
1532
1551
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts": [
1533
1552
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
@@ -1535,45 +1554,28 @@
1535
1554
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1536
1555
  "../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts",
1537
1556
  "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidModule.d.ts",
1557
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts",
1538
1558
  "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
1539
1559
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
1540
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
1541
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1542
1560
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1543
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1561
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
1544
1562
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1545
1563
  ],
1546
1564
  "../../../../../node_modules/@fluidframework/container-definitions/dist/proxyLoader.d.ts": [
1547
1565
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1548
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts"
1566
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts"
1549
1567
  ],
1550
1568
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts": [
1551
1569
  "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
1552
1570
  "../../../../../node_modules/@fluidframework/container-definitions/dist/audience.d.ts",
1553
1571
  "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1554
1572
  "../../../../../node_modules/@fluidframework/container-definitions/dist/error.d.ts",
1573
+ "../../../../../node_modules/@fluidframework/container-definitions/dist/fluidPackage.d.ts",
1555
1574
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1556
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
1557
1575
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1576
+ "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
1558
1577
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1559
1578
  ],
1560
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts": [
1561
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts",
1562
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/storage.d.ts",
1563
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts"
1564
- ],
1565
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/storage.d.ts": [
1566
- "../../../../../node_modules/@fluidframework/common-definitions/dist/index.d.ts",
1567
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1568
- "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1569
- ],
1570
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": [
1571
- "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1572
- "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
1573
- "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1574
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
1575
- "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts"
1576
- ],
1577
1579
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts": [
1578
1580
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts"
1579
1581
  ],
@@ -1585,7 +1587,6 @@
1585
1587
  ],
1586
1588
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/handles.d.ts": [
1587
1589
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1588
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
1589
1590
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1590
1591
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/provider.d.ts"
1591
1592
  ],
@@ -1612,11 +1613,34 @@
1612
1613
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/index.d.ts"
1613
1614
  ],
1614
1615
  "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts": [
1615
- "../../../../../node_modules/@fluidframework/container-definitions/dist/deltas.d.ts",
1616
- "../../../../../node_modules/@fluidframework/container-definitions/dist/legacy/index.d.ts",
1617
- "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
1618
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
1619
- "../../../../../node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1616
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/index.d.ts"
1617
+ ],
1618
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts": [
1619
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts"
1620
+ ],
1621
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts": [
1622
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1623
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1624
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts",
1625
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts"
1626
+ ],
1627
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts": [
1628
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1629
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
1630
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1631
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/provider.d.ts"
1632
+ ],
1633
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/index.d.ts": [
1634
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
1635
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
1636
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts",
1637
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
1638
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts",
1639
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/provider.d.ts",
1640
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts"
1641
+ ],
1642
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts": [
1643
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts"
1620
1644
  ],
1621
1645
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts": [
1622
1646
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/users.d.ts"
@@ -2018,10 +2042,6 @@
2018
2042
  "../../../../../node_modules/@fluidframework/container-definitions/dist/loader.d.ts",
2019
2043
  "../../../../../node_modules/@fluidframework/container-definitions/dist/proxyLoader.d.ts",
2020
2044
  "../../../../../node_modules/@fluidframework/container-definitions/dist/runtime.d.ts",
2021
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/driverError.d.ts",
2022
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
2023
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/storage.d.ts",
2024
- "../../../../../node_modules/@fluidframework/container-definitions/node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
2025
2045
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
2026
2046
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
2027
2047
  "../../../../../node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts",
@@ -2034,6 +2054,14 @@
2034
2054
  "../../../../../node_modules/@fluidframework/driver-definitions/dist/index.d.ts",
2035
2055
  "../../../../../node_modules/@fluidframework/driver-definitions/dist/storage.d.ts",
2036
2056
  "../../../../../node_modules/@fluidframework/driver-definitions/dist/urlResolver.d.ts",
2057
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidLoadable.d.ts",
2058
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidObject.d.ts",
2059
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidPackage.d.ts",
2060
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/fluidRouter.d.ts",
2061
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/handles.d.ts",
2062
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/index.d.ts",
2063
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/provider.d.ts",
2064
+ "../../../../../node_modules/@fluidframework/driver-definitions/node_modules/@fluidframework/core-interfaces/dist/serializer.d.ts",
2037
2065
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/clients.d.ts",
2038
2066
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/config.d.ts",
2039
2067
  "../../../../../node_modules/@fluidframework/protocol-definitions/dist/consensus.d.ts",
@@ -1 +1 @@
1
- {"version":3,"file":"validateSynthesizePrevious.js","sourceRoot":"","sources":["../../../src/test/types/validateSynthesizePrevious.ts"],"names":[],"mappings":";;AAyBA,yDAAyD,CACrD,qDAAqD,EAAE,CAAC,CAAC;AAW7D,qDAAqD,CACjD,yDAAyD,EAAE,CAAC,CAAC;AAWjE,iEAAiE,CAC7D,6DAA6D,EAAE,CAAC,CAAC;AAWrE,6DAA6D,CACzD,iEAAiE,EAAE,CAAC,CAAC;AAWzE,iEAAiE,CAC7D,6DAA6D,EAAE,CAAC,CAAC;AAWrE,6DAA6D,CACzD,iEAAiE,EAAE,CAAC,CAAC;AAWzE,gDAAgD,CAC5C,4CAA4C,EAAE,CAAC,CAAC;AAWpD,4CAA4C,CACxC,gDAAgD,EAAE,CAAC,CAAC;AAWxD,oDAAoD,CAChD,gDAAgD,EAAE,CAAC,CAAC;AAWxD,gDAAgD,CAC5C,oDAAoD,EAAE,CAAC,CAAC;AAW5D,0DAA0D,CACtD,sDAAsD,EAAE,CAAC,CAAC;AAW9D,sDAAsD,CAClD,0DAA0D,EAAE,CAAC,CAAC;AAWlE,2DAA2D,CACvD,uDAAuD,EAAE,CAAC,CAAC;AAW/D,uDAAuD,CACnD,2DAA2D,EAAE,CAAC,CAAC;AAWnE,4DAA4D,CACxD,wDAAwD,EAAE,CAAC,CAAC;AAWhE,wDAAwD,CACpD,4DAA4D,EAAE,CAAC,CAAC;AAWpE,mEAAmE,CAC/D,+DAA+D,EAAE,CAAC,CAAC;AAWvE,+DAA+D,CAC3D,mEAAmE,EAAE,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by fluid-type-validator in @fluidframework/build-tools.\n */\n/* eslint-disable max-lines */\nimport * as old from \"@fluidframework/synthesize-previous\";\nimport * as current from \"../../index\";\n\ntype TypeOnly<T> = {\n [P in keyof T]: TypeOnly<T[P]>;\n};\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_AsyncFluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_AsyncFluidObjectProvider():\n TypeOnly<old.AsyncFluidObjectProvider<any,any>>;\ndeclare function use_current_TypeAliasDeclaration_AsyncFluidObjectProvider(\n use: TypeOnly<current.AsyncFluidObjectProvider<any,any>>);\nuse_current_TypeAliasDeclaration_AsyncFluidObjectProvider(\n get_old_TypeAliasDeclaration_AsyncFluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_AsyncFluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_AsyncFluidObjectProvider():\n TypeOnly<current.AsyncFluidObjectProvider<any,any>>;\ndeclare function use_old_TypeAliasDeclaration_AsyncFluidObjectProvider(\n use: TypeOnly<old.AsyncFluidObjectProvider<any,any>>);\nuse_old_TypeAliasDeclaration_AsyncFluidObjectProvider(\n get_current_TypeAliasDeclaration_AsyncFluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_AsyncOptionalFluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider():\n TypeOnly<old.AsyncOptionalFluidObjectProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n use: TypeOnly<current.AsyncOptionalFluidObjectProvider<any>>);\nuse_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n get_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_AsyncOptionalFluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider():\n TypeOnly<current.AsyncOptionalFluidObjectProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n use: TypeOnly<old.AsyncOptionalFluidObjectProvider<any>>);\nuse_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n get_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_AsyncRequiredFluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider():\n TypeOnly<old.AsyncRequiredFluidObjectProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n use: TypeOnly<current.AsyncRequiredFluidObjectProvider<any>>);\nuse_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n get_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_AsyncRequiredFluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider():\n TypeOnly<current.AsyncRequiredFluidObjectProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n use: TypeOnly<old.AsyncRequiredFluidObjectProvider<any>>);\nuse_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n get_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"ClassDeclaration_DependencyContainer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_ClassDeclaration_DependencyContainer():\n TypeOnly<old.DependencyContainer<any>>;\ndeclare function use_current_ClassDeclaration_DependencyContainer(\n use: TypeOnly<current.DependencyContainer<any>>);\nuse_current_ClassDeclaration_DependencyContainer(\n get_old_ClassDeclaration_DependencyContainer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"ClassDeclaration_DependencyContainer\": {\"backCompat\": false}\n*/\ndeclare function get_current_ClassDeclaration_DependencyContainer():\n TypeOnly<current.DependencyContainer<any>>;\ndeclare function use_old_ClassDeclaration_DependencyContainer(\n use: TypeOnly<old.DependencyContainer<any>>);\nuse_old_ClassDeclaration_DependencyContainer(\n get_current_ClassDeclaration_DependencyContainer());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_FluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_FluidObjectProvider():\n TypeOnly<old.FluidObjectProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_FluidObjectProvider(\n use: TypeOnly<current.FluidObjectProvider<any>>);\nuse_current_TypeAliasDeclaration_FluidObjectProvider(\n get_old_TypeAliasDeclaration_FluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_FluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_FluidObjectProvider():\n TypeOnly<current.FluidObjectProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_FluidObjectProvider(\n use: TypeOnly<old.FluidObjectProvider<any>>);\nuse_old_TypeAliasDeclaration_FluidObjectProvider(\n get_current_TypeAliasDeclaration_FluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_FluidObjectSymbolProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_FluidObjectSymbolProvider():\n TypeOnly<old.FluidObjectSymbolProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_FluidObjectSymbolProvider(\n use: TypeOnly<current.FluidObjectSymbolProvider<any>>);\nuse_current_TypeAliasDeclaration_FluidObjectSymbolProvider(\n get_old_TypeAliasDeclaration_FluidObjectSymbolProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"TypeAliasDeclaration_FluidObjectSymbolProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_FluidObjectSymbolProvider():\n TypeOnly<current.FluidObjectSymbolProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_FluidObjectSymbolProvider(\n use: TypeOnly<old.FluidObjectSymbolProvider<any>>);\nuse_old_TypeAliasDeclaration_FluidObjectSymbolProvider(\n get_current_TypeAliasDeclaration_FluidObjectSymbolProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"VariableDeclaration_IFluidDependencySynthesizer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_VariableDeclaration_IFluidDependencySynthesizer():\n TypeOnly<typeof old.IFluidDependencySynthesizer>;\ndeclare function use_current_VariableDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<typeof current.IFluidDependencySynthesizer>);\nuse_current_VariableDeclaration_IFluidDependencySynthesizer(\n get_old_VariableDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"VariableDeclaration_IFluidDependencySynthesizer\": {\"backCompat\": false}\n*/\ndeclare function get_current_VariableDeclaration_IFluidDependencySynthesizer():\n TypeOnly<typeof current.IFluidDependencySynthesizer>;\ndeclare function use_old_VariableDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<typeof old.IFluidDependencySynthesizer>);\nuse_old_VariableDeclaration_IFluidDependencySynthesizer(\n get_current_VariableDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"InterfaceDeclaration_IFluidDependencySynthesizer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IFluidDependencySynthesizer():\n TypeOnly<old.IFluidDependencySynthesizer>;\ndeclare function use_current_InterfaceDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<current.IFluidDependencySynthesizer>);\nuse_current_InterfaceDeclaration_IFluidDependencySynthesizer(\n get_old_InterfaceDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"InterfaceDeclaration_IFluidDependencySynthesizer\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IFluidDependencySynthesizer():\n TypeOnly<current.IFluidDependencySynthesizer>;\ndeclare function use_old_InterfaceDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<old.IFluidDependencySynthesizer>);\nuse_old_InterfaceDeclaration_IFluidDependencySynthesizer(\n get_current_InterfaceDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"InterfaceDeclaration_IProvideFluidDependencySynthesizer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer():\n TypeOnly<old.IProvideFluidDependencySynthesizer>;\ndeclare function use_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n use: TypeOnly<current.IProvideFluidDependencySynthesizer>);\nuse_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n get_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2000:\n* \"InterfaceDeclaration_IProvideFluidDependencySynthesizer\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer():\n TypeOnly<current.IProvideFluidDependencySynthesizer>;\ndeclare function use_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n use: TypeOnly<old.IProvideFluidDependencySynthesizer>);\nuse_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n get_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer());\n"]}
1
+ {"version":3,"file":"validateSynthesizePrevious.js","sourceRoot":"","sources":["../../../src/test/types/validateSynthesizePrevious.ts"],"names":[],"mappings":";;AAyBA,yDAAyD,CACrD,qDAAqD,EAAE,CAAC,CAAC;AAW7D,qDAAqD,CACjD,yDAAyD,EAAE,CAAC,CAAC;AAWjE,iEAAiE,CAC7D,6DAA6D,EAAE,CAAC,CAAC;AAWrE,6DAA6D,CACzD,iEAAiE,EAAE,CAAC,CAAC;AAWzE,iEAAiE,CAC7D,6DAA6D,EAAE,CAAC,CAAC;AAWrE,6DAA6D,CACzD,iEAAiE,EAAE,CAAC,CAAC;AAWzE,gDAAgD,CAC5C,4CAA4C,EAAE,CAAC,CAAC;AAWpD,4CAA4C,CACxC,gDAAgD,EAAE,CAAC,CAAC;AAWxD,oDAAoD,CAChD,gDAAgD,EAAE,CAAC,CAAC;AAWxD,gDAAgD,CAC5C,oDAAoD,EAAE,CAAC,CAAC;AAW5D,0DAA0D,CACtD,sDAAsD,EAAE,CAAC,CAAC;AAW9D,sDAAsD,CAClD,0DAA0D,EAAE,CAAC,CAAC;AAWlE,2DAA2D,CACvD,uDAAuD,EAAE,CAAC,CAAC;AAW/D,uDAAuD,CACnD,2DAA2D,EAAE,CAAC,CAAC;AAWnE,4DAA4D,CACxD,wDAAwD,EAAE,CAAC,CAAC;AAWhE,wDAAwD,CACpD,4DAA4D,EAAE,CAAC,CAAC;AAWpE,mEAAmE,CAC/D,+DAA+D,EAAE,CAAC,CAAC;AAWvE,+DAA+D,CAC3D,mEAAmE,EAAE,CAAC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/*\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.\n * Generated by fluid-type-validator in @fluidframework/build-tools.\n */\n/* eslint-disable max-lines */\nimport * as old from \"@fluidframework/synthesize-previous\";\nimport * as current from \"../../index\";\n\ntype TypeOnly<T> = {\n [P in keyof T]: TypeOnly<T[P]>;\n};\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_AsyncFluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_AsyncFluidObjectProvider():\n TypeOnly<old.AsyncFluidObjectProvider<any,any>>;\ndeclare function use_current_TypeAliasDeclaration_AsyncFluidObjectProvider(\n use: TypeOnly<current.AsyncFluidObjectProvider<any,any>>);\nuse_current_TypeAliasDeclaration_AsyncFluidObjectProvider(\n get_old_TypeAliasDeclaration_AsyncFluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_AsyncFluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_AsyncFluidObjectProvider():\n TypeOnly<current.AsyncFluidObjectProvider<any,any>>;\ndeclare function use_old_TypeAliasDeclaration_AsyncFluidObjectProvider(\n use: TypeOnly<old.AsyncFluidObjectProvider<any,any>>);\nuse_old_TypeAliasDeclaration_AsyncFluidObjectProvider(\n get_current_TypeAliasDeclaration_AsyncFluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_AsyncOptionalFluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider():\n TypeOnly<old.AsyncOptionalFluidObjectProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n use: TypeOnly<current.AsyncOptionalFluidObjectProvider<any>>);\nuse_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n get_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_AsyncOptionalFluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider():\n TypeOnly<current.AsyncOptionalFluidObjectProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n use: TypeOnly<old.AsyncOptionalFluidObjectProvider<any>>);\nuse_old_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider(\n get_current_TypeAliasDeclaration_AsyncOptionalFluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_AsyncRequiredFluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider():\n TypeOnly<old.AsyncRequiredFluidObjectProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n use: TypeOnly<current.AsyncRequiredFluidObjectProvider<any>>);\nuse_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n get_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_AsyncRequiredFluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider():\n TypeOnly<current.AsyncRequiredFluidObjectProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n use: TypeOnly<old.AsyncRequiredFluidObjectProvider<any>>);\nuse_old_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider(\n get_current_TypeAliasDeclaration_AsyncRequiredFluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"ClassDeclaration_DependencyContainer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_ClassDeclaration_DependencyContainer():\n TypeOnly<old.DependencyContainer<any>>;\ndeclare function use_current_ClassDeclaration_DependencyContainer(\n use: TypeOnly<current.DependencyContainer<any>>);\nuse_current_ClassDeclaration_DependencyContainer(\n get_old_ClassDeclaration_DependencyContainer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"ClassDeclaration_DependencyContainer\": {\"backCompat\": false}\n*/\ndeclare function get_current_ClassDeclaration_DependencyContainer():\n TypeOnly<current.DependencyContainer<any>>;\ndeclare function use_old_ClassDeclaration_DependencyContainer(\n use: TypeOnly<old.DependencyContainer<any>>);\nuse_old_ClassDeclaration_DependencyContainer(\n get_current_ClassDeclaration_DependencyContainer());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_FluidObjectProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_FluidObjectProvider():\n TypeOnly<old.FluidObjectProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_FluidObjectProvider(\n use: TypeOnly<current.FluidObjectProvider<any>>);\nuse_current_TypeAliasDeclaration_FluidObjectProvider(\n get_old_TypeAliasDeclaration_FluidObjectProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_FluidObjectProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_FluidObjectProvider():\n TypeOnly<current.FluidObjectProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_FluidObjectProvider(\n use: TypeOnly<old.FluidObjectProvider<any>>);\nuse_old_TypeAliasDeclaration_FluidObjectProvider(\n get_current_TypeAliasDeclaration_FluidObjectProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_FluidObjectSymbolProvider\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_TypeAliasDeclaration_FluidObjectSymbolProvider():\n TypeOnly<old.FluidObjectSymbolProvider<any>>;\ndeclare function use_current_TypeAliasDeclaration_FluidObjectSymbolProvider(\n use: TypeOnly<current.FluidObjectSymbolProvider<any>>);\nuse_current_TypeAliasDeclaration_FluidObjectSymbolProvider(\n get_old_TypeAliasDeclaration_FluidObjectSymbolProvider());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"TypeAliasDeclaration_FluidObjectSymbolProvider\": {\"backCompat\": false}\n*/\ndeclare function get_current_TypeAliasDeclaration_FluidObjectSymbolProvider():\n TypeOnly<current.FluidObjectSymbolProvider<any>>;\ndeclare function use_old_TypeAliasDeclaration_FluidObjectSymbolProvider(\n use: TypeOnly<old.FluidObjectSymbolProvider<any>>);\nuse_old_TypeAliasDeclaration_FluidObjectSymbolProvider(\n get_current_TypeAliasDeclaration_FluidObjectSymbolProvider());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"VariableDeclaration_IFluidDependencySynthesizer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_VariableDeclaration_IFluidDependencySynthesizer():\n TypeOnly<typeof old.IFluidDependencySynthesizer>;\ndeclare function use_current_VariableDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<typeof current.IFluidDependencySynthesizer>);\nuse_current_VariableDeclaration_IFluidDependencySynthesizer(\n get_old_VariableDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"VariableDeclaration_IFluidDependencySynthesizer\": {\"backCompat\": false}\n*/\ndeclare function get_current_VariableDeclaration_IFluidDependencySynthesizer():\n TypeOnly<typeof current.IFluidDependencySynthesizer>;\ndeclare function use_old_VariableDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<typeof old.IFluidDependencySynthesizer>);\nuse_old_VariableDeclaration_IFluidDependencySynthesizer(\n get_current_VariableDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"InterfaceDeclaration_IFluidDependencySynthesizer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IFluidDependencySynthesizer():\n TypeOnly<old.IFluidDependencySynthesizer>;\ndeclare function use_current_InterfaceDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<current.IFluidDependencySynthesizer>);\nuse_current_InterfaceDeclaration_IFluidDependencySynthesizer(\n get_old_InterfaceDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"InterfaceDeclaration_IFluidDependencySynthesizer\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IFluidDependencySynthesizer():\n TypeOnly<current.IFluidDependencySynthesizer>;\ndeclare function use_old_InterfaceDeclaration_IFluidDependencySynthesizer(\n use: TypeOnly<old.IFluidDependencySynthesizer>);\nuse_old_InterfaceDeclaration_IFluidDependencySynthesizer(\n get_current_InterfaceDeclaration_IFluidDependencySynthesizer());\n\n/*\n* Validate forward compat by using old type in place of current type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"InterfaceDeclaration_IProvideFluidDependencySynthesizer\": {\"forwardCompat\": false}\n*/\ndeclare function get_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer():\n TypeOnly<old.IProvideFluidDependencySynthesizer>;\ndeclare function use_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n use: TypeOnly<current.IProvideFluidDependencySynthesizer>);\nuse_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n get_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer());\n\n/*\n* Validate back compat by using current type in place of old type\n* If breaking change required, add in package.json under typeValidation.broken.0.58.2002:\n* \"InterfaceDeclaration_IProvideFluidDependencySynthesizer\": {\"backCompat\": false}\n*/\ndeclare function get_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer():\n TypeOnly<current.IProvideFluidDependencySynthesizer>;\ndeclare function use_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n use: TypeOnly<old.IProvideFluidDependencySynthesizer>);\nuse_old_InterfaceDeclaration_IProvideFluidDependencySynthesizer(\n get_current_InterfaceDeclaration_IProvideFluidDependencySynthesizer());\n"]}
package/dist/types.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  import { IFluidDependencySynthesizer } from ".";
6
6
  /**
7
7
  * This is a condensed version of Record that requires the object has all
8
- * the IFluidObject properties as its type mapped to a string representation
8
+ * the FluidObject properties as its type mapped to a string representation
9
9
  * of that property.
10
10
  *
11
11
  * @example - \{ IFoo: "IFoo" \}
@@ -15,7 +15,7 @@ export declare type FluidObjectSymbolProvider<T> = {
15
15
  };
16
16
  /**
17
17
  * This is a condensed version of Record that requires the object has all
18
- * the IFluidObject properties as its type mapped to an object that implements
18
+ * the FluidObject properties as its type mapped to an object that implements
19
19
  * the property.
20
20
  */
21
21
  export declare type AsyncRequiredFluidObjectProvider<T> = T extends undefined ? Record<string, never> : {
@@ -23,7 +23,7 @@ export declare type AsyncRequiredFluidObjectProvider<T> = T extends undefined ?
23
23
  };
24
24
  /**
25
25
  * This is a condensed version of Record that requires the object has all
26
- * the IFluidObject properties as its type, mapped to an object that implements
26
+ * the FluidObject properties as its type, mapped to an object that implements
27
27
  * the property or undefined.
28
28
  */
29
29
  export declare type AsyncOptionalFluidObjectProvider<T> = T extends undefined ? Record<string, never> : {
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IFluidDependencySynthesizer } from \".\";\n/**\n * This is a condensed version of Record that requires the object has all\n * the IFluidObject properties as its type mapped to a string representation\n * of that property.\n *\n * @example - \\{ IFoo: \"IFoo\" \\}\n */\nexport type FluidObjectSymbolProvider<T> = {\n [P in keyof T]?: P;\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the IFluidObject properties as its type mapped to an object that implements\n * the property.\n */\nexport type AsyncRequiredFluidObjectProvider<T> = T extends undefined ? Record<string, never> : {\n [P in keyof T]: Promise<NonNullable<Exclude<T[P], undefined | null>>>\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the IFluidObject properties as its type, mapped to an object that implements\n * the property or undefined.\n */\nexport type AsyncOptionalFluidObjectProvider<T> = T extends undefined\n ? Record<string, never>\n : {\n [P in keyof T]?: Promise<T[P] | undefined>;\n };\n\n/**\n * Combined type for Optional and Required Async Fluid object Providers\n */\nexport type AsyncFluidObjectProvider<O, R = undefined>\n = AsyncOptionalFluidObjectProvider<O> & AsyncRequiredFluidObjectProvider<R>;\n\n/**\n * Multiple ways to provide a Fluid object.\n */\nexport type FluidObjectProvider<T> =\n NonNullable<T>\n | Promise<NonNullable<T>>\n | ((dependencyContainer: IFluidDependencySynthesizer) => NonNullable<T>)\n | ((dependencyContainer: IFluidDependencySynthesizer) => Promise<NonNullable<T>>);\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IFluidDependencySynthesizer } from \".\";\n/**\n * This is a condensed version of Record that requires the object has all\n * the FluidObject properties as its type mapped to a string representation\n * of that property.\n *\n * @example - \\{ IFoo: \"IFoo\" \\}\n */\nexport type FluidObjectSymbolProvider<T> = {\n [P in keyof T]?: P;\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the FluidObject properties as its type mapped to an object that implements\n * the property.\n */\nexport type AsyncRequiredFluidObjectProvider<T> = T extends undefined ? Record<string, never> : {\n [P in keyof T]: Promise<NonNullable<Exclude<T[P], undefined | null>>>\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the FluidObject properties as its type, mapped to an object that implements\n * the property or undefined.\n */\nexport type AsyncOptionalFluidObjectProvider<T> = T extends undefined\n ? Record<string, never>\n : {\n [P in keyof T]?: Promise<T[P] | undefined>;\n };\n\n/**\n * Combined type for Optional and Required Async Fluid object Providers\n */\nexport type AsyncFluidObjectProvider<O, R = undefined>\n = AsyncOptionalFluidObjectProvider<O> & AsyncRequiredFluidObjectProvider<R>;\n\n/**\n * Multiple ways to provide a Fluid object.\n */\nexport type FluidObjectProvider<T> =\n NonNullable<T>\n | Promise<NonNullable<T>>\n | ((dependencyContainer: IFluidDependencySynthesizer) => NonNullable<T>)\n | ((dependencyContainer: IFluidDependencySynthesizer) => Promise<NonNullable<T>>);\n"]}
@@ -62,7 +62,7 @@ export class DependencyContainer {
62
62
  */
63
63
  getProvider(provider) {
64
64
  // this was removed, but some partners have trouble with back compat where they
65
- // use invalid patterns with IFluidObject and IFluidDependencySynthesizer
65
+ // use invalid patterns with FluidObject and IFluidDependencySynthesizer
66
66
  // this is just for back compat until those are removed
67
67
  if (this.has(provider)) {
68
68
  if (this.providers.has(provider)) {
@@ -1 +1 @@
1
- {"version":3,"file":"dependencyContainer.js","sourceRoot":"","sources":["../src/dependencyContainer.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n AsyncFluidObjectProvider,\n FluidObjectSymbolProvider,\n FluidObjectProvider,\n AsyncOptionalFluidObjectProvider,\n AsyncRequiredFluidObjectProvider,\n} from \"./types\";\nimport {\n IFluidDependencySynthesizer,\n} from \"./IFluidDependencySynthesizer\";\n\n/**\n * DependencyContainer is similar to a IoC Container. It takes providers and will\n * synthesize an object based on them when requested.\n */\nexport class DependencyContainer<TMap> implements IFluidDependencySynthesizer {\n private readonly providers = new Map<keyof TMap, FluidObjectProvider<any>>();\n private readonly parents: IFluidDependencySynthesizer[];\n public get IFluidDependencySynthesizer() { return this; }\n\n public constructor(... parents: (IFluidDependencySynthesizer | undefined)[]) {\n this.parents = parents.filter((v): v is IFluidDependencySynthesizer => v !== undefined);\n }\n\n /**\n * Add a new provider\n * @param type - Name of the Type T being provided\n * @param provider - A provider that will resolve the T correctly when asked\n * @throws - If passing a type that's already registered\n */\n public register<T extends keyof TMap = keyof TMap>(type: T, provider: FluidObjectProvider<Pick<TMap, T>>): void {\n if (this.providers.has(type)) {\n throw new Error(`Attempting to register a provider of type ${type} that already exists`);\n }\n\n this.providers.set(type, provider);\n }\n\n /**\n * Remove a provider\n * @param type - Name of the provider to remove\n */\n public unregister(type: keyof TMap): void {\n if (this.providers.has(type)) {\n this.providers.delete(type);\n }\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).synthesize}\n */\n public synthesize<O, R = undefined | Record<string, never>>(\n optionalTypes: FluidObjectSymbolProvider<O>,\n requiredTypes: Required<FluidObjectSymbolProvider<R>>,\n ): AsyncFluidObjectProvider<O, R> {\n const base: AsyncFluidObjectProvider<O, R> = {} as any;\n this.generateRequired<R>(base, requiredTypes);\n this.generateOptional<O>(base, optionalTypes);\n Object.defineProperty(base, IFluidDependencySynthesizer, { get: () => this });\n return base;\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).has}\n * @param excludeParents - If true, exclude checking parent registries\n */\n public has(type: string, excludeParents?: boolean): boolean {\n if (this.providers.has(type as keyof TMap)) {\n return true;\n }\n if (excludeParents !== true) {\n return this.parents.some((p: IFluidDependencySynthesizer) => p.has(type));\n }\n return false;\n }\n /**\n * @deprecated - Needed for back compat\n */\n private getProvider(provider: string & keyof TMap) {\n // this was removed, but some partners have trouble with back compat where they\n // use invalid patterns with IFluidObject and IFluidDependencySynthesizer\n // this is just for back compat until those are removed\n if(this.has(provider)) {\n if(this.providers.has(provider)) {\n return this.providers.get(provider);\n }\n for(const parent of this.parents) {\n if(parent instanceof DependencyContainer) {\n return parent.getProvider(provider);\n }else{\n // older implementations of the IFluidDependencySynthesizer exposed getProvider\n const maybeGetProvider: {getProvider?(provider: string & keyof TMap)} = parent as any;\n if(maybeGetProvider?.getProvider !== undefined) {\n return maybeGetProvider.getProvider(provider);\n }\n }\n }\n }\n }\n\n private generateRequired<T>(\n base: AsyncRequiredFluidObjectProvider<T>,\n types: Required<FluidObjectSymbolProvider<T>>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n const provider = this.resolveProvider(key);\n if(provider === undefined) {\n throw new Error(`Object attempted to be created without registered required provider ${key}`);\n }\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private generateOptional<T>(\n base: AsyncOptionalFluidObjectProvider<T>,\n types: FluidObjectSymbolProvider<T>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n // back-compat: in 0.56 we allow undefined in the types, but we didn't before\n // this will keep runtime back compat, eventually we should support undefined properties\n // rather than properties that return promises that resolve to undefined\n const provider = this.resolveProvider(key) ?? { get: async () => undefined };\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private resolveProvider<T extends keyof TMap>(t: T): PropertyDescriptor | undefined {\n // If we have the provider return it\n const provider = this.providers.get(t);\n if (provider === undefined) {\n for (const parent of this.parents) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const sp = { [t]: t } as FluidObjectSymbolProvider<Pick<TMap, T>>;\n const syn = parent.synthesize<Pick<TMap, T>, Record<string, unknown>>(\n sp,\n {});\n const descriptor = Object.getOwnPropertyDescriptor(syn, t);\n if (descriptor !== undefined) {\n return descriptor;\n }\n }\n return undefined;\n }\n\n // The double nested gets are required for lazy loading the provider resolution\n if (typeof provider === \"function\") {\n return {\n get() {\n if (provider && typeof provider === \"function\") {\n return Promise.resolve(this[IFluidDependencySynthesizer])\n .then(async (fds): Promise<any> => provider(fds))\n .then((p) => p?.[t]);\n }\n },\n };\n }\n return {\n get() {\n if (provider) {\n return Promise.resolve(provider).then((p) => {\n if (p) {\n return p[t];\n }\n });\n }\n },\n };\n }\n}\n"]}
1
+ {"version":3,"file":"dependencyContainer.js","sourceRoot":"","sources":["../src/dependencyContainer.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n AsyncFluidObjectProvider,\n FluidObjectSymbolProvider,\n FluidObjectProvider,\n AsyncOptionalFluidObjectProvider,\n AsyncRequiredFluidObjectProvider,\n} from \"./types\";\nimport {\n IFluidDependencySynthesizer,\n} from \"./IFluidDependencySynthesizer\";\n\n/**\n * DependencyContainer is similar to a IoC Container. It takes providers and will\n * synthesize an object based on them when requested.\n */\nexport class DependencyContainer<TMap> implements IFluidDependencySynthesizer {\n private readonly providers = new Map<keyof TMap, FluidObjectProvider<any>>();\n private readonly parents: IFluidDependencySynthesizer[];\n public get IFluidDependencySynthesizer() { return this; }\n\n public constructor(... parents: (IFluidDependencySynthesizer | undefined)[]) {\n this.parents = parents.filter((v): v is IFluidDependencySynthesizer => v !== undefined);\n }\n\n /**\n * Add a new provider\n * @param type - Name of the Type T being provided\n * @param provider - A provider that will resolve the T correctly when asked\n * @throws - If passing a type that's already registered\n */\n public register<T extends keyof TMap = keyof TMap>(type: T, provider: FluidObjectProvider<Pick<TMap, T>>): void {\n if (this.providers.has(type)) {\n throw new Error(`Attempting to register a provider of type ${type} that already exists`);\n }\n\n this.providers.set(type, provider);\n }\n\n /**\n * Remove a provider\n * @param type - Name of the provider to remove\n */\n public unregister(type: keyof TMap): void {\n if (this.providers.has(type)) {\n this.providers.delete(type);\n }\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).synthesize}\n */\n public synthesize<O, R = undefined | Record<string, never>>(\n optionalTypes: FluidObjectSymbolProvider<O>,\n requiredTypes: Required<FluidObjectSymbolProvider<R>>,\n ): AsyncFluidObjectProvider<O, R> {\n const base: AsyncFluidObjectProvider<O, R> = {} as any;\n this.generateRequired<R>(base, requiredTypes);\n this.generateOptional<O>(base, optionalTypes);\n Object.defineProperty(base, IFluidDependencySynthesizer, { get: () => this });\n return base;\n }\n\n /**\n * {@inheritDoc (IFluidDependencySynthesizer:interface).has}\n * @param excludeParents - If true, exclude checking parent registries\n */\n public has(type: string, excludeParents?: boolean): boolean {\n if (this.providers.has(type as keyof TMap)) {\n return true;\n }\n if (excludeParents !== true) {\n return this.parents.some((p: IFluidDependencySynthesizer) => p.has(type));\n }\n return false;\n }\n /**\n * @deprecated - Needed for back compat\n */\n private getProvider(provider: string & keyof TMap) {\n // this was removed, but some partners have trouble with back compat where they\n // use invalid patterns with FluidObject and IFluidDependencySynthesizer\n // this is just for back compat until those are removed\n if(this.has(provider)) {\n if(this.providers.has(provider)) {\n return this.providers.get(provider);\n }\n for(const parent of this.parents) {\n if(parent instanceof DependencyContainer) {\n return parent.getProvider(provider);\n }else{\n // older implementations of the IFluidDependencySynthesizer exposed getProvider\n const maybeGetProvider: {getProvider?(provider: string & keyof TMap)} = parent as any;\n if(maybeGetProvider?.getProvider !== undefined) {\n return maybeGetProvider.getProvider(provider);\n }\n }\n }\n }\n }\n\n private generateRequired<T>(\n base: AsyncRequiredFluidObjectProvider<T>,\n types: Required<FluidObjectSymbolProvider<T>>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n const provider = this.resolveProvider(key);\n if(provider === undefined) {\n throw new Error(`Object attempted to be created without registered required provider ${key}`);\n }\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private generateOptional<T>(\n base: AsyncOptionalFluidObjectProvider<T>,\n types: FluidObjectSymbolProvider<T>,\n ) {\n if (types === undefined) { return; }\n for (const key of Object.keys(types) as unknown as (keyof TMap)[]) {\n // back-compat: in 0.56 we allow undefined in the types, but we didn't before\n // this will keep runtime back compat, eventually we should support undefined properties\n // rather than properties that return promises that resolve to undefined\n const provider = this.resolveProvider(key) ?? { get: async () => undefined };\n Object.defineProperty(\n base,\n key,\n provider,\n );\n }\n }\n\n private resolveProvider<T extends keyof TMap>(t: T): PropertyDescriptor | undefined {\n // If we have the provider return it\n const provider = this.providers.get(t);\n if (provider === undefined) {\n for (const parent of this.parents) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n const sp = { [t]: t } as FluidObjectSymbolProvider<Pick<TMap, T>>;\n const syn = parent.synthesize<Pick<TMap, T>, Record<string, unknown>>(\n sp,\n {});\n const descriptor = Object.getOwnPropertyDescriptor(syn, t);\n if (descriptor !== undefined) {\n return descriptor;\n }\n }\n return undefined;\n }\n\n // The double nested gets are required for lazy loading the provider resolution\n if (typeof provider === \"function\") {\n return {\n get() {\n if (provider && typeof provider === \"function\") {\n return Promise.resolve(this[IFluidDependencySynthesizer])\n .then(async (fds): Promise<any> => provider(fds))\n .then((p) => p?.[t]);\n }\n },\n };\n }\n return {\n get() {\n if (provider) {\n return Promise.resolve(provider).then((p) => {\n if (p) {\n return p[t];\n }\n });\n }\n },\n };\n }\n}\n"]}
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IFluidDependencySynthesizer } from \".\";\n/**\n * This is a condensed version of Record that requires the object has all\n * the IFluidObject properties as its type mapped to a string representation\n * of that property.\n *\n * @example - \\{ IFoo: \"IFoo\" \\}\n */\nexport type FluidObjectSymbolProvider<T> = {\n [P in keyof T]?: P;\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the IFluidObject properties as its type mapped to an object that implements\n * the property.\n */\nexport type AsyncRequiredFluidObjectProvider<T> = T extends undefined ? Record<string, never> : {\n [P in keyof T]: Promise<NonNullable<Exclude<T[P], undefined | null>>>\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the IFluidObject properties as its type, mapped to an object that implements\n * the property or undefined.\n */\nexport type AsyncOptionalFluidObjectProvider<T> = T extends undefined\n ? Record<string, never>\n : {\n [P in keyof T]?: Promise<T[P] | undefined>;\n };\n\n/**\n * Combined type for Optional and Required Async Fluid object Providers\n */\nexport type AsyncFluidObjectProvider<O, R = undefined>\n = AsyncOptionalFluidObjectProvider<O> & AsyncRequiredFluidObjectProvider<R>;\n\n/**\n * Multiple ways to provide a Fluid object.\n */\nexport type FluidObjectProvider<T> =\n NonNullable<T>\n | Promise<NonNullable<T>>\n | ((dependencyContainer: IFluidDependencySynthesizer) => NonNullable<T>)\n | ((dependencyContainer: IFluidDependencySynthesizer) => Promise<NonNullable<T>>);\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { IFluidDependencySynthesizer } from \".\";\n/**\n * This is a condensed version of Record that requires the object has all\n * the FluidObject properties as its type mapped to a string representation\n * of that property.\n *\n * @example - \\{ IFoo: \"IFoo\" \\}\n */\nexport type FluidObjectSymbolProvider<T> = {\n [P in keyof T]?: P;\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the FluidObject properties as its type mapped to an object that implements\n * the property.\n */\nexport type AsyncRequiredFluidObjectProvider<T> = T extends undefined ? Record<string, never> : {\n [P in keyof T]: Promise<NonNullable<Exclude<T[P], undefined | null>>>\n};\n\n/**\n * This is a condensed version of Record that requires the object has all\n * the FluidObject properties as its type, mapped to an object that implements\n * the property or undefined.\n */\nexport type AsyncOptionalFluidObjectProvider<T> = T extends undefined\n ? Record<string, never>\n : {\n [P in keyof T]?: Promise<T[P] | undefined>;\n };\n\n/**\n * Combined type for Optional and Required Async Fluid object Providers\n */\nexport type AsyncFluidObjectProvider<O, R = undefined>\n = AsyncOptionalFluidObjectProvider<O> & AsyncRequiredFluidObjectProvider<R>;\n\n/**\n * Multiple ways to provide a Fluid object.\n */\nexport type FluidObjectProvider<T> =\n NonNullable<T>\n | Promise<NonNullable<T>>\n | ((dependencyContainer: IFluidDependencySynthesizer) => NonNullable<T>)\n | ((dependencyContainer: IFluidDependencySynthesizer) => Promise<NonNullable<T>>);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/synthesize",
3
- "version": "0.58.3000-61081",
3
+ "version": "0.59.2000-61729",
4
4
  "description": "A library for synthesizing scope objects.",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -63,11 +63,11 @@
63
63
  },
64
64
  "devDependencies": {
65
65
  "@fluidframework/build-common": "^0.23.0",
66
- "@fluidframework/core-interfaces": "^0.42.0",
67
- "@fluidframework/datastore": "0.58.3000-61081",
68
- "@fluidframework/eslint-config-fluid": "^0.27.2000-59622",
69
- "@fluidframework/mocha-test-setup": "0.58.3000-61081",
70
- "@fluidframework/synthesize-previous": "npm:@fluidframework/synthesize@0.58.2000",
66
+ "@fluidframework/core-interfaces": "^0.43.1000-0",
67
+ "@fluidframework/datastore": "0.59.2000-61729",
68
+ "@fluidframework/eslint-config-fluid": "^0.28.1000-61189",
69
+ "@fluidframework/mocha-test-setup": "0.59.2000-61729",
70
+ "@fluidframework/synthesize-previous": "npm:@fluidframework/synthesize@^0.58.0",
71
71
  "@microsoft/api-extractor": "^7.16.1",
72
72
  "@rushstack/eslint-config": "^2.5.1",
73
73
  "@types/mocha": "^8.2.2",
@@ -91,7 +91,7 @@
91
91
  "typescript-formatter": "7.1.0"
92
92
  },
93
93
  "typeValidation": {
94
- "version": "0.58.3000",
94
+ "version": "0.59.1000",
95
95
  "broken": {}
96
96
  }
97
97
  }