@ankhorage/contracts 1.7.0 → 1.9.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/CHANGELOG.md +12 -0
- package/dist/bindings.d.ts +38 -0
- package/dist/bindings.d.ts.map +1 -0
- package/dist/bindings.js +2 -0
- package/dist/bindings.js.map +1 -0
- package/dist/data/diagnostics.d.ts +22 -0
- package/dist/data/diagnostics.d.ts.map +1 -0
- package/dist/data/diagnostics.js +2 -0
- package/dist/data/diagnostics.js.map +1 -0
- package/dist/data/endpoints.d.ts +18 -0
- package/dist/data/endpoints.d.ts.map +1 -0
- package/dist/data/endpoints.js +2 -0
- package/dist/data/endpoints.js.map +1 -0
- package/dist/data/ids.d.ts +7 -0
- package/dist/data/ids.d.ts.map +1 -0
- package/dist/data/ids.js +2 -0
- package/dist/data/ids.js.map +1 -0
- package/dist/data/index.d.ts +9 -0
- package/dist/data/index.d.ts.map +1 -0
- package/dist/data/index.js +9 -0
- package/dist/data/index.js.map +1 -0
- package/dist/data/operations.d.ts +49 -0
- package/dist/data/operations.d.ts.map +1 -0
- package/dist/data/operations.js +2 -0
- package/dist/data/operations.js.map +1 -0
- package/dist/data/refs.d.ts +18 -0
- package/dist/data/refs.d.ts.map +1 -0
- package/dist/data/refs.js +2 -0
- package/dist/data/refs.js.map +1 -0
- package/dist/data/schemas.d.ts +34 -0
- package/dist/data/schemas.d.ts.map +1 -0
- package/dist/data/schemas.js +2 -0
- package/dist/data/schemas.js.map +1 -0
- package/dist/data/sources.d.ts +57 -0
- package/dist/data/sources.d.ts.map +1 -0
- package/dist/data/sources.js +2 -0
- package/dist/data/sources.js.map +1 -0
- package/dist/data/values.d.ts +5 -0
- package/dist/data/values.d.ts.map +1 -0
- package/dist/data/values.js +2 -0
- package/dist/data/values.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +9 -1
- package/src/bindings.test.ts +96 -0
- package/src/bindings.ts +54 -0
- package/src/data/data.test.ts +305 -0
- package/src/data/diagnostics.ts +41 -0
- package/src/data/endpoints.ts +20 -0
- package/src/data/ids.ts +6 -0
- package/src/data/index.ts +8 -0
- package/src/data/operations.ts +66 -0
- package/src/data/refs.ts +21 -0
- package/src/data/schemas.ts +46 -0
- package/src/data/sources.ts +72 -0
- package/src/data/values.ts +11 -0
- package/src/index.ts +2 -0
- package/src/types.ts +2 -0
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import type { DbCollectionDefinition } from '../db';
|
|
2
|
+
import type { DataEndpointRegistry } from './endpoints';
|
|
3
|
+
import type { DataSourceId } from './ids';
|
|
4
|
+
import type { AdapterRef, CredentialRef } from './refs';
|
|
5
|
+
import type { DataSchemaRegistry } from './schemas';
|
|
6
|
+
import type { DataContractValue } from './values';
|
|
7
|
+
|
|
8
|
+
export type DataSourceKind = 'database' | 'graphql' | 'managed-api' | 'openapi' | 'rest';
|
|
9
|
+
|
|
10
|
+
export interface DataSourceBaseConfig {
|
|
11
|
+
readonly id: DataSourceId;
|
|
12
|
+
readonly kind: DataSourceKind;
|
|
13
|
+
readonly name?: string;
|
|
14
|
+
readonly description?: string;
|
|
15
|
+
readonly credential?: CredentialRef;
|
|
16
|
+
readonly endpoints: DataEndpointRegistry;
|
|
17
|
+
readonly schemas?: DataSchemaRegistry;
|
|
18
|
+
readonly metadata?: DataContractValue;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export interface RestDataSourceConfig extends DataSourceBaseConfig {
|
|
22
|
+
readonly kind: 'rest';
|
|
23
|
+
readonly baseUrl: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface OpenApiImportRef {
|
|
27
|
+
readonly url?: string;
|
|
28
|
+
readonly documentId?: string;
|
|
29
|
+
readonly version?: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export interface OpenApiDataSourceConfig extends DataSourceBaseConfig {
|
|
33
|
+
readonly kind: 'openapi';
|
|
34
|
+
readonly baseUrl?: string;
|
|
35
|
+
readonly import?: OpenApiImportRef;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export interface GraphQlDataSourceConfig extends DataSourceBaseConfig {
|
|
39
|
+
readonly kind: 'graphql';
|
|
40
|
+
readonly endpointUrl: string;
|
|
41
|
+
readonly introspection?: {
|
|
42
|
+
readonly enabled: boolean;
|
|
43
|
+
readonly schemaVersion?: string;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface DatabaseDataSourceConfig extends DataSourceBaseConfig {
|
|
48
|
+
readonly kind: 'database';
|
|
49
|
+
readonly adapter: AdapterRef;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export interface ManagedApiResourceConfig {
|
|
53
|
+
readonly name: string;
|
|
54
|
+
readonly collection: DbCollectionDefinition;
|
|
55
|
+
readonly operations?: readonly ('create' | 'delete' | 'list' | 'read' | 'update')[];
|
|
56
|
+
readonly metadata?: DataContractValue;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export interface ManagedApiDataSourceConfig extends DataSourceBaseConfig {
|
|
60
|
+
readonly kind: 'managed-api';
|
|
61
|
+
readonly adapter: AdapterRef;
|
|
62
|
+
readonly resources: readonly ManagedApiResourceConfig[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export type DataSourceConfig =
|
|
66
|
+
| DatabaseDataSourceConfig
|
|
67
|
+
| GraphQlDataSourceConfig
|
|
68
|
+
| ManagedApiDataSourceConfig
|
|
69
|
+
| OpenApiDataSourceConfig
|
|
70
|
+
| RestDataSourceConfig;
|
|
71
|
+
|
|
72
|
+
export type DataSourceRegistry = Readonly<Record<DataSourceId, DataSourceConfig>>;
|
package/src/index.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ColorHarmony } from '@ankhorage/color-theory';
|
|
2
2
|
|
|
3
3
|
import type { AuthFlowConfig, AuthIdentifierKind, AuthSignUpField } from './auth';
|
|
4
|
+
import type { NodePropBinding } from './bindings';
|
|
4
5
|
|
|
5
6
|
export interface ThemeModeConfig {
|
|
6
7
|
primaryColor: string;
|
|
@@ -330,6 +331,7 @@ export interface UiNode {
|
|
|
330
331
|
type: string;
|
|
331
332
|
alias?: string;
|
|
332
333
|
props?: Record<string, unknown>;
|
|
334
|
+
bindings?: readonly NodePropBinding[];
|
|
333
335
|
children?: UiNode[];
|
|
334
336
|
style?: Record<string, number | string>;
|
|
335
337
|
events?: UiNodeEventBindings;
|