silgi 0.3.13 → 0.4.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.
Files changed (69) hide show
  1. package/README.md +1 -31
  2. package/cli.d.ts +1 -0
  3. package/config.d.ts +1 -0
  4. package/core.d.ts +1 -0
  5. package/dist/_chunks/index.mjs +233 -0
  6. package/dist/cli/compatibility.mjs +42 -0
  7. package/dist/cli/index.mjs +3 -184
  8. package/dist/cli/prepare.mjs +1346 -0
  9. package/dist/config/index.d.mts +5 -0
  10. package/dist/config/index.d.ts +5 -0
  11. package/dist/core/index.d.mts +136 -0
  12. package/dist/core/index.d.ts +136 -0
  13. package/dist/core/index.mjs +1444 -0
  14. package/dist/ecosystem/nitro/index.mjs +21 -29
  15. package/dist/ecosystem/nuxt/module.mjs +4 -25
  16. package/dist/kit/index.d.mts +90 -0
  17. package/dist/kit/index.d.ts +90 -0
  18. package/dist/kit/index.mjs +316 -0
  19. package/dist/meta/index.d.mts +3 -0
  20. package/dist/meta/index.d.ts +3 -0
  21. package/dist/meta/index.mjs +1 -0
  22. package/dist/presets/_all.gen.d.ts +2 -0
  23. package/dist/presets/_all.gen.mjs +8 -0
  24. package/dist/presets/_resolve.d.ts +8 -0
  25. package/dist/presets/_resolve.mjs +58 -0
  26. package/dist/presets/_types.gen.d.ts +5 -0
  27. package/dist/presets/_types.gen.mjs +1 -0
  28. package/dist/presets/h3/preset.d.ts +2 -0
  29. package/dist/presets/h3/preset.mjs +22 -0
  30. package/dist/presets/index.d.mts +1 -0
  31. package/dist/presets/index.d.ts +2 -0
  32. package/dist/presets/index.mjs +1 -0
  33. package/dist/presets/nitro/preset.d.ts +2 -0
  34. package/dist/presets/nitro/preset.mjs +26 -0
  35. package/dist/presets/npmpackage/preset.d.ts +2 -0
  36. package/dist/presets/npmpackage/preset.mjs +23 -0
  37. package/dist/runtime/index.d.ts +1 -0
  38. package/dist/runtime/index.mjs +1 -0
  39. package/dist/runtime/internal/debug.d.ts +2 -0
  40. package/dist/runtime/internal/debug.mjs +5 -0
  41. package/dist/runtime/internal/nitro.d.ts +2 -0
  42. package/dist/runtime/internal/nitro.mjs +45 -0
  43. package/dist/runtime/internal/plugin.d.ts +3 -0
  44. package/dist/runtime/internal/plugin.mjs +4 -0
  45. package/dist/shared/silgi.40ZJYm8F.d.mts +11 -0
  46. package/dist/shared/silgi.40ZJYm8F.d.ts +11 -0
  47. package/dist/shared/{silgi.ClpvycKI.d.mts → silgi.D8h2AAVk.d.ts} +451 -437
  48. package/dist/shared/{silgi.ClpvycKI.d.ts → silgi.DSHNePNA.d.mts} +451 -437
  49. package/dist/types/index.d.mts +42 -0
  50. package/dist/types/index.d.ts +42 -0
  51. package/dist/types/index.mjs +1 -0
  52. package/kit.d.ts +1 -0
  53. package/meta.d.ts +1 -0
  54. package/package.json +89 -39
  55. package/presets.d.ts +1 -0
  56. package/runtime-meta.d.ts +4 -0
  57. package/runtime-meta.mjs +32 -0
  58. package/runtime.d.ts +1 -0
  59. package/types.d.ts +1 -0
  60. package/bin/silgi.mjs +0 -3
  61. package/dist/chunks/generate.mjs +0 -1257
  62. package/dist/cli/config.d.mts +0 -1633
  63. package/dist/cli/config.d.ts +0 -1633
  64. package/dist/index.d.mts +0 -198
  65. package/dist/index.d.ts +0 -198
  66. package/dist/index.mjs +0 -503
  67. package/dist/shared/silgi.D2yb1XAa.mjs +0 -842
  68. /package/dist/{chunks → cli}/init.mjs +0 -0
  69. /package/dist/{cli/config.mjs → config/index.mjs} +0 -0
