A template for yaml-scene extension
Run the below command to setup project
npm run setup
Create a element implement IElement
.
Example Translator
import { IElement } from "yaml-scene/src/elements/IElement"
export default class YourExtension implements IElement {
// Proxy object which provides some utils functions (logger...)
proxy?: ElementProxy<any>
// Init properties from yaml to object
init?(props: any){}
// Prepare data, replace data value before executing
prepare?(){}
// Execute main flow
exec(){}
// After executed done need dispose object
dispose?(){}
// Clone new object in loop or template...
clone?(){}
}
This project template support auto generate document base on comment line in code.
-
Write extension information. Learn more
/** * @group * @name yaml-scene-extension/Translator * @description Translate hello text to vietnamese * @group Extension * @order * @example - yaml-scene-extension/Translator: text: hello var: result - Echo: ${result} * @end */ export class Translator implements IElement { ... }
-
Run command to generate to guideline document
npm run doc
- A file GUIDE.md will be generate to root folder
The project use jest
to test project.
- Write testing files to
test/
. - There are 2 options to run test
- Only test
npm test
- Test & Debug
npm run test:debug
- Only test
The project allow inject extension into yaml-scene global.
- Create a scenario file at
scenes/test/your_extension.yaml
- Register your extension to yaml-scene
extensions: - ../../dist/src/Your_Extension # Register a new extension
- Call your extension
- Your_Extension: prop1: hello prop2: vi var: yourVar
- Run test
yas scenes/test/your_extension.yaml