2021-10-12 15:07:00 +04:00

47 lines
1.3 KiB
Swift

//
// AnimationKeypath.swift
// lottie-swift
//
// Created by Brandon Withrow on 2/4/19.
//
import Foundation
/**
`AnimationKeypath` is an object that describes a keypath search for nodes in the
animation JSON. `AnimationKeypath` matches views and properties inside of `AnimationView`
to their backing `Animation` model by name.
A keypath can be used to set properties on an existing animation, or can be validated
with an existing `Animation`.
`AnimationKeypath` can describe a specific object, or can use wildcards for fuzzy matching
of objects. Acceptable wildcards are either "*" (star) or "**" (double star).
Single star will search a single depth for the next object.
Double star will search any depth.
Read More at https://airbnb.io/lottie/#/ios?id=dynamic-animation-properties
EG:
@"Layer.Shape Group.Stroke 1.Color"
Represents a specific color node on a specific stroke.
@"**.Stroke 1.Color"
Represents the color node for every Stroke named "Stroke 1" in the animation.
*/
public struct AnimationKeypath {
/// Creates a keypath from a dot separated string. The string is separated by "."
public init(keypath: String) {
self.keys = keypath.components(separatedBy: ".")
}
/// Creates a keypath from a list of strings.
public init(keys: [String]) {
self.keys = keys
}
let keys: [String]
}