packages/utils/manifest.yaml (183 lines of code) (raw):
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
project:
name: WhiskSystem
packages:
utils:
license: Apache-2.0
version: 0.0.1
public: true
annotations:
description: Building blocks that format and assemble data
actions:
echo:
version: 0.0.1
function: echo.js
annotations:
description: "Returns the input"
parameters: [
{
"name": "payload",
"required": false,
"description": "Any JSON entity"
}
]
sampleInput: { "payload": "Five fuzzy felines"}
sampleOutput: { "payload": "Five fuzzy felines"}
cat:
version: 0.0.1
function: cat.js
annotations:
description: "Concatenates input into a string"
parameters: [
{
"name": "lines",
"required": true,
"type": "array",
"description": "An array of strings or numbers"
}
]
sampleInput: { "lines": [4, 2, 3] }
sampleOutput: { "lines": [4, 2, 3] }
smash:
version: 0.0.1
function: smash.js
annotations:
description: "Nests all properties under given property"
parameters: [
{
"name": "$fieldName",
"required":true,
"type": "string",
"description": "Name of property to nest object under"
}
]
sampleInput: {
"a": 1,
"b": {
"c": 2,
"d": 3
},
"$fieldName": "p"
}
sampleOutput: {
"p": {
"a": 1,
"b": {
"c": 2,
"d": 3
}
}
}
split:
version: 0.0.1
function: split.js
annotations:
description: "Split a string into an array"
parameters: [
{
"name": "payload",
"required":true,
"description":"A string"
},
{
"name": "separator",
"required": false,
"description": "The character, or the regular expression, to use for splitting the string"
}
]
sampleInput: {
"payload": "one,two,three",
"separator": ","
}
sampleOutput: {
"lines": ["one", "two", "three"],
"payload": "one,two,three"
}
sort:
version: 0.0.1
function: sort.js
annotations:
description: "Sorts an array"
parameters: [
{
"name": "lines",
"required": true,
"type": "array",
"description": "An array of strings"
}
]
sampleInput: { "lines": [4, 2, 3] }
sampleOutput: {
"lines": [2, 3, 4],
"length": 3
}
head:
version: 0.0.1
function: head.js
annotations:
description: "Extract prefix of an array"
parameters: [
{
"name": "lines",
"required": true,
"type": "array",
"description": "An array of strings"
},
{
"name": "num",
"required": false,
"type": "integer",
"description": "The length of the prefix"
}
]
sampleInput: {
"lines": [4, 2, 3],
"num": 2
}
sampleOutput: {
"lines": [4, 2],
"num": 2
}
date:
version: 0.0.1
function: date.js
annotations:
description: "Current date and time"
sampleOutput: { "date": "2016-03-22T00:59:55.961Z" }
namespace:
version: 0.0.1
function: namespace.js
annotations:
description: "Returns namespace for the authorization key used to invoke this action"
sampleOutput: { "namespace": "guest" }
hosturl:
version: 0.0.1
function: hosturl.js
annotations:
description: "Returns the URL to activate an action or trigger"
parameters: [
{
"name": "web",
"type": "boolean",
"description": "True for web actions"
},
{
"name": "ext",
"type": "string",
"description": "Extension for web action, one of .html, .http, .json, .text"
},
{
"name": "trigger",
"type": "boolean",
"description": "True to construct path for trigger instead of action."
},
{
"name": "path",
"type": "string",
"description": "The action name as just <action name> or <package name>/<action name>."
}
]
sampleInput: {
"web": true,
"path": "utils/echo"
}
sampleOutput: { "url": "https://openwhisk.ng.bluemix.net/api/v1/experimental/web/guest/utils/echo.json" }