teamplay 0.5.0-alpha.2 → 0.5.0-alpha.3
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/dist/index.d.ts +2 -2
- package/dist/orm/Signal.d.ts +1 -1
- package/dist/orm/index.d.ts +1 -1
- package/dist/orm/sub.d.ts +9 -1
- package/dist/orm/types/jsonSchema.d.ts +3 -3
- package/dist/orm/types/query.d.ts +7 -1
- package/dist/react/useSub.d.ts +19 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type * as React from 'react';
|
|
2
2
|
import { SEGMENTS } from './orm/Signal.js';
|
|
3
3
|
import useApi from './react/useApi.js';
|
|
4
|
-
import type { AnySignal, ArraySignal, CollectionDocument, CollectionDocumentModel, CollectionSignal, CollectionSignalFromSpec, CollectionAggregationSignal, CollectionQuerySignal, CollectionSpec, CollectionsFromManifest, DocumentSignal, FromJsonSchema, JsonSchema, JsonSchemaSpec, MaybePromise, MaybePromiseSubResult, ModelEntry, ModelManifest, PathModelsFromManifest, PublicSignal, LocalSignalFactory, RuntimeSignalConstructor, RuntimeSignalInstance, RootCollections, RootSignal, WildcardPathSegment, WildcardSignalPath, AppendPath, JoinPath, QueryParams, QuerySignal, RegisteredAggregationInput, SignalChild, SignalBaseInstance, SignalArrayMutatorMethods, SignalArrayReaderMethods, SignalClass, SignalCollectionMethods, SignalConstructor, SignalForKind, SignalKind, SignalMetadataMethods, SignalModelConstructor, SignalStringMutatorMethods, SignalValueMethods, SubResult, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodLikeSchema, ZodSchemaSpec } from './orm/Signal.js';
|
|
4
|
+
import type { AnySignal, ArraySignal, CollectionDocument, CollectionDocumentModel, CollectionSignal, CollectionSignalFromSpec, CollectionAggregationSignal, CollectionQuerySignal, CollectionSpec, CollectionsFromManifest, DocumentSignal, FromJsonSchema, JsonSchema, JsonSchemaSpec, MaybePromise, MaybePromiseSubResult, ModelEntry, ModelManifest, PathModelsFromManifest, PublicSignal, LocalSignalFactory, RuntimeSignalConstructor, RuntimeSignalInstance, RootCollections, RootSignal, WildcardPathSegment, WildcardSignalPath, AppendPath, ComputedQueryParamsInput, JoinPath, QueryParams, QueryParamsInput, QuerySignal, RegisteredAggregationInput, SignalChild, SignalBaseInstance, SignalArrayMutatorMethods, SignalArrayReaderMethods, SignalClass, SignalCollectionMethods, SignalConstructor, SignalForKind, SignalKind, SignalMetadataMethods, SignalModelConstructor, SignalStringMutatorMethods, SignalValueMethods, SubResult, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodLikeSchema, ZodSchemaSpec } from './orm/Signal.js';
|
|
5
5
|
export interface TeamplayCollections {
|
|
6
6
|
}
|
|
7
7
|
export interface TeamplayModels {
|
|
@@ -9,7 +9,7 @@ export interface TeamplayModels {
|
|
|
9
9
|
export interface TeamplaySignalFields {
|
|
10
10
|
}
|
|
11
11
|
export type Signal<TValue = unknown> = PublicSignal<TValue>;
|
|
12
|
-
export type { AnySignal, ArraySignal, CollectionDocument, CollectionDocumentModel, CollectionSignal, CollectionSpec, CollectionSignalFromSpec, CollectionAggregationSignal, CollectionQuerySignal, DocumentSignal, FromJsonSchema, JsonSchema, JsonSchemaSpec, MaybePromise, MaybePromiseSubResult, ModelEntry, ModelManifest, CollectionsFromManifest, LocalSignalFactory, PathModelsFromManifest, PublicSignal, RuntimeSignalConstructor, RuntimeSignalInstance, RootCollections, RootSignal, WildcardPathSegment, WildcardSignalPath, AppendPath, JoinPath, QueryParams, QuerySignal, RegisteredAggregationInput, SignalArrayMutatorMethods, SignalArrayReaderMethods, SignalBaseInstance, SignalClass, SignalChild, SignalConstructor, SignalCollectionMethods, SignalForKind, SignalKind, SignalMetadataMethods, SignalModelConstructor, SignalStringMutatorMethods, SignalValueMethods, SubResult, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodLikeSchema, ZodSchemaSpec };
|
|
12
|
+
export type { AnySignal, ArraySignal, CollectionDocument, CollectionDocumentModel, CollectionSignal, CollectionSpec, CollectionSignalFromSpec, CollectionAggregationSignal, CollectionQuerySignal, DocumentSignal, FromJsonSchema, JsonSchema, JsonSchemaSpec, MaybePromise, MaybePromiseSubResult, ModelEntry, ModelManifest, CollectionsFromManifest, LocalSignalFactory, PathModelsFromManifest, PublicSignal, RuntimeSignalConstructor, RuntimeSignalInstance, RootCollections, RootSignal, WildcardPathSegment, WildcardSignalPath, AppendPath, ComputedQueryParamsInput, JoinPath, QueryParams, QueryParamsInput, QuerySignal, RegisteredAggregationInput, SignalArrayMutatorMethods, SignalArrayReaderMethods, SignalBaseInstance, SignalClass, SignalChild, SignalConstructor, SignalCollectionMethods, SignalForKind, SignalKind, SignalMetadataMethods, SignalModelConstructor, SignalStringMutatorMethods, SignalValueMethods, SubResult, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodLikeSchema, ZodSchemaSpec };
|
|
13
13
|
export interface ObserverOptions {
|
|
14
14
|
forwardRef?: boolean;
|
|
15
15
|
cache?: boolean;
|
package/dist/orm/Signal.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import SignalCompat from './Compat/SignalCompat.js';
|
|
2
2
|
import type { SignalConstructor } from './types/signal.js';
|
|
3
3
|
export type { FromJsonSchema, InferZodSchema, JsonSchema, JsonSchemaObject, ZodLikeSchema } from './types/jsonSchema.js';
|
|
4
|
-
export type { QueryParams } from './types/query.js';
|
|
4
|
+
export type { ComputedQueryParamsInput, QueryParams, QueryParamsInput } from './types/query.js';
|
|
5
5
|
export type { SignalArrayMutatorMethods, SignalArrayReaderMethods, SignalCollectionMethods, SignalMetadataMethods, SignalStringMutatorMethods, SignalValueMethods } from './types/baseMethods.js';
|
|
6
6
|
export type { AppendPath, JoinPath, PathSegment, SignalPath, WildcardPathSegment, WildcardSignalPath } from './types/path.js';
|
|
7
7
|
export type { AggregationSignal, AnySignal, ArraySignal, CollectionAggregationSignal, CollectionDocument, CollectionDocumentModel, CollectionQuerySignal, CollectionSignal, CollectionSignalFromSpec, CollectionSpec, DocumentSignal, JsonSchemaSpec, MaybePromise, MaybePromiseSubResult, PublicSignal, LocalSignalFactory, RegisteredAggregationInput, RuntimeSignalConstructor, RuntimeSignalInstance, QuerySignal, RootCollections, RootSignal, SignalBaseInstance, SignalChild, SignalChildren, SignalClass, SignalConstructor, SignalForKind, SignalKind, SignalInstance, SignalModelConstructor, SubResult, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodSchemaSpec } from './types/signal.js';
|
package/dist/orm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { belongsTo, hasMany, hasOne } from './associations.js';
|
|
2
|
-
export type { AggregationSignal, ArraySignal, CollectionAggregationSignal, CollectionQuerySignal, CollectionSignal, CollectionSignalFromSpec, CollectionSpec, CollectionsFromManifest, DocumentSignal, FromJsonSchema, JsonSchema, JsonSchemaSpec, ModelEntry, ModelManifest, PathModelsFromManifest, PublicSignal, RuntimeSignalConstructor, RuntimeSignalInstance, WildcardPathSegment, WildcardSignalPath, AppendPath, JoinPath, QueryParams, QuerySignal, RegisteredAggregationInput, SignalBaseInstance, SignalClass, SignalChild, SignalConstructor, SignalForKind, SignalKind, SignalModelConstructor, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodLikeSchema, ZodSchemaSpec } from './Signal.js';
|
|
2
|
+
export type { AggregationSignal, ArraySignal, CollectionAggregationSignal, CollectionQuerySignal, CollectionSignal, CollectionSignalFromSpec, CollectionSpec, CollectionsFromManifest, ComputedQueryParamsInput, DocumentSignal, FromJsonSchema, JsonSchema, JsonSchemaSpec, ModelEntry, ModelManifest, PathModelsFromManifest, PublicSignal, RuntimeSignalConstructor, RuntimeSignalInstance, WildcardPathSegment, WildcardSignalPath, AppendPath, JoinPath, QueryParams, QueryParamsInput, QuerySignal, RegisteredAggregationInput, SignalBaseInstance, SignalClass, SignalChild, SignalConstructor, SignalForKind, SignalKind, SignalModelConstructor, TypedAggregationInput, TypedAggregationSignal, TypedSignal, ZodLikeSchema, ZodSchemaSpec } from './Signal.js';
|
|
3
3
|
export type { RootSignal, TeamplayCollections, TeamplayModels, TeamplaySignalFields } from '../index.js';
|
|
4
4
|
export declare const BaseModel: import("./Signal.js").SignalConstructor;
|
|
5
5
|
export default BaseModel;
|
package/dist/orm/sub.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AggregationFunction, AggregationParams, ClientAggregationFunction } from '@teamplay/utils/aggregation';
|
|
2
|
-
import type { CollectionSignal, DocumentSignal, MaybePromise, MaybePromiseSubResult, QueryParams, RegisteredAggregationInput, SignalModelConstructor, SubResult, TypedAggregationInput, TypedAggregationSignal, WildcardSignalPath } from './Signal.js';
|
|
2
|
+
import type { CollectionSignal, ComputedQueryParamsInput, DocumentSignal, MaybePromise, MaybePromiseSubResult, QueryParams, RegisteredAggregationInput, SignalModelConstructor, SubResult, TypedAggregationInput, TypedAggregationSignal, WildcardSignalPath } from './Signal.js';
|
|
3
3
|
/**
|
|
4
4
|
* Subscribe to an aggregation with explicit output typing outside React.
|
|
5
5
|
* @param $aggregation Typed aggregation input.
|
|
@@ -35,3 +35,11 @@ export default function sub<TSignal extends DocumentSignal<any, any, any>>($sign
|
|
|
35
35
|
* @param params Mongo-style query params, including filters and `$sort`.
|
|
36
36
|
*/
|
|
37
37
|
export default function sub<TDocument, TCollectionModel extends SignalModelConstructor<TDocument[]>, TDocumentModel extends SignalModelConstructor<TDocument>, TCollectionPath extends WildcardSignalPath>($collection: CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, params: QueryParams<TDocument>): MaybePromiseSubResult<CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, QueryParams<TDocument>>;
|
|
38
|
+
/**
|
|
39
|
+
* Subscribe to a collection query with computed string keys outside React.
|
|
40
|
+
* This fallback preserves Mongo-style computed paths such as `{ [`likes.${id}`]: true }`.
|
|
41
|
+
* Literal query objects should use the stricter overload above.
|
|
42
|
+
* @param $collection Collection signal to query.
|
|
43
|
+
* @param params Mongo-style query params with a widened computed key.
|
|
44
|
+
*/
|
|
45
|
+
export default function sub<TDocument, TCollectionModel extends SignalModelConstructor<TDocument[]>, TDocumentModel extends SignalModelConstructor<TDocument>, TCollectionPath extends WildcardSignalPath, TParams extends object>($collection: CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, params: TParams & ComputedQueryParamsInput<TParams>): MaybePromiseSubResult<CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, TParams>;
|
|
@@ -38,7 +38,7 @@ type SimplifiedProperties<TSchema> = {
|
|
|
38
38
|
type HasSimplifiedProperties<TSchema> = keyof SimplifiedProperties<TSchema> extends never ? false : true;
|
|
39
39
|
type SchemaProperties<TSchema> = TSchema extends {
|
|
40
40
|
readonly properties: infer Properties;
|
|
41
|
-
} ? IsFullObjectSchema<TSchema> extends true ? Properties : HasSimplifiedProperties<TSchema> extends true ? SimplifiedProperties<TSchema> : Record<
|
|
41
|
+
} ? IsFullObjectSchema<TSchema> extends true ? Properties : HasSimplifiedProperties<TSchema> extends true ? SimplifiedProperties<TSchema> : Record<never, never> : IsFullObjectSchema<TSchema> extends true ? Record<never, never> : HasSimplifiedProperties<TSchema> extends true ? SimplifiedProperties<TSchema> : Record<never, never>;
|
|
42
42
|
type ExplicitRequiredKeys<TSchema, TProperties> = TSchema extends {
|
|
43
43
|
readonly required?: infer Required;
|
|
44
44
|
} ? Required extends readonly string[] ? Extract<Required[number], keyof TProperties & string> : never : never;
|
|
@@ -50,10 +50,10 @@ type SimplifiedRequiredKeys<TProperties> = {
|
|
|
50
50
|
type RequiredKeys<TSchema, TProperties> = ExplicitRequiredKeys<TSchema, TProperties> | SimplifiedRequiredKeys<TProperties>;
|
|
51
51
|
type PatternPropertiesFromJsonSchema<TSchema> = TSchema extends {
|
|
52
52
|
readonly patternProperties?: infer PatternProperties;
|
|
53
|
-
} ? PatternProperties extends
|
|
53
|
+
} ? PatternProperties extends object ? keyof PatternProperties extends never ? {} : Record<string, FromJsonSchema<PatternProperties[keyof PatternProperties]>> : {} : {};
|
|
54
54
|
type AdditionalPropertiesFromJsonSchema<TSchema> = TSchema extends {
|
|
55
55
|
readonly additionalProperties?: infer AdditionalProperties;
|
|
56
|
-
} ? AdditionalProperties extends JsonSchema ? Record<string, FromJsonSchema<AdditionalProperties>> : {} : {};
|
|
56
|
+
} ? AdditionalProperties extends false ? {} : AdditionalProperties extends JsonSchema ? Record<string, FromJsonSchema<AdditionalProperties>> : {} : {};
|
|
57
57
|
type ObjectFromJsonSchema<TSchema> = SchemaProperties<TSchema> extends infer Properties ? Properties extends Record<string, unknown> ? Prettify<{
|
|
58
58
|
[K in RequiredKeys<TSchema, Properties>]-?: FromJsonSchema<Properties[K]>;
|
|
59
59
|
} & {
|
|
@@ -16,14 +16,20 @@ type QueryValue<TValue> = QueryComparable<TValue> | {
|
|
|
16
16
|
$exists?: boolean;
|
|
17
17
|
$regex?: TValue extends string ? string | RegExp : never;
|
|
18
18
|
};
|
|
19
|
+
type QuerySortDirection = 1 | -1 | 'asc' | 'desc' | 'ascending' | 'descending';
|
|
20
|
+
type QuerySort<TDocument> = {
|
|
21
|
+
[K in QueryPath<TDocument> | '_id' | 'id']?: QuerySortDirection;
|
|
22
|
+
};
|
|
19
23
|
export type QueryParams<TDocument> = {
|
|
20
24
|
[K in QueryPath<TDocument>]?: QueryValue<QueryPathValue<TDocument, K>>;
|
|
21
25
|
} & {
|
|
22
26
|
_id?: QueryValue<string | number>;
|
|
23
27
|
id?: QueryValue<string | number>;
|
|
24
28
|
} & {
|
|
25
|
-
|
|
29
|
+
$sort?: QuerySort<TDocument>;
|
|
26
30
|
} & {
|
|
27
31
|
[K in `$${string}`]?: unknown;
|
|
28
32
|
};
|
|
33
|
+
export type ComputedQueryParamsInput<TParams extends object> = string extends keyof TParams ? TParams : never;
|
|
34
|
+
export type QueryParamsInput<TDocument, TParams extends object> = TParams extends QueryParams<TDocument> ? TParams : ComputedQueryParamsInput<TParams>;
|
|
29
35
|
export {};
|
package/dist/react/useSub.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AggregationFunction, AggregationParams, ClientAggregationFunction } from '@teamplay/utils/aggregation';
|
|
2
|
-
import type { CollectionSignal, DocumentSignal, QueryParams, RegisteredAggregationInput, SignalModelConstructor, SubResult, TypedAggregationInput, TypedAggregationSignal, WildcardSignalPath } from '../orm/Signal.js';
|
|
2
|
+
import type { CollectionSignal, ComputedQueryParamsInput, DocumentSignal, QueryParams, RegisteredAggregationInput, SignalModelConstructor, SubResult, TypedAggregationInput, TypedAggregationSignal, WildcardSignalPath } from '../orm/Signal.js';
|
|
3
3
|
export interface UseSubOptions {
|
|
4
4
|
/** Return `undefined` while loading instead of throwing a Suspense promise. */
|
|
5
5
|
async?: boolean;
|
|
@@ -24,6 +24,15 @@ export declare function useAsyncSub<TSignal extends DocumentSignal<any, any, any
|
|
|
24
24
|
* @param options Subscription behavior options.
|
|
25
25
|
*/
|
|
26
26
|
export declare function useAsyncSub<TDocument, TCollectionModel extends SignalModelConstructor<TDocument[]>, TDocumentModel extends SignalModelConstructor<TDocument>, TCollectionPath extends WildcardSignalPath>(signal: CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, params: QueryParams<TDocument>, options?: UseSubOptions): SubResult<CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, QueryParams<TDocument>>;
|
|
27
|
+
/**
|
|
28
|
+
* Subscribe to a collection query with computed string keys in React async mode.
|
|
29
|
+
* This fallback preserves Mongo-style computed paths such as `{ [`likes.${id}`]: true }`.
|
|
30
|
+
* Literal query objects should use the stricter overload above.
|
|
31
|
+
* @param signal Collection signal to query.
|
|
32
|
+
* @param params Mongo-style query params with a widened computed key.
|
|
33
|
+
* @param options Subscription behavior options.
|
|
34
|
+
*/
|
|
35
|
+
export declare function useAsyncSub<TDocument, TCollectionModel extends SignalModelConstructor<TDocument[]>, TDocumentModel extends SignalModelConstructor<TDocument>, TCollectionPath extends WildcardSignalPath, TParams extends object>(signal: CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, params: TParams & ComputedQueryParamsInput<TParams>, options?: UseSubOptions): SubResult<CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, TParams>;
|
|
27
36
|
/**
|
|
28
37
|
* Subscribe to a registered collection aggregation in React async mode.
|
|
29
38
|
* @param signal Aggregation header generated by StartupJS model loading.
|
|
@@ -66,6 +75,15 @@ export default function useSub<TSignal extends DocumentSignal<any, any, any>>(si
|
|
|
66
75
|
* @param options Subscription behavior options.
|
|
67
76
|
*/
|
|
68
77
|
export default function useSub<TDocument, TCollectionModel extends SignalModelConstructor<TDocument[]>, TDocumentModel extends SignalModelConstructor<TDocument>, TCollectionPath extends WildcardSignalPath>(signal: CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, params: QueryParams<TDocument>, options?: UseSubOptions): SubResult<CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, QueryParams<TDocument>>;
|
|
78
|
+
/**
|
|
79
|
+
* Subscribe to a collection query with computed string keys in React.
|
|
80
|
+
* This fallback preserves Mongo-style computed paths such as `{ [`likes.${id}`]: true }`.
|
|
81
|
+
* Literal query objects should use the stricter overload above.
|
|
82
|
+
* @param signal Collection signal to query.
|
|
83
|
+
* @param params Mongo-style query params with a widened computed key.
|
|
84
|
+
* @param options Subscription behavior options.
|
|
85
|
+
*/
|
|
86
|
+
export default function useSub<TDocument, TCollectionModel extends SignalModelConstructor<TDocument[]>, TDocumentModel extends SignalModelConstructor<TDocument>, TCollectionPath extends WildcardSignalPath, TParams extends object>(signal: CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, params: TParams & ComputedQueryParamsInput<TParams>, options?: UseSubOptions): SubResult<CollectionSignal<TDocument, TCollectionModel, TDocumentModel, TCollectionPath>, TParams>;
|
|
69
87
|
/**
|
|
70
88
|
* Subscribe to a registered collection aggregation in React.
|
|
71
89
|
* @param signal Aggregation header generated by StartupJS model loading.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "teamplay",
|
|
3
|
-
"version": "0.5.0-alpha.
|
|
3
|
+
"version": "0.5.0-alpha.3",
|
|
4
4
|
"description": "Full-stack signals ORM with multiplayer",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -128,5 +128,5 @@
|
|
|
128
128
|
]
|
|
129
129
|
},
|
|
130
130
|
"license": "MIT",
|
|
131
|
-
"gitHead": "
|
|
131
|
+
"gitHead": "08829f3421180538991f1da72dcc6919f5a274d1"
|
|
132
132
|
}
|