@archtx/procedures 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +283 -0
- package/dist/exports.d.ts +6 -0
- package/dist/exports.js +7 -0
- package/dist/exports.js.map +1 -0
- package/dist/src/errors.d.ts +22 -0
- package/dist/src/errors.js +50 -0
- package/dist/src/errors.js.map +1 -0
- package/dist/src/index.d.ts +56 -0
- package/dist/src/index.js +86 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/index.test.d.ts +1 -0
- package/dist/src/index.test.js +307 -0
- package/dist/src/index.test.js.map +1 -0
- package/dist/src/procedure-codes.d.ts +26 -0
- package/dist/src/procedure-codes.js +28 -0
- package/dist/src/procedure-codes.js.map +1 -0
- package/dist/src/schema/compute-schema.d.ts +23 -0
- package/dist/src/schema/compute-schema.js +28 -0
- package/dist/src/schema/compute-schema.js.map +1 -0
- package/dist/src/schema/compute-schema.test.d.ts +1 -0
- package/dist/src/schema/compute-schema.test.js +107 -0
- package/dist/src/schema/compute-schema.test.js.map +1 -0
- package/dist/src/schema/extract-json-schema.d.ts +2 -0
- package/dist/src/schema/extract-json-schema.js +12 -0
- package/dist/src/schema/extract-json-schema.js.map +1 -0
- package/dist/src/schema/extract-json-schema.test.d.ts +1 -0
- package/dist/src/schema/extract-json-schema.test.js +23 -0
- package/dist/src/schema/extract-json-schema.test.js.map +1 -0
- package/dist/src/schema/parser.d.ts +21 -0
- package/dist/src/schema/parser.js +57 -0
- package/dist/src/schema/parser.js.map +1 -0
- package/dist/src/schema/parser.test.d.ts +1 -0
- package/dist/src/schema/parser.test.js +71 -0
- package/dist/src/schema/parser.test.js.map +1 -0
- package/dist/src/schema/resolve-schema-lib.d.ts +12 -0
- package/dist/src/schema/resolve-schema-lib.js +7 -0
- package/dist/src/schema/resolve-schema-lib.js.map +1 -0
- package/dist/src/schema/resolve-schema-lib.test.d.ts +1 -0
- package/dist/src/schema/resolve-schema-lib.test.js +17 -0
- package/dist/src/schema/resolve-schema-lib.test.js.map +1 -0
- package/dist/src/schema/types.d.ts +4 -0
- package/dist/src/schema/types.js +2 -0
- package/dist/src/schema/types.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import addFormats from 'ajv-formats';
|
|
2
|
+
import Ajv from 'ajv';
|
|
3
|
+
import { extractJsonSchema } from './extract-json-schema';
|
|
4
|
+
export function schemaParser(schema, onParseError) {
|
|
5
|
+
const jsonSchema = {};
|
|
6
|
+
const validation = {};
|
|
7
|
+
if (schema.args) {
|
|
8
|
+
try {
|
|
9
|
+
const extracted = extractJsonSchema(schema.args);
|
|
10
|
+
if (extracted) {
|
|
11
|
+
jsonSchema.args = extracted;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
catch (e) {
|
|
15
|
+
onParseError({
|
|
16
|
+
args: `Error extracting json schema schema.args - ${e.message}`,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
let argsValidator;
|
|
20
|
+
try {
|
|
21
|
+
const ajv = addFormats(new Ajv({
|
|
22
|
+
allErrors: true,
|
|
23
|
+
coerceTypes: true,
|
|
24
|
+
removeAdditional: true,
|
|
25
|
+
}));
|
|
26
|
+
argsValidator = ajv.compile(jsonSchema.args);
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
onParseError({
|
|
30
|
+
args: `Error compiling schema.args for validator - ${e.message}`,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
validation.args = (args) => {
|
|
34
|
+
const valid = argsValidator(args);
|
|
35
|
+
if (!valid) {
|
|
36
|
+
const errors = argsValidator.errors;
|
|
37
|
+
return {
|
|
38
|
+
errors: errors?.length ? errors : undefined,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {};
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
if (schema.data) {
|
|
45
|
+
try {
|
|
46
|
+
const extracted = extractJsonSchema(schema.data);
|
|
47
|
+
jsonSchema.data = extracted;
|
|
48
|
+
}
|
|
49
|
+
catch (e) {
|
|
50
|
+
onParseError({
|
|
51
|
+
data: `Error extracting json schema schema.data - ${e.message}`,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return { jsonSchema, validation };
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../src/schema/parser.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,aAAa,CAAA;AACpC,OAAO,GAAsC,MAAM,KAAK,CAAA;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAUzD,MAAM,UAAU,YAAY,CAC1B,MAA0C,EAC1C,YAAgE;IAEhE,MAAM,UAAU,GAAgC,EAAE,CAAA;IAClD,MAAM,UAAU,GAAgC,EAAE,CAAA;IAElD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAmB,CAAC,CAAA;YAE/D,IAAI,SAAS,EAAE,CAAC;gBACd,UAAU,CAAC,IAAI,GAAG,SAAS,CAAA;YAC7B,CAAC;QACH,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,YAAY,CAAC;gBACX,IAAI,EAAE,8CAA8C,CAAC,CAAC,OAAO,EAAE;aAChE,CAAC,CAAA;QACJ,CAAC;QAED,IAAI,aAA+B,CAAA;QAEnC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,UAAU,CACpB,IAAI,GAAG,CAAC;gBACN,SAAS,EAAE,IAAI;gBACf,WAAW,EAAE,IAAI;gBACjB,gBAAgB,EAAE,IAAI;aACvB,CAAC,CACH,CAAA;YAED,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAmB,CAAC,CAAA;QAC7D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,YAAY,CAAC;gBACX,IAAI,EAAE,+CAA+C,CAAC,CAAC,OAAO,EAAE;aACjE,CAAC,CAAA;QACJ,CAAC;QAED,UAAU,CAAC,IAAI,GAAG,CAAC,IAAS,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;YAEjC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAA;gBAEnC,OAAO;oBACL,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;iBAC5C,CAAA;YACH,CAAC;YAED,OAAO,EAAE,CAAA;QACX,CAAC,CAAA;IACH,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAmB,CAAC,CAAA;YAE/D,UAAU,CAAC,IAAI,GAAG,SAAS,CAAA;QAC7B,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,YAAY,CAAC;gBACX,IAAI,EAAE,8CAA8C,CAAC,CAAC,OAAO,EAAE;aAChE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;AACnC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { extractSingleJsonSchema, v } from 'suretype';
|
|
3
|
+
import { schemaParser } from './parser';
|
|
4
|
+
describe('schemaParser', () => {
|
|
5
|
+
test('it parses args to json-schema', async () => {
|
|
6
|
+
let done = () => void 0;
|
|
7
|
+
const promise = new Promise((r) => {
|
|
8
|
+
done = r;
|
|
9
|
+
});
|
|
10
|
+
const args = v.object({
|
|
11
|
+
name: v.string(),
|
|
12
|
+
age: v.number(),
|
|
13
|
+
});
|
|
14
|
+
const result = schemaParser({
|
|
15
|
+
args: args,
|
|
16
|
+
}, (errors) => {
|
|
17
|
+
throw new Error(JSON.stringify(errors));
|
|
18
|
+
});
|
|
19
|
+
expect(result.jsonSchema.args).toEqual(extractSingleJsonSchema(args)?.schema);
|
|
20
|
+
done();
|
|
21
|
+
await promise;
|
|
22
|
+
});
|
|
23
|
+
test('it parses args and generates a validator function', async () => {
|
|
24
|
+
let done = () => void 0;
|
|
25
|
+
const promise = new Promise((r) => {
|
|
26
|
+
done = r;
|
|
27
|
+
});
|
|
28
|
+
const args = v.object({
|
|
29
|
+
name: v.string(),
|
|
30
|
+
age: v.number().required(),
|
|
31
|
+
});
|
|
32
|
+
const result = schemaParser({
|
|
33
|
+
args: args,
|
|
34
|
+
}, (errors) => {
|
|
35
|
+
throw new Error(JSON.stringify(errors));
|
|
36
|
+
});
|
|
37
|
+
expect(result.validation.args?.({
|
|
38
|
+
name: 'John',
|
|
39
|
+
age: 30,
|
|
40
|
+
})?.errors).toBeUndefined();
|
|
41
|
+
expect(result.validation.args?.({
|
|
42
|
+
name: { name: '' },
|
|
43
|
+
age: 'poop',
|
|
44
|
+
})?.errors).toBeDefined();
|
|
45
|
+
expect(result.validation.args?.({
|
|
46
|
+
name: { name: '' },
|
|
47
|
+
age: 'poop',
|
|
48
|
+
})?.errors?.length).toEqual(2);
|
|
49
|
+
done();
|
|
50
|
+
await promise;
|
|
51
|
+
});
|
|
52
|
+
test('it parses data to json-schema', async () => {
|
|
53
|
+
let done = () => void 0;
|
|
54
|
+
const promise = new Promise((r) => {
|
|
55
|
+
done = r;
|
|
56
|
+
});
|
|
57
|
+
const data = v.object({
|
|
58
|
+
name: v.string(),
|
|
59
|
+
age: v.number(),
|
|
60
|
+
});
|
|
61
|
+
const result = schemaParser({
|
|
62
|
+
data: data,
|
|
63
|
+
}, (errors) => {
|
|
64
|
+
throw new Error(JSON.stringify(errors));
|
|
65
|
+
});
|
|
66
|
+
expect(result.jsonSchema.data).toEqual(extractSingleJsonSchema(data)?.schema);
|
|
67
|
+
done();
|
|
68
|
+
await promise;
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
//# sourceMappingURL=parser.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/schema/parser.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Static } from '@sinclair/typebox';
|
|
2
|
+
import { CoreValidator } from 'suretype';
|
|
3
|
+
export type IsTypeboxSchema<TSchema> = TSchema extends {
|
|
4
|
+
static: unknown;
|
|
5
|
+
params: unknown;
|
|
6
|
+
} ? true : false;
|
|
7
|
+
export declare function isTypeboxSchema(schema: any): schema is Static<any>;
|
|
8
|
+
export type IsSuretypeSchema<TSchema> = TSchema extends {
|
|
9
|
+
required: () => object;
|
|
10
|
+
nullable?: never;
|
|
11
|
+
} ? true : false;
|
|
12
|
+
export declare function isSuretypeSchema(schema: any): schema is CoreValidator<unknown>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export function isTypeboxSchema(schema) {
|
|
2
|
+
return typeof schema === 'object' && Symbol.for('TypeBox.Kind') in schema;
|
|
3
|
+
}
|
|
4
|
+
export function isSuretypeSchema(schema) {
|
|
5
|
+
return typeof schema === 'object' && '_annotations' in schema;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=resolve-schema-lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-schema-lib.js","sourceRoot":"","sources":["../../../src/schema/resolve-schema-lib.ts"],"names":[],"mappings":"AAOA,MAAM,UAAU,eAAe,CAC7B,MAAW;IAEX,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC;AAC5E,CAAC;AAMD,MAAM,UAAU,gBAAgB,CAC9B,MAAW;IAEX,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,cAAc,IAAI,MAAM,CAAC;AAChE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { describe, expect, test } from 'vitest';
|
|
2
|
+
import { isSuretypeSchema, isTypeboxSchema } from './resolve-schema-lib';
|
|
3
|
+
import { Type } from '@sinclair/typebox';
|
|
4
|
+
import { v } from 'suretype';
|
|
5
|
+
describe('lib schema resolvers', () => {
|
|
6
|
+
const typebox = Type.Object({ name: Type.String() });
|
|
7
|
+
const suretype = v.object({ name: v.string() });
|
|
8
|
+
test('it recognizes TypeBox schema', async () => {
|
|
9
|
+
expect(isTypeboxSchema(typebox)).toBe(true);
|
|
10
|
+
expect(isTypeboxSchema(suretype)).toBe(false);
|
|
11
|
+
});
|
|
12
|
+
test('it recognizes Suretype schema', async () => {
|
|
13
|
+
expect(isSuretypeSchema(suretype)).toBe(true);
|
|
14
|
+
expect(isSuretypeSchema(typebox)).toBe(false);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=resolve-schema-lib.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-schema-lib.test.js","sourceRoot":"","sources":["../../../src/schema/resolve-schema-lib.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5B,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACpD,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAE/C,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC3C,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC7C,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { CoreValidator, TypeOf } from 'suretype';
|
|
2
|
+
import { Static, TSchema } from '@sinclair/typebox';
|
|
3
|
+
export type TSchemaLib<SchemaLibType> = SchemaLibType extends CoreValidator<unknown> ? TypeOf<SchemaLibType> : SchemaLibType extends TSchema ? Static<SchemaLibType> : unknown;
|
|
4
|
+
export type TJSONSchema = Record<string, any>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/schema/types.ts"],"names":[],"mappings":""}
|