Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/node/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
*/
import { injectstateBuilder, Specification, workflowBuilder } from '../../dist';

const workflow: Specification.Workflow = workflowBuilder()
const workflow: Specification.IWorkflow = workflowBuilder()
.id('helloworld')
.version('1.0')
.name('Hello World Workflow')
Expand Down
15,736 changes: 6,115 additions & 9,621 deletions package-lock.json

Large diffs are not rendered by default.

26 changes: 14 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -39,34 +39,36 @@
"devDependencies": {
"@apidevtools/json-schema-ref-parser": "^9.0.7",
"@dtsgenerator/replace-namespace": "^1.4.1",
"@rollup/plugin-commonjs": "^19.0.0",
"@rollup/plugin-commonjs": "^28.0.6",
"@rollup/plugin-json": "^4.1.0",
"@rollup/plugin-node-resolve": "^13.0.0",
"@types/jest": "^27.0.3",
"@types/jest": "^30.0.0",
"@types/js-yaml": "^4.0.1",
"@types/lodash": "^4.14.168",
"@types/node-fetch": "^2.5.10",
"@types/rimraf": "^3.0.0",
"@types/yargs": "^16.0.1",
"@typescript-eslint/eslint-plugin": "^4.23.0",
"@typescript-eslint/parser": "^4.23.0",
"@typescript-eslint/eslint-plugin": "^8.45.0",
"@typescript-eslint/parser": "^8.45.0",
"dtsgenerator": "^3.10.0",
"eslint": "^7.26.0",
"eslint": "^9.36.0",
"eslint-config-prettier": "^8.3.0",
"eslint-plugin-prettier": "^3.4.0",
"husky": "6.0.0",
"jest": "^27.4.3",
"immer": "^10.0.3",
"jest": "^30.2.0",
"lint-staged": "11.0.0",
"lodash": "^4.17.21",
"node-fetch": "^2.6.1",
"prettier": "^2.3.0",
"rimraf": "^3.0.2",
"rimraf": "^6.0.1",
"rollup": "^2.47.0",
"rollup-plugin-sourcemaps": "^0.6.3",
"rollup-plugin-terser": "^7.0.2",
"rollup-plugin-typescript2": "^0.30.0",
"shx": "^0.3.3",
"ts-jest": "^27.1.0",
"rollup-plugin-typescript2": "^0.36.0",
"shx": "^0.4.0",
"ts-jest": "^29.4.4",
"ts-node": "^9.1.1",
"typescript": "^4.2.4",
"typescript": "^5.5.3",
"yargs": "^17.0.1"
},
"repository": {
Expand Down
1 change: 0 additions & 1 deletion src/lib/builders/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,2 @@
# Auto generated notice

This directory and its content has been generated automatically. Do not modify its content, it WILL be lost.
23 changes: 15 additions & 8 deletions src/lib/builders/action-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Action} data The underlying object
* @returns {Specification.Action} The validated underlying object
* @param {Specification.IAction} data The underlying object
* @returns {Specification.IAction} The validated underlying object
*/
function actionBuildingFn(data: Specification.Action): () => Specification.Action {
function actionBuildingFn(data: Specification.IAction): () => Specification.IAction {
return () => {
const model = new Specification.Action(data);

validate('Action', model.normalize());
return model;
if (hasProperty(model, 'normalize')) {
validate('Action', (model as any).normalize());
} else {
validate('Action', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Action`
* @returns {Specification.Action} A builder for `Specification.Action`
* @returns {Specification.IAction} A builder for `Specification.Action`
*/
export function actionBuilder(): Builder<Specification.Action> {
return builder<Specification.Action>(actionBuildingFn);
export function actionBuilder(): Builder<Specification.IAction> {
return builder<Specification.IAction>(actionBuildingFn);
}
23 changes: 15 additions & 8 deletions src/lib/builders/actiondatafilter-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Actiondatafilter} data The underlying object
* @returns {Specification.Actiondatafilter} The validated underlying object
* @param {Specification.IActiondatafilter} data The underlying object
* @returns {Specification.IActiondatafilter} The validated underlying object
*/
function actiondatafilterBuildingFn(data: Specification.Actiondatafilter): () => Specification.Actiondatafilter {
function actiondatafilterBuildingFn(data: Specification.IActiondatafilter): () => Specification.IActiondatafilter {
return () => {
const model = new Specification.Actiondatafilter(data);

validate('Actiondatafilter', model);
return model;
if (hasProperty(model, 'normalize')) {
validate('Actiondatafilter', (model as any).normalize());
} else {
validate('Actiondatafilter', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Actiondatafilter`
* @returns {Specification.Actiondatafilter} A builder for `Specification.Actiondatafilter`
* @returns {Specification.IActiondatafilter} A builder for `Specification.Actiondatafilter`
*/
export function actiondatafilterBuilder(): Builder<Specification.Actiondatafilter> {
return builder<Specification.Actiondatafilter>(actiondatafilterBuildingFn);
export function actiondatafilterBuilder(): Builder<Specification.IActiondatafilter> {
return builder<Specification.IActiondatafilter>(actiondatafilterBuildingFn);
}
23 changes: 15 additions & 8 deletions src/lib/builders/authdef-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Authdef} data The underlying object
* @returns {Specification.Authdef} The validated underlying object
* @param {Specification.IAuthdef} data The underlying object
* @returns {Specification.IAuthdef} The validated underlying object
*/
function authdefBuildingFn(data: Specification.Authdef): () => Specification.Authdef {
function authdefBuildingFn(data: Specification.IAuthdef): () => Specification.IAuthdef {
return () => {
const model = new Specification.Authdef(data);

validate('Authdef', model.normalize());
return model;
if (hasProperty(model, 'normalize')) {
validate('Authdef', (model as any).normalize());
} else {
validate('Authdef', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Authdef`
* @returns {Specification.Authdef} A builder for `Specification.Authdef`
* @returns {Specification.IAuthdef} A builder for `Specification.Authdef`
*/
export function authdefBuilder(): Builder<Specification.Authdef> {
return builder<Specification.Authdef>(authdefBuildingFn);
export function authdefBuilder(): Builder<Specification.IAuthdef> {
return builder<Specification.IAuthdef>(authdefBuildingFn);
}
23 changes: 15 additions & 8 deletions src/lib/builders/basicpropsdef-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Basicpropsdef} data The underlying object
* @returns {Specification.Basicpropsdef} The validated underlying object
* @param {Specification.IBasicpropsdef} data The underlying object
* @returns {Specification.IBasicpropsdef} The validated underlying object
*/
function basicpropsdefBuildingFn(data: Specification.Basicpropsdef): () => Specification.Basicpropsdef {
function basicpropsdefBuildingFn(data: Specification.IBasicpropsdef): () => Specification.IBasicpropsdef {
return () => {
const model = new Specification.Basicpropsdef(data);

validate('Basicpropsdef', model);
return model;
if (hasProperty(model, 'normalize')) {
validate('Basicpropsdef', (model as any).normalize());
} else {
validate('Basicpropsdef', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Basicpropsdef`
* @returns {Specification.Basicpropsdef} A builder for `Specification.Basicpropsdef`
* @returns {Specification.IBasicpropsdef} A builder for `Specification.Basicpropsdef`
*/
export function basicpropsdefBuilder(): Builder<Specification.Basicpropsdef> {
return builder<Specification.Basicpropsdef>(basicpropsdefBuildingFn);
export function basicpropsdefBuilder(): Builder<Specification.IBasicpropsdef> {
return builder<Specification.IBasicpropsdef>(basicpropsdefBuildingFn);
}
23 changes: 15 additions & 8 deletions src/lib/builders/bearerpropsdef-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Bearerpropsdef} data The underlying object
* @returns {Specification.Bearerpropsdef} The validated underlying object
* @param {Specification.IBearerpropsdef} data The underlying object
* @returns {Specification.IBearerpropsdef} The validated underlying object
*/
function bearerpropsdefBuildingFn(data: Specification.Bearerpropsdef): () => Specification.Bearerpropsdef {
function bearerpropsdefBuildingFn(data: Specification.IBearerpropsdef): () => Specification.IBearerpropsdef {
return () => {
const model = new Specification.Bearerpropsdef(data);

validate('Bearerpropsdef', model);
return model;
if (hasProperty(model, 'normalize')) {
validate('Bearerpropsdef', (model as any).normalize());
} else {
validate('Bearerpropsdef', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Bearerpropsdef`
* @returns {Specification.Bearerpropsdef} A builder for `Specification.Bearerpropsdef`
* @returns {Specification.IBearerpropsdef} A builder for `Specification.Bearerpropsdef`
*/
export function bearerpropsdefBuilder(): Builder<Specification.Bearerpropsdef> {
return builder<Specification.Bearerpropsdef>(bearerpropsdefBuildingFn);
export function bearerpropsdefBuilder(): Builder<Specification.IBearerpropsdef> {
return builder<Specification.IBearerpropsdef>(bearerpropsdefBuildingFn);
}
23 changes: 15 additions & 8 deletions src/lib/builders/branch-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,26 +16,33 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Branch} data The underlying object
* @returns {Specification.Branch} The validated underlying object
* @param {Specification.IBranch} data The underlying object
* @returns {Specification.IBranch} The validated underlying object
*/
function branchBuildingFn(data: Specification.Branch): () => Specification.Branch {
function branchBuildingFn(data: Specification.IBranch): () => Specification.IBranch {
return () => {
const model = new Specification.Branch(data);

validate('Branch', model.normalize());
return model;
if (hasProperty(model, 'normalize')) {
validate('Branch', (model as any).normalize());
} else {
validate('Branch', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Branch`
* @returns {Specification.Branch} A builder for `Specification.Branch`
* @returns {Specification.IBranch} A builder for `Specification.Branch`
*/
export function branchBuilder(): Builder<Specification.Branch> {
return builder<Specification.Branch>(branchBuildingFn);
export function branchBuilder(): Builder<Specification.IBranch> {
return builder<Specification.IBranch>(branchBuildingFn);
}
23 changes: 15 additions & 8 deletions src/lib/builders/callbackstate-builder.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,29 +16,36 @@

import { Builder, builder } from '../builder';
import { Specification } from '../definitions';
import { hasProperty } from '../definitions/utils';
import { validate } from '../utils';
import { toPlainObject } from 'lodash';
import { setEndValueIfNoTransition } from '../definitions/utils';

/**
* The internal function used by the builder proxy to validate and return its underlying object
* @param {Specification.Callbackstate} data The underlying object
* @returns {Specification.Callbackstate} The validated underlying object
* @param {Specification.ICallbackstate} data The underlying object
* @returns {Specification.ICallbackstate} The validated underlying object
*/
function callbackstateBuildingFn(data: Specification.Callbackstate): () => Specification.Callbackstate {
function callbackstateBuildingFn(data: Specification.ICallbackstate): () => Specification.ICallbackstate {
return () => {
const model = new Specification.Callbackstate(data);

setEndValueIfNoTransition(model);

validate('Callbackstate', model.normalize());
return model;
if (hasProperty(model, 'normalize')) {
validate('Callbackstate', (model as any).normalize());
} else {
validate('Callbackstate', model);
}

return toPlainObject(model);
};
}

/**
* A factory to create a builder proxy for the type `Specification.Callbackstate`
* @returns {Specification.Callbackstate} A builder for `Specification.Callbackstate`
* @returns {Specification.ICallbackstate} A builder for `Specification.Callbackstate`
*/
export function callbackstateBuilder(): Builder<Specification.Callbackstate> {
return builder<Specification.Callbackstate>(callbackstateBuildingFn);
export function callbackstateBuilder(): Builder<Specification.ICallbackstate> {
return builder<Specification.ICallbackstate>(callbackstateBuildingFn);
}
Loading