@@ -0,0 +1,5 @@
1
+ import { SilgiCLIConfig } from 'silgi/types';
2
+
3
+ declare function defineSilgiConfig(config: SilgiCLIConfig): SilgiCLIConfig;
4
+
5
+ export { defineSilgiConfig };
@@ -0,0 +1,5 @@
1
+ import { SilgiCLIConfig } from 'silgi/types';
2
+
3
+ declare function defineSilgiConfig(config: SilgiCLIConfig): SilgiCLIConfig;
4
+
5
+ export { defineSilgiConfig };
@@ -0,0 +1,136 @@
1
+ import { SilgiCLIConfig, LoadConfigOptions, SilgiCLIOptions, SilgiCLI, SilgiConfig, Silgi, SilgiRouterTypes, SilgiOperation, MergedSilgiSchema, ServiceType, SilgiSchema, RequiredServiceType, SilgiModuleShared, DefaultNamespaces, BaseSchemaType } from 'silgi/types';
2
+ import { TSConfig } from 'pkg-types';
3
+ import { FetchOptions } from 'ofetch';
4
+ export { c as createStorage, s as silgi } from '../shared/silgi.40ZJYm8F.mjs';
5
+ import { StandardSchemaV1 } from '@standard-schema/spec';
6
+ import 'unstorage';
7
+
8
+ declare function loadOptions(configOverrides?: SilgiCLIConfig, opts?: LoadConfigOptions): Promise<SilgiCLIOptions>;
9
+
10
+ declare function silgiGenerateType(silgi: SilgiCLI): Promise<{
11
+ declarations: string[];
12
+ tsConfig: TSConfig;
13
+ }>;
14
+
15
+ declare function createSilgi(config: SilgiConfig): Promise<Silgi>;
16
+
17
+ type FetchResponseData<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
18
+ output: any;
19
+ } ? SilgiRouterTypes[Route][Method]['output'] : never;
20
+ type RequestBodyOption<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
21
+ input: any;
22
+ } ? {
23
+ body: SilgiRouterTypes[Route][Method]['input'];
24
+ } : {
25
+ body?: never;
26
+ };
27
+ type RouterParams<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
28
+ params: any;
29
+ } ? {
30
+ params?: SilgiRouterTypes[Route][Method]['params'];
31
+ } : {
32
+ params?: never;
33
+ };
34
+ type DefaultMethod<Route extends keyof SilgiRouterTypes> = keyof SilgiRouterTypes[Route];
35
+ type SilgiFetchOptions<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>> = {
36
+ method?: Method;
37
+ } & RequestBodyOption<Route, Method> & RouterParams<Route, Method> & Omit<FetchOptions, 'query' | 'body' | 'method'>;
38
+ type SilgiFetchClient = <Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>, ResT = FetchResponseData<Route, Method>>(url: Route, options?: SilgiFetchOptions<Route, Method>) => Promise<ResT>;
39
+ declare function createSilgiFetch(options: FetchOptions | ((options: FetchOptions) => FetchOptions), localFetch?: typeof globalThis.$fetch): SilgiFetchClient;
40
+
41
+ interface Options {
42
+ debug?: boolean;
43
+ }
44
+ interface DataType {
45
+ exportName: string;
46
+ options: {
47
+ type: boolean;
48
+ pluginName?: string;
49
+ };
50
+ path: string;
51
+ }
52
+ declare class SchemaParser {
53
+ options: Options;
54
+ /**
55
+ *
56
+ */
57
+ constructor(options?: Options);
58
+ parseExports(content: string, filePath: string): {
59
+ exportVariables: (search: string, path: string) => DataType[];
60
+ parseInterfaceDeclarations: (search: string, path: string) => DataType[];
61
+ };
62
+ private parseVariableDeclaration;
63
+ private parseTSInterfaceDeclaration;
64
+ private parseTypeDeclarations;
65
+ private parseInterfaceDeclarations;
66
+ }
67
+
68
+ interface RouteTemplateValidator {
69
+ (value: string): boolean;
70
+ }
71
+ interface RouteTemplateConfig {
72
+ pattern: string;
73
+ validators?: Record<string, RouteTemplateValidator>;
74
+ }
75
+ type URITemplate = string | RouteTemplateConfig;
76
+ declare function parseURI(uri: string, uris: Record<string, URITemplate>): SilgiOperation;
77
+
78
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
79
+ declare function mergeSchemas<T extends MergedSilgiSchema[]>(typesOrArray: [...T] | T): UnionToIntersection<T[number]>;
80
+ declare function mergeServices<T extends ServiceType<SilgiSchema>[]>(servicesOrArray: [...T] | T): RequiredServiceType<SilgiSchema>;
81
+ declare function mergeShared<T extends SilgiModuleShared[]>(sharedOrArray: [...T] | T): UnionToIntersection<T[number]>;
82
+
83
+ declare function createSchema<T extends Partial<Record<keyof DefaultNamespaces, Record<string, BaseSchemaType<StandardSchemaV1>>>>>(silgiType: T): {
84
+ [K in keyof T]: {
85
+ [P in keyof T[K]]: T[K][P];
86
+ };
87
+ };
88
+
89
+ declare function createService<T extends SilgiSchema>(variables: ServiceType<T>): ServiceType<T>;
90
+
91
+ declare function createShared(shared: Partial<SilgiModuleShared>): SilgiModuleShared;
92
+
93
+ declare enum SilgiErrorCode {
94
+ AUTH_UNAUTHORIZED = "AUTH_UNAUTHORIZED",
95
+ AUTH_MISSING_CONTEXT = "AUTH_MISSING_CONTEXT",
96
+ AUTH_INVALID_CONTEXT = "AUTH_INVALID_CONTEXT",
97
+ AUTH_PERMISSION_DENIED = "AUTH_PERMISSION_DENIED",
98
+ PLUGIN_ERROR = "PLUGIN_ERROR",
99
+ METHOD_NOT_FOUND = "METHOD_NOT_FOUND",
100
+ EXECUTION_ERROR = "EXECUTION_ERROR",
101
+ CACHE_ERROR = "CACHE_ERROR",
102
+ PLUGIN_ALREADY_EXISTS = "PLUGIN_ALREADY_EXISTS",
103
+ PLUGIN_NOT_FOUND = "PLUGIN_NOT_FOUND",
104
+ PLUGIN_INIT_ERROR = "PLUGIN_INIT_ERROR"
105
+ }
106
+ interface SilgiErrorOptions {
107
+ code: SilgiErrorCode | string;
108
+ message: string;
109
+ cause?: Error;
110
+ details?: Record<string, unknown>;
111
+ meta?: Record<string, unknown>;
112
+ }
113
+ declare class SilgiError extends Error {
114
+ readonly code: string;
115
+ readonly details?: Record<string, unknown>;
116
+ readonly meta?: Record<string, unknown>;
117
+ readonly timestamp: number;
118
+ cause?: Error;
119
+ constructor(options: SilgiErrorOptions);
120
+ toString(): string;
121
+ toJSON(): {
122
+ name: string;
123
+ code: string;
124
+ message: string;
125
+ details: Record<string, unknown> | undefined;
126
+ meta: Record<string, unknown> | undefined;
127
+ timestamp: number;
128
+ stack: string | undefined;
129
+ };
130
+ static createFrom(error: unknown, code?: string): SilgiError;
131
+ static isSilgiError(error: unknown): error is SilgiError;
132
+ }
133
+
134
+ declare function useSilgi(): Silgi;
135
+
136
+ export { SchemaParser, SilgiError, createSchema, createService, createShared, createSilgi, createSilgiFetch, loadOptions, mergeSchemas, mergeServices, mergeShared, parseURI, silgiGenerateType, useSilgi };
@@ -0,0 +1,136 @@
1
+ import { SilgiCLIConfig, LoadConfigOptions, SilgiCLIOptions, SilgiCLI, SilgiConfig, Silgi, SilgiRouterTypes, SilgiOperation, MergedSilgiSchema, ServiceType, SilgiSchema, RequiredServiceType, SilgiModuleShared, DefaultNamespaces, BaseSchemaType } from 'silgi/types';
2
+ import { TSConfig } from 'pkg-types';
3
+ import { FetchOptions } from 'ofetch';
4
+ export { c as createStorage, s as silgi } from '../shared/silgi.40ZJYm8F.js';
5
+ import { StandardSchemaV1 } from '@standard-schema/spec';
6
+ import 'unstorage';
7
+
8
+ declare function loadOptions(configOverrides?: SilgiCLIConfig, opts?: LoadConfigOptions): Promise<SilgiCLIOptions>;
9
+
10
+ declare function silgiGenerateType(silgi: SilgiCLI): Promise<{
11
+ declarations: string[];
12
+ tsConfig: TSConfig;
13
+ }>;
14
+
15
+ declare function createSilgi(config: SilgiConfig): Promise<Silgi>;
16
+
17
+ type FetchResponseData<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
18
+ output: any;
19
+ } ? SilgiRouterTypes[Route][Method]['output'] : never;
20
+ type RequestBodyOption<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
21
+ input: any;
22
+ } ? {
23
+ body: SilgiRouterTypes[Route][Method]['input'];
24
+ } : {
25
+ body?: never;
26
+ };
27
+ type RouterParams<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route]> = SilgiRouterTypes[Route][Method] extends {
28
+ params: any;
29
+ } ? {
30
+ params?: SilgiRouterTypes[Route][Method]['params'];
31
+ } : {
32
+ params?: never;
33
+ };
34
+ type DefaultMethod<Route extends keyof SilgiRouterTypes> = keyof SilgiRouterTypes[Route];
35
+ type SilgiFetchOptions<Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>> = {
36
+ method?: Method;
37
+ } & RequestBodyOption<Route, Method> & RouterParams<Route, Method> & Omit<FetchOptions, 'query' | 'body' | 'method'>;
38
+ type SilgiFetchClient = <Route extends keyof SilgiRouterTypes, Method extends keyof SilgiRouterTypes[Route] = DefaultMethod<Route>, ResT = FetchResponseData<Route, Method>>(url: Route, options?: SilgiFetchOptions<Route, Method>) => Promise<ResT>;
39
+ declare function createSilgiFetch(options: FetchOptions | ((options: FetchOptions) => FetchOptions), localFetch?: typeof globalThis.$fetch): SilgiFetchClient;
40
+
41
+ interface Options {
42
+ debug?: boolean;
43
+ }
44
+ interface DataType {
45
+ exportName: string;
46
+ options: {
47
+ type: boolean;
48
+ pluginName?: string;
49
+ };
50
+ path: string;
51
+ }
52
+ declare class SchemaParser {
53
+ options: Options;
54
+ /**
55
+ *
56
+ */
57
+ constructor(options?: Options);
58
+ parseExports(content: string, filePath: string): {
59
+ exportVariables: (search: string, path: string) => DataType[];
60
+ parseInterfaceDeclarations: (search: string, path: string) => DataType[];
61
+ };
62
+ private parseVariableDeclaration;
63
+ private parseTSInterfaceDeclaration;
64
+ private parseTypeDeclarations;
65
+ private parseInterfaceDeclarations;
66
+ }
67
+
68
+ interface RouteTemplateValidator {
69
+ (value: string): boolean;
70
+ }
71
+ interface RouteTemplateConfig {
72
+ pattern: string;
73
+ validators?: Record<string, RouteTemplateValidator>;
74
+ }
75
+ type URITemplate = string | RouteTemplateConfig;
76
+ declare function parseURI(uri: string, uris: Record<string, URITemplate>): SilgiOperation;
77
+
78
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
79
+ declare function mergeSchemas<T extends MergedSilgiSchema[]>(typesOrArray: [...T] | T): UnionToIntersection<T[number]>;
80
+ declare function mergeServices<T extends ServiceType<SilgiSchema>[]>(servicesOrArray: [...T] | T): RequiredServiceType<SilgiSchema>;
81
+ declare function mergeShared<T extends SilgiModuleShared[]>(sharedOrArray: [...T] | T): UnionToIntersection<T[number]>;
82
+
83
+ declare function createSchema<T extends Partial<Record<keyof DefaultNamespaces, Record<string, BaseSchemaType<StandardSchemaV1>>>>>(silgiType: T): {
84
+ [K in keyof T]: {
85
+ [P in keyof T[K]]: T[K][P];
86
+ };
87
+ };
88
+
89
+ declare function createService<T extends SilgiSchema>(variables: ServiceType<T>): ServiceType<T>;
90
+
91
+ declare function createShared(shared: Partial<SilgiModuleShared>): SilgiModuleShared;
92
+
93
+ declare enum SilgiErrorCode {
94
+ AUTH_UNAUTHORIZED = "AUTH_UNAUTHORIZED",
95
+ AUTH_MISSING_CONTEXT = "AUTH_MISSING_CONTEXT",
96
+ AUTH_INVALID_CONTEXT = "AUTH_INVALID_CONTEXT",
97
+ AUTH_PERMISSION_DENIED = "AUTH_PERMISSION_DENIED",
98
+ PLUGIN_ERROR = "PLUGIN_ERROR",
99
+ METHOD_NOT_FOUND = "METHOD_NOT_FOUND",
100
+ EXECUTION_ERROR = "EXECUTION_ERROR",
101
+ CACHE_ERROR = "CACHE_ERROR",
102
+ PLUGIN_ALREADY_EXISTS = "PLUGIN_ALREADY_EXISTS",
103
+ PLUGIN_NOT_FOUND = "PLUGIN_NOT_FOUND",
104
+ PLUGIN_INIT_ERROR = "PLUGIN_INIT_ERROR"
105
+ }
106
+ interface SilgiErrorOptions {
107
+ code: SilgiErrorCode | string;
108
+ message: string;
109
+ cause?: Error;
110
+ details?: Record<string, unknown>;
111
+ meta?: Record<string, unknown>;
112
+ }
113
+ declare class SilgiError extends Error {
114
+ readonly code: string;
115
+ readonly details?: Record<string, unknown>;
116
+ readonly meta?: Record<string, unknown>;
117
+ readonly timestamp: number;
118
+ cause?: Error;
119
+ constructor(options: SilgiErrorOptions);
120
+ toString(): string;
121
+ toJSON(): {
122
+ name: string;
123
+ code: string;
124
+ message: string;
125
+ details: Record<string, unknown> | undefined;
126
+ meta: Record<string, unknown> | undefined;
127
+ timestamp: number;
128
+ stack: string | undefined;
129
+ };
130
+ static createFrom(error: unknown, code?: string): SilgiError;
131
+ static isSilgiError(error: unknown): error is SilgiError;
132
+ }
133
+
134
+ declare function useSilgi(): Silgi;
135
+
136
+ export { SchemaParser, SilgiError, createSchema, createService, createShared, createSilgi, createSilgiFetch, loadOptions, mergeSchemas, mergeServices, mergeShared, parseURI, silgiGenerateType, useSilgi };