Common Expressions
This plugin exposes some basic expressions into Player content.
It also serves as a good reference to adding your own custom expressions into Player.
Usage
Install the plugin:
npm i @player-ui/common-expressions-plugin
yarn add @player-ui/common-expressions-plugin
pnpm add @player-ui/common-expressions-plugin
Add it to Player:
import { CommonExpressionsPlugin } from '@player-ui/common-expressions-plugin';
const commonExpressionsPlugin = new CommonExpressionsPlugin();const player = new Player({ plugins: [commonExpressionsPlugin] });
// Start your flowplayer.start(myFlow);
This will allow any included expressions or custom expressions to be used in the content
CocoaPods
Add the subspec to your Podfile
pod 'PlayerUI/CommonExpressionsPlugin'
Swift Usage
This plugin takes no parameters, and the configuration comes from content, it can just be added to the plugin array:
var body: some View { SwiftUIPlayer( flow: flow, plugins: [ CommonExpressionsPlugin() ], result: $resultBinding )}
General
size
Gets the size of a value. This is the number of keys in an object, the length of a string, or the number of items in an array.
function size(value: string | array | object): number;
length
Alias for
size
concat
Concatenates arrays together, or strings into 1 value
function concat(...values: Array): Array;
Strings
trim
Trims whitespace from the leading and trailing edges of a string
function trim(value: string): string;
upperCase
Transforms the string to all uppercase.
function upperCase(value: string): string;
lowerCase
Transforms the string to all lowercase.
function lowerCase(value: string): string;
titleCase
Transforms the string to title case. Each word is capitalized.
function titleCase(value: string): string;
sentenceCase
Transforms the string to sentence case. The first word is capitalized.
function sentenceCase(value: string): string;
replace
Replaces all instances of pattern in string with replacement. The pattern can also be a regex.
function replace( value: string, pattern: string | RegExp, replacement: string,): string;
containsAny
Checks if a given string contains any keywords present in the given array.
function containsAny(value: string, keywords: Array<string>): boolean;
Math
number
Converts the given value to a number if possible. Will handle removing currency modifiers and comma delimitated values.
function number(value: string): number | undefined;
round
Rounds the given number to the nearest integer.
function round(value: number): number;
floor
Rounds the number down the the nearest integer
function floor(value: number): number;
ceil
Rounds the number up the the nearest integer
function ceil(value: number): number;
sum
Sums up all arguments
function sum(...values: Array<number>): number;
Objects/Arrays
findPropertyIndex
Finds the index of the item in the given array (or array reference). Returns -1 for indexes that aren’t found
function findPropertyIndex( binding: Binding | Array, searchProperty: string, searchValue: any,): number;
findProperty
Finds the item in the given array that matches the search criteria. Optionally return a specific property or a fallback value if not found
function findPropertyIndex( binding: Binding | Array, searchProperty: string, searchValue: any, fallBackProperty?: string, fallBackValue?: T,): T;