feat: Create operators-yaml plugin.

This commit is contained in:
JohannMoller 2021-11-26 17:19:24 +02:00
parent 7ab243bfc7
commit 3a521ba8c1
8 changed files with 135 additions and 2 deletions

View File

@ -0,0 +1,3 @@
# Lowdefy Operators YAML
YAML Lowdefy operators

View File

@ -0,0 +1,14 @@
module.exports = {
clearMocks: true,
collectCoverage: true,
collectCoverageFrom: ['src/**/*.js'],
coverageDirectory: 'coverage',
coveragePathIgnorePatterns: ['<rootDir>/dist/', '<rootDir>/src/test', '<rootDir>/src/index.js'],
coverageReporters: [['lcov', { projectRoot: '../../../..' }], 'text', 'clover'],
errorOnDeprecated: true,
testEnvironment: 'jsdom',
testPathIgnorePatterns: ['<rootDir>/dist/', '<rootDir>/src/test'],
transform: {
'^.+\\.(t|j)sx?$': ['@swc/jest', { configFile: '../../../../.swcrc.test' }],
},
};

View File

@ -0,0 +1,58 @@
{
"name": "@lowdefy/operators-yaml",
"version": "4.0.0-alpha.4",
"licence": "Apache-2.0",
"description": "",
"homepage": "https://lowdefy.com",
"keywords": [
"lowdefy",
"lowdefy operator"
],
"bugs": {
"url": "https://github.com/lowdefy/lowdefy/issues"
},
"contributors": [
{
"name": "Sam Tolmay",
"url": "https://github.com/SamTolmay"
},
{
"name": "Gerrie van Wyk",
"url": "https://github.com/Gervwyk"
}
],
"repository": {
"type": "git",
"url": "https://github.com/lowdefy/lowdefy.git"
},
"type": "module",
"exports": {
"./operators/client": "./dist/operatorsClient.js",
"./operators/server": "./dist/operatorsServer.js",
"./types": "./dist/types.js"
},
"files": [
"dist/*"
],
"scripts": {
"build": "yarn swc",
"clean": "rm -rf dist",
"prepare": "yarn build",
"swc": "swc src --out-dir dist --config-file ../../../../.swcrc --delete-dir-on-start --copy-files",
"test": "jest --coverage"
},
"dependencies": {
"@lowdefy/helpers": "4.0.0-alpha.4",
"@lowdefy/operators": "4.0.0-alpha.4",
"js-yaml": "4.1.0"
},
"devDependencies": {
"@swc/cli": "0.1.51",
"@swc/core": "1.2.107",
"@swc/jest": "0.2.5",
"jest": "27.3.1"
},
"publishConfig": {
"access": "public"
}
}

View File

@ -0,0 +1,17 @@
/*
Copyright 2020-2021 Lowdefy, Inc
Licensed 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.
*/
export { default as _yaml } from './operators/shared/yaml.js';

View File

@ -0,0 +1,17 @@
/*
Copyright 2020-2021 Lowdefy, Inc
Licensed 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.
*/
export { default as _yaml } from './operators/shared/yaml.js';

View File

@ -17,7 +17,7 @@
import YAML from 'js-yaml';
import { serializer } from '@lowdefy/helpers';
import runClass from '../runClass.js';
import { runClass } from '@lowdefy/operators';
function parse(input) {
if (input === 'undefined') return undefined;

View File

@ -14,7 +14,7 @@
limitations under the License.
*/
import yaml from '../../src/common/yaml.js';
import yaml from './yaml.js';
test('_yaml.parse string unquoted', () => {
expect(yaml({ params: 'firstName', location: 'locationId', methodName: 'parse' })).toEqual(

View File

@ -0,0 +1,24 @@
/*
Copyright 2020-2021 Lowdefy, Inc
Licensed 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.
*/
import * as client from './operatorsClient.js';
import * as server from './operatorsServer.js';
export default {
operators: {
client: Object.keys(client),
server: Object.keys(server),
},
};