@yodata/context-sdk
v2.0.4
Published
tools for developing and publishing yodata-context (cdef.yaml) files.
Downloads
52
Readme
@yodata/context-sdk
Developer tools for managing yodata context/view yaml files.
Context (cdef.yaml) Syntax
$schema: 'https://realestate.yodata.me/context/v1/schema.yaml'
$id: 'https://pod.example.com/public/context/{{name}}.yaml'
context:
sourcekey: targetkey
view:
destkey: selector
See the @yodata/transform documentation for more info
CLI commands
create-yodata-context
$ npx create-yodata-context
? project name my-context
? project description my awesome context
? validationSchema: https://realestate.yodata.me/context/v1/schema.yaml
? service pod URL https://user.example.com
? pod secret (x-api-key) secret
Done.
- see your context README.md for some helpful information on context development:
open my-context/README.md
$ cd my-context
This command creates a new sub-directory and scaffolds a context project.
template files
.
├── README.md
├── __tests__
│ └── my-context.test.js
├── example
│ ├── input.json
│ └── output.json
├── my-context.cdef.yaml
└── package.json
Deploy
> npx deploy
# deploys to {{pod.url}}/public/context/{{environment}}/{{name}}.cdef.yaml
# @default environment = stage
This command will http.put your context to the default location (stage)
deploy options
--production
> npx deploy --production
# deploys to {{pod.url}}/public/context/{{name}}.cdef.yaml
Transform
> npx transform <datapath> <filepath> [--inverse]
# @param {string} datapath - path to the file to be transformed
# @param {string} filepath - path to the context file ({{name}}.cdef.yaml)
# @default filepath = {{name}}.cdef.yaml
# @param {boolean} inverse - flag (use for testing outbound transforms (subscriptions))
This command will:
- Fetch and parse the context from filepath
- Fetch and parse the JSON or YAML data from datapath
- Transform data with the context provided
- Print the result and/or any errors to console