From 883cfdf7647e73fb591f645122f19daa902f69eb Mon Sep 17 00:00:00 2001 From: burstein Date: Fri, 16 May 2025 16:40:38 +0300 Subject: [PATCH] Added prototype variables commit_hash:11d2829198ab483f46383db0ee431f93abae147a --- .../DivCollectionItemsBuilderExtensions.swift | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/client/ios/DivKit/Extensions/DivContainer/DivCollectionItemsBuilderExtensions.swift b/client/ios/DivKit/Extensions/DivContainer/DivCollectionItemsBuilderExtensions.swift index c9c0dc4cf..0af527bb2 100644 --- a/client/ios/DivKit/Extensions/DivContainer/DivCollectionItemsBuilderExtensions.swift +++ b/client/ios/DivKit/Extensions/DivContainer/DivCollectionItemsBuilderExtensions.swift @@ -7,12 +7,13 @@ extension DivCollectionItemBuilder { mappedBy modificator: (Div, Block, DivBlockModelingContext) -> T ) -> [T] { let items = resolveData(context.expressionResolver) ?? [] - return items.enumerated().compactMap { index, item in + return items.enumerated().compactMap { index, item -> T? in + let itemDict = item as? DivDictionary ?? [:] let prototypeContext = context.modifying( prototypeParams: PrototypeParams( index: index, variableName: dataElementName, - value: (item as? DivDictionary) ?? [:] + value: itemDict ) ) let prototype = prototypes @@ -27,6 +28,10 @@ extension DivCollectionItemBuilder { overridenId: id, pathSuffix: String(index) ) + itemContext.variablesStorage.initializeIfNeeded(path: itemContext.path, variables: [ + DivVariableName(rawValue: dataElementName): .dict(itemDict), + "index": .integer(index), + ]) do { return try modifyError({ DivBlockModelingError($0.message, path: itemContext.path)