@archtx/procedures 4.0.1 → 5.0.0
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 +1 -1
- package/dist/src/index.d.ts +4 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/schema/compute-schema.test.js +1 -1
- package/dist/src/schema/compute-schema.test.js.map +1 -1
- package/dist/src/schema/extract-json-schema.test.js +1 -1
- package/dist/src/schema/extract-json-schema.test.js.map +1 -1
- package/dist/src/schema/parser.test.js +1 -1
- package/dist/src/schema/parser.test.js.map +1 -1
- package/dist/src/schema/resolve-schema-lib.d.ts +2 -2
- package/dist/src/schema/resolve-schema-lib.js +5 -1
- package/dist/src/schema/resolve-schema-lib.js.map +1 -1
- package/dist/src/schema/resolve-schema-lib.test.js +1 -1
- package/dist/src/schema/resolve-schema-lib.test.js.map +1 -1
- package/dist/src/schema/types.d.ts +4 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/index.ts +8 -8
- package/src/schema/compute-schema.test.ts +1 -1
- package/src/schema/extract-json-schema.test.ts +1 -1
- package/src/schema/parser.test.ts +1 -1
- package/src/schema/resolve-schema-lib.test.ts +1 -1
- package/src/schema/resolve-schema-lib.ts +22 -16
- package/src/schema/types.ts +6 -1
package/README.md
CHANGED
|
@@ -270,7 +270,7 @@ If the validation fails, an `ProcedureValidationError` is thrown with the valida
|
|
|
270
270
|
|
|
271
271
|
## Acknowledgements
|
|
272
272
|
|
|
273
|
-
-
|
|
273
|
+
- `typebox` - For providing a great library for generating JSON schema with TypeScript.
|
|
274
274
|
- `@suretype/suretype` - For providing a great library for runtime type validation.
|
|
275
275
|
- `@typeschema` - For providing inspiration for the Procedure schema resolver between Suretype or TypeBox.
|
|
276
276
|
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ProcedureError } from './errors.js';
|
|
2
2
|
import { ProcedureCodes } from './procedure-codes.js';
|
|
3
|
-
import { TJSONSchema, TSchemaLib } from './schema/types.js';
|
|
3
|
+
import { Prettify, TJSONSchema, TSchemaLib } from './schema/types.js';
|
|
4
4
|
export type TNoContextProvided = unknown;
|
|
5
5
|
export type TLocalContext = {
|
|
6
6
|
error: (code: ProcedureCodes & number, message: string, meta?: object) => ProcedureError;
|
|
@@ -32,16 +32,16 @@ builder?: {
|
|
|
32
32
|
getProcedures: () => Map<string, {
|
|
33
33
|
name: string;
|
|
34
34
|
config: TProcedureRegistration["config"];
|
|
35
|
-
handler: (ctx: TContext
|
|
35
|
+
handler: (ctx: Prettify<TContext>, args: any) => Promise<any>;
|
|
36
36
|
}>;
|
|
37
37
|
Create: <TName extends string, TArgs, TData, TLocalHook>(name: TName, config: {
|
|
38
38
|
description?: string;
|
|
39
|
-
hook?: (ctx: TContext & TLocalContext
|
|
39
|
+
hook?: (ctx: Prettify<TContext & TLocalContext>, args: TSchemaLib<TArgs>) => Promise<Prettify<TLocalHook>>;
|
|
40
40
|
schema?: {
|
|
41
41
|
args?: TArgs;
|
|
42
42
|
data?: TData;
|
|
43
43
|
};
|
|
44
|
-
}, handler: (ctx: TContext & TLocalContext & TLocalHook
|
|
44
|
+
}, handler: (ctx: Prettify<TContext & TLocalContext & TLocalHook>, args: TSchemaLib<TArgs>) => Promise<TSchemaLib<TData>>) => { [K in TName | `${TName}_Info`]: K extends TName ? (ctx: Prettify<TContext>, args: TSchemaLib<TArgs>) => Promise<TSchemaLib<TData>> : {
|
|
45
45
|
description?: string;
|
|
46
46
|
schema: {
|
|
47
47
|
args?: TSchemaLib<TArgs> extends unknown ? undefined : TJSONSchema;
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,wBAAwB,GACzB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AA8B1D,MAAM,UAAU,UAAU;AACxB;;GAEG;AACH,OAEC;IAED,MAAM,UAAU,GAOZ,IAAI,GAAG,EAAE,CAAA;IAEb,SAAS,MAAM,CACb,IAAW,EACX,MAUC,EACD,OAG+B;QAY/B,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;QAEtE,MAAM,mBAAmB,GAAG;YAC1B,IAAI;YACJ,MAAM,EAAE;gBACN,GAAG,EAAE,MAAM,CAAC,IAAI;gBAChB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,MAAM,EAAE,UAAU;gBAClB,UAAU,EAAE;oBACV,IAAI,EAAE,WAAW,CAAC,IAAI;iBACvB;aACF;YAED,OAAO,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect } from 'vitest';
|
|
2
|
-
import { Type } from '
|
|
2
|
+
import { Type } from 'typebox';
|
|
3
3
|
import { v } from 'suretype';
|
|
4
4
|
import { computeSchema } from './compute-schema.js';
|
|
5
5
|
import { ProcedureRegistrationError } from '../errors.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute-schema.test.js","sourceRoot":"","sources":["../../../src/schema/compute-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"compute-schema.test.js","sourceRoot":"","sources":["../../../src/schema/compute-schema.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract-json-schema.test.js","sourceRoot":"","sources":["../../../src/schema/extract-json-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"extract-json-schema.test.js","sourceRoot":"","sources":["../../../src/schema/extract-json-schema.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAC5B,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAE5D,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,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,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAE1D,IAAI,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC;YAC/C,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxC,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC;YAChD,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;YACxC,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, expect, test } from 'vitest';
|
|
2
2
|
import { extractSingleJsonSchema, v } from 'suretype';
|
|
3
3
|
import { schemaParser } from './parser.js';
|
|
4
|
-
import { Type } from '
|
|
4
|
+
import { Type } from 'typebox';
|
|
5
5
|
describe('schemaParser', () => {
|
|
6
6
|
test('it parses args to json-schema', async () => {
|
|
7
7
|
let done = () => void 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/schema/parser.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,uBAAuB,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../../src/schema/parser.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Static } from '@sinclair/typebox';
|
|
2
1
|
import { CoreValidator } from 'suretype';
|
|
2
|
+
import { Type } from 'typebox';
|
|
3
3
|
export type IsTypeboxSchema<TSchema> = TSchema extends {
|
|
4
4
|
static: unknown;
|
|
5
5
|
params: unknown;
|
|
6
6
|
} ? true : false;
|
|
7
|
-
export declare function isTypeboxSchema(schema: any): schema is
|
|
7
|
+
export declare function isTypeboxSchema(schema: any): schema is Type.TSchema;
|
|
8
8
|
export type IsSuretypeSchema<TSchema> = TSchema extends {
|
|
9
9
|
required: () => object;
|
|
10
10
|
nullable?: never;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
export function isTypeboxSchema(schema) {
|
|
2
|
-
return
|
|
2
|
+
return (
|
|
3
|
+
// typebox v1
|
|
4
|
+
(typeof schema === 'object' && '~kind' in schema) ||
|
|
5
|
+
// @sinclair/typebox v0.3x
|
|
6
|
+
(typeof schema === 'object' && Symbol.for('TypeBox.Kind') in schema));
|
|
3
7
|
}
|
|
4
8
|
export function isSuretypeSchema(schema) {
|
|
5
9
|
return typeof schema === 'object' && 'getJsonSchemaObject' in schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-schema-lib.js","sourceRoot":"","sources":["../../../src/schema/resolve-schema-lib.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolve-schema-lib.js","sourceRoot":"","sources":["../../../src/schema/resolve-schema-lib.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,eAAe,CAAC,MAAW;IACzC,OAAO;IACL,cAAc;IACd,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,IAAI,MAAM,CAAC;QACjD,0BAA0B;QAC1B,CAAC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,CACrE,CAAA;AACH,CAAC;AASD,MAAM,UAAU,gBAAgB,CAAC,MAAW;IAC1C,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,qBAAqB,IAAI,MAAM,CAAA;AACtE,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { describe, expect, test } from 'vitest';
|
|
2
2
|
import { isSuretypeSchema, isTypeboxSchema } from './resolve-schema-lib.js';
|
|
3
|
-
import { Type } from '
|
|
3
|
+
import { Type } from 'typebox';
|
|
4
4
|
import { v } from 'suretype';
|
|
5
5
|
describe('lib schema resolvers', () => {
|
|
6
6
|
const typebox = Type.Object({ name: Type.String() });
|
|
@@ -1 +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,yBAAyB,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,
|
|
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,yBAAyB,CAAA;AAC3E,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { CoreValidator, TypeOf } from 'suretype';
|
|
2
|
-
import { Static, TSchema } from '
|
|
2
|
+
import { Static, TSchema } from 'typebox';
|
|
3
3
|
export type TSchemaLib<SchemaLibType> = SchemaLibType extends CoreValidator<any> ? TypeOf<SchemaLibType> : SchemaLibType extends TSchema ? Static<SchemaLibType> : unknown;
|
|
4
4
|
export type TJSONSchema = Record<string, any>;
|
|
5
|
+
export type Prettify<TObject> = {
|
|
6
|
+
[Key in keyof TObject]: TObject[Key];
|
|
7
|
+
} & {};
|