@osdk/api 2.2.0-beta.2 → 2.2.0-beta.20
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 +101 -0
- package/build/browser/Logger.js +17 -0
- package/build/browser/Logger.js.map +1 -0
- package/build/browser/OsdkBase.js.map +1 -1
- package/build/browser/OsdkObjectFrom.js +2 -4
- package/build/browser/OsdkObjectFrom.js.map +1 -1
- package/build/browser/OsdkObjectFrom.test.js +3 -3
- package/build/browser/OsdkObjectFrom.test.js.map +1 -1
- package/build/browser/actions/ActionResults.js.map +1 -1
- package/build/browser/actions/Actions.js.map +1 -1
- package/build/browser/aggregate/AggregatableKeys.js.map +1 -1
- package/build/browser/derivedProperties/DerivedProperty.js.map +1 -1
- package/build/browser/derivedProperties/Expressions.js +2 -0
- package/build/browser/derivedProperties/Expressions.js.map +1 -0
- package/build/browser/derivedProperties/WithPropertiesAggregationOptions.js.map +1 -1
- package/build/browser/experimental/createMediaReference.js +2 -2
- package/build/browser/experimental/createMediaReference.js.map +1 -1
- package/build/browser/experimental/fetchPageByRid.js +22 -0
- package/build/browser/experimental/fetchPageByRid.js.map +1 -0
- package/build/browser/groupby/GroupByClause.js.map +1 -1
- package/build/browser/index.js.map +1 -1
- package/build/browser/mapping/DataValueMapping.js.map +1 -1
- package/build/browser/object/FetchPageArgs.js +1 -0
- package/build/browser/object/FetchPageArgs.js.map +1 -1
- package/build/browser/object/FetchPageResult.js.map +1 -1
- package/build/browser/objectSet/BulkLinkResult.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +424 -9
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/ontology/ActionDefinition.js.map +1 -1
- package/build/browser/ontology/ObjectOrInterface.js +1 -0
- package/build/browser/ontology/ObjectOrInterface.js.map +1 -1
- package/build/browser/ontology/ObjectSpecifier.js +2 -0
- package/build/browser/ontology/ObjectSpecifier.js.map +1 -0
- package/build/browser/ontology/ObjectSpecifier.test.js +53 -0
- package/build/browser/ontology/ObjectSpecifier.test.js.map +1 -0
- package/build/browser/ontology/ObjectTypeDefinition.js.map +1 -1
- package/build/browser/ontology/PrimaryKeyTypes.js.map +1 -1
- package/build/browser/ontology/QueryDefinition.js.map +1 -1
- package/build/browser/ontology/SimplePropertyDef.js.map +1 -1
- package/build/browser/public/unstable.js +1 -0
- package/build/browser/public/unstable.js.map +1 -1
- package/build/browser/queries/Queries.js.map +1 -1
- package/build/browser/test/EmployeeApiTest.js +21 -0
- package/build/browser/test/EmployeeApiTest.js.map +1 -0
- package/build/browser/test/FooInterfaceApiTest.js +22 -0
- package/build/browser/test/FooInterfaceApiTest.js.map +1 -0
- package/build/browser/util/IncludeValuesExtending.js +2 -0
- package/build/browser/util/IncludeValuesExtending.js.map +1 -0
- package/build/cjs/{ObjectSet-C2x3lIr7.d.cts → ObjectSet-DOR8vbgj.d.cts} +214 -59
- package/build/cjs/index.d.cts +40 -8
- package/build/cjs/public/unstable.cjs +8 -0
- package/build/cjs/public/unstable.cjs.map +1 -1
- package/build/cjs/public/unstable.d.cts +14 -9
- package/build/esm/Logger.js +17 -0
- package/build/esm/Logger.js.map +1 -0
- package/build/esm/OsdkBase.js.map +1 -1
- package/build/esm/OsdkObjectFrom.js +2 -4
- package/build/esm/OsdkObjectFrom.js.map +1 -1
- package/build/esm/OsdkObjectFrom.test.js +3 -3
- package/build/esm/OsdkObjectFrom.test.js.map +1 -1
- package/build/esm/actions/ActionResults.js.map +1 -1
- package/build/esm/actions/Actions.js.map +1 -1
- package/build/esm/aggregate/AggregatableKeys.js.map +1 -1
- package/build/esm/derivedProperties/DerivedProperty.js.map +1 -1
- package/build/esm/derivedProperties/Expressions.js +2 -0
- package/build/esm/derivedProperties/Expressions.js.map +1 -0
- package/build/esm/derivedProperties/WithPropertiesAggregationOptions.js.map +1 -1
- package/build/esm/experimental/createMediaReference.js +2 -2
- package/build/esm/experimental/createMediaReference.js.map +1 -1
- package/build/esm/experimental/fetchPageByRid.js +22 -0
- package/build/esm/experimental/fetchPageByRid.js.map +1 -0
- package/build/esm/groupby/GroupByClause.js.map +1 -1
- package/build/esm/index.js.map +1 -1
- package/build/esm/mapping/DataValueMapping.js.map +1 -1
- package/build/esm/object/FetchPageArgs.js +1 -0
- package/build/esm/object/FetchPageArgs.js.map +1 -1
- package/build/esm/object/FetchPageResult.js.map +1 -1
- package/build/esm/objectSet/BulkLinkResult.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +424 -9
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/ontology/ActionDefinition.js.map +1 -1
- package/build/esm/ontology/ObjectOrInterface.js +1 -0
- package/build/esm/ontology/ObjectOrInterface.js.map +1 -1
- package/build/esm/ontology/ObjectSpecifier.js +2 -0
- package/build/esm/ontology/ObjectSpecifier.js.map +1 -0
- package/build/esm/ontology/ObjectSpecifier.test.js +53 -0
- package/build/esm/ontology/ObjectSpecifier.test.js.map +1 -0
- package/build/esm/ontology/ObjectTypeDefinition.js.map +1 -1
- package/build/esm/ontology/PrimaryKeyTypes.js.map +1 -1
- package/build/esm/ontology/QueryDefinition.js.map +1 -1
- package/build/esm/ontology/SimplePropertyDef.js.map +1 -1
- package/build/esm/public/unstable.js +1 -0
- package/build/esm/public/unstable.js.map +1 -1
- package/build/esm/queries/Queries.js.map +1 -1
- package/build/esm/test/EmployeeApiTest.js +21 -0
- package/build/esm/test/EmployeeApiTest.js.map +1 -0
- package/build/esm/test/FooInterfaceApiTest.js +22 -0
- package/build/esm/test/FooInterfaceApiTest.js.map +1 -0
- package/build/esm/util/IncludeValuesExtending.js +2 -0
- package/build/esm/util/IncludeValuesExtending.js.map +1 -0
- package/build/types/Logger.d.ts +19 -0
- package/build/types/Logger.d.ts.map +1 -0
- package/build/types/OsdkBase.d.ts +4 -0
- package/build/types/OsdkBase.d.ts.map +1 -1
- package/build/types/OsdkObjectFrom.d.ts +16 -10
- package/build/types/OsdkObjectFrom.d.ts.map +1 -1
- package/build/types/actions/ActionResults.d.ts +4 -0
- package/build/types/actions/ActionResults.d.ts.map +1 -1
- package/build/types/actions/Actions.d.ts +3 -3
- package/build/types/actions/Actions.d.ts.map +1 -1
- package/build/types/aggregate/AggregatableKeys.d.ts +10 -8
- package/build/types/aggregate/AggregatableKeys.d.ts.map +1 -1
- package/build/types/derivedProperties/DerivedProperty.d.ts +41 -14
- package/build/types/derivedProperties/DerivedProperty.d.ts.map +1 -1
- package/build/types/derivedProperties/Expressions.d.ts +53 -0
- package/build/types/derivedProperties/Expressions.d.ts.map +1 -0
- package/build/types/derivedProperties/WithPropertiesAggregationOptions.d.ts +6 -3
- package/build/types/derivedProperties/WithPropertiesAggregationOptions.d.ts.map +1 -1
- package/build/types/experimental/createMediaReference.d.ts +9 -5
- package/build/types/experimental/createMediaReference.d.ts.map +1 -1
- package/build/types/experimental/fetchPageByRid.d.ts +15 -0
- package/build/types/experimental/fetchPageByRid.d.ts.map +1 -0
- package/build/types/groupby/GroupByClause.d.ts +6 -0
- package/build/types/groupby/GroupByClause.d.ts.map +1 -1
- package/build/types/index.d.ts +43 -40
- package/build/types/index.d.ts.map +1 -1
- package/build/types/mapping/DataValueMapping.d.ts +4 -0
- package/build/types/mapping/DataValueMapping.d.ts.map +1 -1
- package/build/types/object/FetchPageArgs.d.ts +39 -6
- package/build/types/object/FetchPageArgs.d.ts.map +1 -1
- package/build/types/object/FetchPageResult.d.ts +6 -4
- package/build/types/object/FetchPageResult.d.ts.map +1 -1
- package/build/types/objectSet/BulkLinkResult.d.ts +1 -1
- package/build/types/objectSet/ObjectSet.d.ts +143 -34
- package/build/types/objectSet/ObjectSet.d.ts.map +1 -1
- package/build/types/objectSet/ObjectSet.test.d.ts +2 -1
- package/build/types/objectSet/ObjectSet.test.d.ts.map +1 -1
- package/build/types/ontology/ActionDefinition.d.ts +1 -1
- package/build/types/ontology/ActionDefinition.d.ts.map +1 -1
- package/build/types/ontology/ObjectOrInterface.d.ts +12 -5
- package/build/types/ontology/ObjectOrInterface.d.ts.map +1 -1
- package/build/types/ontology/ObjectSpecifier.d.ts +6 -0
- package/build/types/ontology/ObjectSpecifier.d.ts.map +1 -0
- package/build/types/ontology/ObjectSpecifier.test.d.ts +1 -0
- package/build/types/ontology/ObjectSpecifier.test.d.ts.map +1 -0
- package/build/types/ontology/ObjectTypeDefinition.d.ts +1 -1
- package/build/types/ontology/ObjectTypeDefinition.d.ts.map +1 -1
- package/build/types/ontology/PrimaryKeyTypes.d.ts +1 -1
- package/build/types/ontology/PrimaryKeyTypes.d.ts.map +1 -1
- package/build/types/ontology/QueryDefinition.d.ts +5 -1
- package/build/types/ontology/QueryDefinition.d.ts.map +1 -1
- package/build/types/ontology/SimplePropertyDef.d.ts +4 -4
- package/build/types/ontology/SimplePropertyDef.d.ts.map +1 -1
- package/build/types/public/unstable.d.ts +4 -3
- package/build/types/public/unstable.d.ts.map +1 -1
- package/build/types/queries/Queries.d.ts +2 -2
- package/build/types/queries/Queries.d.ts.map +1 -1
- package/build/types/test/EmployeeApiTest.d.ts +86 -0
- package/build/types/test/EmployeeApiTest.d.ts.map +1 -0
- package/build/types/test/FooInterfaceApiTest.d.ts +50 -0
- package/build/types/test/FooInterfaceApiTest.d.ts.map +1 -0
- package/build/types/util/IncludeValuesExtending.d.ts +4 -0
- package/build/types/util/IncludeValuesExtending.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -56,10 +56,13 @@ interface MediaMetadata {
|
|
|
56
56
|
mediaType: string;
|
|
57
57
|
}
|
|
58
58
|
|
|
59
|
+
type DistinctWithPropAggregateOption = "approximateDistinct" | "exactDistinct";
|
|
59
60
|
type CollectWithPropAggregations = "collectSet" | "collectList";
|
|
60
|
-
type BaseWithPropAggregations =
|
|
61
|
-
type
|
|
62
|
-
type
|
|
61
|
+
type BaseWithPropAggregations = DistinctWithPropAggregateOption | CollectWithPropAggregations;
|
|
62
|
+
type MinMaxWithPropAggregateOption = "min" | "max";
|
|
63
|
+
type DatetimeWithPropAggregateOption = MinMaxWithPropAggregateOption | BaseWithPropAggregations;
|
|
64
|
+
type NumericWithPropAggregateOption = "sum" | "avg" | "approximatePercentile" | MinMaxWithPropAggregateOption | BaseWithPropAggregations;
|
|
65
|
+
type ValidCollectPropertyKeysForSpecialTypes = "attachment" | "geopoint" | "geoshape" | "boolean";
|
|
63
66
|
|
|
64
67
|
type TimeSeriesQuery = {
|
|
65
68
|
$before: number;
|
|
@@ -244,11 +247,15 @@ type GetWirePropertyValueFromClient<T extends keyof PropertyValueClientToWire |
|
|
|
244
247
|
[K in keyof T]: PropertyValueClientToWire[T[K]];
|
|
245
248
|
} : never;
|
|
246
249
|
|
|
250
|
+
type IncludeValuesExtending<T extends Record<keyof any, any>, M> = {
|
|
251
|
+
[K in keyof T as T[K] extends M ? K : never]: T[K];
|
|
252
|
+
};
|
|
253
|
+
|
|
247
254
|
interface OsdkMetadata {
|
|
248
255
|
extraUserAgent: string;
|
|
249
256
|
}
|
|
250
257
|
|
|
251
|
-
type PrimaryKeyTypes = "string" | "datetime" | "double" | "
|
|
258
|
+
type PrimaryKeyTypes = "string" | "datetime" | "double" | "integer" | "timestamp" | "short" | "long" | "byte";
|
|
252
259
|
|
|
253
260
|
type VersionString<Major extends number, Minor extends number, Patch extends number> = `${Major}.${Minor}.${Patch}`;
|
|
254
261
|
|
|
@@ -322,7 +329,7 @@ interface PropertyDef<T extends WirePropertyTypes, N extends "nullable" | "non-n
|
|
|
322
329
|
multiplicity: M extends "array" ? true : false;
|
|
323
330
|
nullable: N extends "nullable" ? true : false;
|
|
324
331
|
}
|
|
325
|
-
type ReleaseStatus = "ACTIVE" | "EXPERIMENTAL" | "DEPRECATED";
|
|
332
|
+
type ReleaseStatus = "ACTIVE" | "EXPERIMENTAL" | "DEPRECATED" | "ENDORSED";
|
|
326
333
|
type ObjectTypeVisibility = "NORMAL" | "PROMINENT" | "HIDDEN";
|
|
327
334
|
type BlueprintIcon = {
|
|
328
335
|
type: "blueprint";
|
|
@@ -344,8 +351,8 @@ interface InterfaceDefinition {
|
|
|
344
351
|
|
|
345
352
|
type SimplePropertyDef = WirePropertyTypes | undefined | Array<WirePropertyTypes>;
|
|
346
353
|
declare namespace SimplePropertyDef {
|
|
347
|
-
type Make<T extends WirePropertyTypes, N extends
|
|
348
|
-
type FromPropertyMetadata<P extends ObjectMetadata.Property> = Make<P["type"], P["nullable"], P["multiplicity"]>;
|
|
354
|
+
type Make<T extends WirePropertyTypes, N extends "nullable" | "non-nullable", M extends "array" | "single"> = M extends "array" ? N extends "nullable" ? Array<T> | undefined : Array<T> : N extends "nullable" ? T | undefined : T;
|
|
355
|
+
type FromPropertyMetadata<P extends ObjectMetadata.Property> = Make<P["type"], P["nullable"] extends true ? "nullable" : "non-nullable", P["multiplicity"] extends true ? "array" : "single">;
|
|
349
356
|
type ExtractMultiplicity<T extends WirePropertyTypes | undefined | Array<WirePropertyTypes>> = NonNullable<T> extends Array<any> ? "array" : "single";
|
|
350
357
|
type ExtractWirePropertyType<T extends SimplePropertyDef> = T extends Array<infer Z> ? NonNullable<Z> : NonNullable<T>;
|
|
351
358
|
type ExtractNullable<T extends SimplePropertyDef> = [undefined] extends [T] ? "nullable" : [[undefined]] extends [T] ? "nullable" : "non-nullable";
|
|
@@ -367,13 +374,22 @@ declare namespace DerivedObjectOrInterfaceDefinition {
|
|
|
367
374
|
};
|
|
368
375
|
} & K;
|
|
369
376
|
}
|
|
370
|
-
type PropertyKeys<O extends ObjectOrInterfaceDefinition
|
|
377
|
+
type PropertyKeys<O extends ObjectOrInterfaceDefinition> = (keyof CompileTimeMetadata<O>["properties"]) & string;
|
|
378
|
+
declare namespace PropertyKeys {
|
|
379
|
+
type Filtered<Q extends ObjectOrInterfaceDefinition, T extends WirePropertyTypes> = keyof IncludeValuesExtending<CompileTimeMetadata<Q>["properties"], {
|
|
380
|
+
type: T;
|
|
381
|
+
}>;
|
|
382
|
+
}
|
|
371
383
|
|
|
372
|
-
type
|
|
373
|
-
type
|
|
374
|
-
type
|
|
384
|
+
type BaseAggregateOptions = "approximateDistinct" | "exactDistinct";
|
|
385
|
+
type MinMaxAggregateOption = "min" | "max";
|
|
386
|
+
type DatetimeAggregateOption = MinMaxAggregateOption | BaseAggregateOptions;
|
|
387
|
+
type NumericAggregateOption = "sum" | "avg" | "approximateDistinct" | "exactDistinct" | MinMaxAggregateOption;
|
|
388
|
+
type AGG_FOR_TYPE<WIRE_TYPE extends WirePropertyTypes> = number extends GetWirePropertyValueFromClient<WIRE_TYPE> ? NumericAggregateOption : WIRE_TYPE extends "datetime" | "timestamp" ? DatetimeAggregateOption : BaseAggregateOptions;
|
|
389
|
+
type WITH_PROPERTIES_AGG_FOR_TYPE<WIRE_TYPE extends WirePropertyTypes> = number extends GetWirePropertyValueFromClient<WIRE_TYPE> ? NumericWithPropAggregateOption : WIRE_TYPE extends "datetime" | "timestamp" ? DatetimeWithPropAggregateOption : WIRE_TYPE extends "string" ? BaseWithPropAggregations : WITH_PROPERTIES_AGG_FOR_SPECIAL_WIRE_TYPE<WIRE_TYPE>;
|
|
390
|
+
type WITH_PROPERTIES_AGG_FOR_SPECIAL_WIRE_TYPE<WIRE_TYPE extends WirePropertyTypes> = WIRE_TYPE extends ValidCollectPropertyKeysForSpecialTypes ? BaseWithPropAggregations : DistinctWithPropAggregateOption;
|
|
375
391
|
type ValidAggregationKeys<Q extends ObjectOrInterfaceDefinition, R extends "aggregate" | "withPropertiesAggregate" = "aggregate"> = keyof ({
|
|
376
|
-
[KK in AggregatableKeys<Q> as `${KK & string}:${AGG_FOR_TYPE<
|
|
392
|
+
[KK in AggregatableKeys<Q> as `${KK & string}:${R extends "aggregate" ? AGG_FOR_TYPE<CompileTimeMetadata<Q>["properties"][KK]["type"]> : WITH_PROPERTIES_AGG_FOR_TYPE<CompileTimeMetadata<Q>["properties"][KK]["type"]>}`]?: any;
|
|
377
393
|
} & {
|
|
378
394
|
$count?: any;
|
|
379
395
|
});
|
|
@@ -399,6 +415,12 @@ type GroupByClause<Q extends ObjectOrInterfaceDefinition> = {
|
|
|
399
415
|
};
|
|
400
416
|
type BaseGroupByValue = "exact" | {
|
|
401
417
|
$exactWithLimit: number;
|
|
418
|
+
} | ExactGroupByWithOptions;
|
|
419
|
+
type ExactGroupByWithOptions = {
|
|
420
|
+
$exact: {
|
|
421
|
+
$limit?: number;
|
|
422
|
+
$defaultValue?: string;
|
|
423
|
+
};
|
|
402
424
|
};
|
|
403
425
|
type GroupByRange<T> = [T, T];
|
|
404
426
|
type StringGroupByValue = BaseGroupByValue;
|
|
@@ -521,22 +543,39 @@ type NullabilityAdherence = false | "throw" | "drop";
|
|
|
521
543
|
declare namespace NullabilityAdherence {
|
|
522
544
|
type Default = "throw";
|
|
523
545
|
}
|
|
546
|
+
declare namespace ObjectSetArgs {
|
|
547
|
+
interface Select<OBJECT_KEYS extends string = never, RDP_KEYS extends string = never> {
|
|
548
|
+
$select?: readonly (OBJECT_KEYS | RDP_KEYS)[];
|
|
549
|
+
$includeRid?: boolean;
|
|
550
|
+
}
|
|
551
|
+
interface OrderBy<L extends string = never> {
|
|
552
|
+
$orderBy?: {
|
|
553
|
+
[K in L]?: "asc" | "desc";
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
interface AsyncIter<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = never, T extends boolean = false, RDP_KEYS extends string = never> extends Select<K, RDP_KEYS>, OrderBy<K> {
|
|
557
|
+
$__UNSTABLE_useOldInterfaceApis?: boolean;
|
|
558
|
+
$includeAllBaseObjectProperties?: PropertyKeys<Q> extends K ? T : never;
|
|
559
|
+
}
|
|
560
|
+
interface FetchPage<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = never, T extends boolean = false, RDP_KEYS extends string = never> extends AsyncIter<Q, K, T, RDP_KEYS> {
|
|
561
|
+
$nextPageToken?: string;
|
|
562
|
+
$pageSize?: number;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
524
565
|
interface SelectArg<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, S extends NullabilityAdherence = NullabilityAdherence.Default> {
|
|
525
566
|
$select?: readonly L[];
|
|
526
567
|
$includeRid?: R;
|
|
527
568
|
}
|
|
528
|
-
interface OrderByArg<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> = PropertyKeys<Q>> {
|
|
529
|
-
$orderBy?: {
|
|
530
|
-
[K in L]?: "asc" | "desc";
|
|
531
|
-
};
|
|
569
|
+
interface OrderByArg<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> = PropertyKeys<Q>> extends ObjectSetArgs.OrderBy<L> {
|
|
532
570
|
}
|
|
533
571
|
type SelectArgToKeys<Q extends ObjectOrInterfaceDefinition, A extends SelectArg<Q, any, any>> = A extends SelectArg<Q, never> ? PropertyKeys<Q> : A["$select"] extends readonly string[] ? A["$select"][number] : PropertyKeys<Q>;
|
|
534
|
-
interface FetchPageArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default> extends AsyncIterArgs<Q, K, R, A, S> {
|
|
572
|
+
interface FetchPageArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false, RDP_KEYS extends string = never> extends AsyncIterArgs<Q, K, R, A, S, T, RDP_KEYS> {
|
|
535
573
|
$nextPageToken?: string;
|
|
536
574
|
$pageSize?: number;
|
|
537
575
|
}
|
|
538
|
-
interface AsyncIterArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default> extends SelectArg<Q, K, R, S>, OrderByArg<Q, PropertyKeys<Q>> {
|
|
576
|
+
interface AsyncIterArgs<Q extends ObjectOrInterfaceDefinition, K extends PropertyKeys<Q> = PropertyKeys<Q>, R extends boolean = false, A extends Augments = never, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false, RDP_KEYS extends string = never> extends SelectArg<Q, K, R, S>, OrderByArg<Q, PropertyKeys<Q>> {
|
|
539
577
|
$__UNSTABLE_useOldInterfaceApis?: boolean;
|
|
578
|
+
$includeAllBaseObjectProperties?: PropertyKeys<Q> extends K ? T : never;
|
|
540
579
|
}
|
|
541
580
|
type Augment<X extends ObjectOrInterfaceDefinition, T extends string> = {
|
|
542
581
|
[K in CompileTimeMetadata<X>["apiName"]]: T[];
|
|
@@ -585,14 +624,18 @@ type UnionIfTrue<S extends string, UNION_IF_TRUE extends boolean, E extends stri
|
|
|
585
624
|
/**
|
|
586
625
|
* Helper type for converting fetch options into an Osdk object
|
|
587
626
|
*/
|
|
588
|
-
type FetchPageResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q>, R extends boolean, S extends NullabilityAdherence> = PageResult<PropertyKeys<Q> extends L ? Osdk.Instance<Q, ExtractOptions<R, S>> : Osdk.Instance<Q, ExtractOptions<R, S>, L>>;
|
|
627
|
+
type FetchPageResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q>, R extends boolean, S extends NullabilityAdherence, T extends boolean = false> = PageResult<PropertyKeys<Q> extends L ? Osdk.Instance<Q, ExtractOptions<R, S, T>> : Osdk.Instance<Q, ExtractOptions<R, S, T>, L>>;
|
|
589
628
|
/**
|
|
590
629
|
* Helper type for converting fetch options into an Osdk object
|
|
591
630
|
*/
|
|
592
|
-
type SingleOsdkResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> | (keyof RDPs & string), R extends boolean, S extends NullabilityAdherence, RDPs extends Record<string, SimplePropertyDef> = {}> = Osdk.Instance<Q, ExtractOptions<R, S>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
|
|
631
|
+
type SingleOsdkResult<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q> | (keyof RDPs & string), R extends boolean, S extends NullabilityAdherence, RDPs extends Record<string, SimplePropertyDef> = {}, T extends boolean = false> = Osdk.Instance<Q, ExtractOptions<R, S, T>, PropertyKeys<Q> extends L ? PropertyKeys<Q> : PropertyKeys<Q> & L, {
|
|
593
632
|
[K in Extract<keyof RDPs, L>]: RDPs[K];
|
|
594
633
|
}>;
|
|
595
634
|
|
|
635
|
+
type ObjectSpecifier<Q extends ObjectOrInterfaceDefinition> = string & {
|
|
636
|
+
__apiName: Q["apiName"] | (Q extends InterfaceDefinition ? CompileTimeMetadata<Q> extends InterfaceMetadata ? NonNullable<CompileTimeMetadata<Q>["implementedBy"]>[number] : never : never);
|
|
637
|
+
};
|
|
638
|
+
|
|
596
639
|
type OsdkObjectPrimaryKeyType<Q extends ObjectTypeDefinition> = PropertyValueWireToClient[CompileTimeMetadata<Q>["primaryKeyType"]];
|
|
597
640
|
|
|
598
641
|
type OsdkBase<Q extends ObjectOrInterfaceDefinition> = {
|
|
@@ -601,6 +644,9 @@ type OsdkBase<Q extends ObjectOrInterfaceDefinition> = {
|
|
|
601
644
|
readonly $primaryKey: PrimaryKeyType<Q>;
|
|
602
645
|
readonly $title: string | undefined;
|
|
603
646
|
};
|
|
647
|
+
interface OsdkBaseWithObjectSpecifier<Q extends ObjectOrInterfaceDefinition> extends OsdkBase<Q> {
|
|
648
|
+
readonly $objectSpecifier: ObjectSpecifier<Q>;
|
|
649
|
+
}
|
|
604
650
|
type PrimaryKeyType<Q extends ObjectOrInterfaceDefinition> = (Q extends ObjectTypeDefinition ? OsdkObjectPrimaryKeyType<Q> : unknown) & PropertyValueWireToClient[PrimaryKeyTypes];
|
|
605
651
|
|
|
606
652
|
type SpecialOsdkPropParams = "$all" | "$rid" | "$strict" | "$notStrict";
|
|
@@ -608,15 +654,17 @@ type ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> = SpecialOsdkPro
|
|
|
608
654
|
type ApiNameAsString<T extends ObjectOrInterfaceDefinition> = CompileTimeMetadata<T>["apiName"];
|
|
609
655
|
type JustProps<T extends ObjectOrInterfaceDefinition, P extends ValidOsdkPropParams<T>> = P extends "$all" ? PropertyKeys<T> : Exclude<P, SpecialOsdkPropParams>;
|
|
610
656
|
type PropMapToObject<FROM extends ObjectOrInterfaceDefinition, TO extends ObjectTypeDefinition> = NonNullable<CompileTimeMetadata<TO>["interfaceMap"]>[ApiNameAsString<FROM>];
|
|
611
|
-
type MapPropNamesToObjectType<FROM extends ObjectOrInterfaceDefinition, TO extends ObjectTypeDefinition, P extends ValidOsdkPropParams<FROM
|
|
657
|
+
type MapPropNamesToObjectType<FROM extends ObjectOrInterfaceDefinition, TO extends ObjectTypeDefinition, P extends ValidOsdkPropParams<FROM>, OPTIONS extends never | "$rid" | "$allBaseProperties" = never> = "$allBaseProperties" extends OPTIONS ? PropertyKeys<FROM> extends P ? PropertyKeys<TO> : PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>] : PropMapToObject<FROM, TO>[JustProps<FROM, P> & keyof PropMapToObject<FROM, TO>];
|
|
612
658
|
type PropMapToInterface<FROM extends ObjectTypeDefinition, TO extends InterfaceDefinition> = NonNullable<CompileTimeMetadata<FROM>["inverseInterfaceMap"]>[ApiNameAsString<TO>];
|
|
613
659
|
type MapPropNamesToInterface<FROM extends ObjectTypeDefinition, TO extends InterfaceDefinition, P extends ValidOsdkPropParams<FROM>> = PropMapToInterface<FROM, TO>[JustProps<FROM, P> & keyof PropMapToInterface<FROM, TO>];
|
|
614
660
|
/**
|
|
661
|
+
* Older version of this helper that allows for `$rid` and co in
|
|
662
|
+
* the properties field.
|
|
615
663
|
* @param FROM - the interface or object type to convert from
|
|
616
664
|
* @param TO - the interface or object type to convert to
|
|
617
665
|
* @param P - the property(s) to convert
|
|
618
666
|
*/
|
|
619
|
-
type ConvertProps<FROM extends ObjectOrInterfaceDefinition, TO extends ValidToFrom<FROM>, P extends ValidOsdkPropParams<FROM
|
|
667
|
+
type ConvertProps<FROM extends ObjectOrInterfaceDefinition, TO extends ValidToFrom<FROM>, P extends ValidOsdkPropParams<FROM>, OPTIONS extends never | "$rid" | "$allBaseProperties" = never> = TO extends FROM ? P : TO extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToObjectType<FROM, TO, P, OPTIONS>, P extends "$rid" ? true : false, "$rid">) : TO extends InterfaceDefinition ? FROM extends ObjectTypeDefinition ? (UnionIfTrue<MapPropNamesToInterface<FROM, TO, P>, P extends "$rid" ? true : false, "$rid">) : never : never;
|
|
620
668
|
/** DO NOT EXPORT FROM PACKAGE */
|
|
621
669
|
type ValidToFrom<FROM extends ObjectOrInterfaceDefinition> = FROM extends InterfaceDefinition ? ObjectOrInterfaceDefinition : InterfaceDefinition;
|
|
622
670
|
type IsNever<T> = [T] extends [never] ? true : false;
|
|
@@ -628,13 +676,13 @@ type GetPropsKeys<Q extends ObjectOrInterfaceDefinition, P extends PropertyKeys<
|
|
|
628
676
|
*/
|
|
629
677
|
type Osdk<Q extends ObjectOrInterfaceDefinition, OPTIONS extends string = never, P extends PropertyKeys<Q> = PropertyKeys<Q>> = IsNever<OPTIONS> extends true ? Osdk.Instance<Q, never, P> : IsAny<OPTIONS> extends true ? Osdk.Instance<Q, never, P> : (IsNever<Exclude<OPTIONS, "$rid">>) extends true ? Osdk.Instance<Q, OPTIONS & "$rid", P> : Osdk.Instance<Q, ("$rid" extends OPTIONS ? "$rid" : never), ExtractPropsKeysFromOldPropsStyle<Q, OPTIONS>>;
|
|
630
678
|
declare namespace Osdk {
|
|
631
|
-
type Instance<Q extends ObjectOrInterfaceDefinition, OPTIONS extends never | "$rid" = never, P extends PropertyKeys<Q> = PropertyKeys<Q>, R extends Record<string, SimplePropertyDef> = {}> =
|
|
679
|
+
type Instance<Q extends ObjectOrInterfaceDefinition, OPTIONS extends never | "$rid" | "$allBaseProperties" = never, P extends PropertyKeys<Q> = PropertyKeys<Q>, R extends Record<string, SimplePropertyDef> = {}> = OsdkBaseWithObjectSpecifier<Q> & Pick<CompileTimeMetadata<Q>["props"], GetPropsKeys<Q, P, [R] extends [{}] ? false : true>> & ([R] extends [never] ? {} : {
|
|
632
680
|
[A in keyof R]: SimplePropertyDef.ToRuntimeProperty<R[A]>;
|
|
633
681
|
}) & {
|
|
634
682
|
readonly $link: Q extends {
|
|
635
683
|
linksType?: any;
|
|
636
684
|
} ? Q["linksType"] : Q extends ObjectTypeDefinition ? OsdkObjectLinksObject<Q> : never;
|
|
637
|
-
readonly $as: <NEW_Q extends ValidToFrom<Q>>(type: NEW_Q | string) => Osdk.Instance<NEW_Q, OPTIONS, ConvertProps<Q, NEW_Q, P>>;
|
|
685
|
+
readonly $as: <NEW_Q extends ValidToFrom<Q>>(type: NEW_Q | string) => Osdk.Instance<NEW_Q, OPTIONS, ConvertProps<Q, NEW_Q, P, OPTIONS>>;
|
|
638
686
|
readonly $clone: <NEW_PROPS extends PropertyKeys<Q>>(updatedObject?: Osdk.Instance<Q, any, NEW_PROPS> | {
|
|
639
687
|
[K in NEW_PROPS]?: CompileTimeMetadata<Q>["props"][K];
|
|
640
688
|
}) => Osdk.Instance<Q, OPTIONS, P | NEW_PROPS>;
|
|
@@ -648,7 +696,8 @@ declare namespace Osdk {
|
|
|
648
696
|
* Anything you throw at this that is not exactly `true` should always be `never`.
|
|
649
697
|
*/
|
|
650
698
|
type ExtractRidOption<R extends boolean> = IsNever<R> extends true ? never : DefaultToFalse<R> extends false ? never : "$rid";
|
|
651
|
-
type
|
|
699
|
+
type ExtractAllPropertiesOption<T extends boolean> = IsNever<T> extends true ? never : DefaultToFalse<T> extends false ? never : "$allBaseProperties";
|
|
700
|
+
type ExtractOptions<R extends boolean, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false> = ExtractRidOption<R> | ExtractAllPropertiesOption<T>;
|
|
652
701
|
|
|
653
702
|
type Just<Z extends keyof V, V> = {
|
|
654
703
|
[k in Z]: V[k];
|
|
@@ -897,20 +946,53 @@ type WhereClause<T extends ObjectOrInterfaceDefinition> = OrWhereClause<T> | And
|
|
|
897
946
|
type LinkNames<Q extends ObjectOrInterfaceDefinition> = keyof CompileTimeMetadata<Q>["links"] & string;
|
|
898
947
|
type LinkedType<Q extends ObjectOrInterfaceDefinition, L extends LinkNames<Q>> = NonNullable<CompileTimeMetadata<Q>["links"][L]["__OsdkLinkTargetType"]>;
|
|
899
948
|
|
|
949
|
+
type WithPropertiesNumerics = "integer" | "double" | "float" | "short" | "long";
|
|
950
|
+
type WithPropertiesDatetime = "datetime" | "timestamp";
|
|
951
|
+
type DefinitionForType<Q extends ObjectOrInterfaceDefinition, T extends SimplePropertyDef> = SimplePropertyDef.ExtractMultiplicity<T> extends "array" ? DerivedProperty.Definition<T, Q> : SimplePropertyDef.ExtractWirePropertyType<T> extends WithPropertiesNumerics ? DerivedProperty.NumericPropertyDefinition<T, Q> : SimplePropertyDef.ExtractWirePropertyType<T> extends WithPropertiesDatetime ? DerivedProperty.DatetimePropertyDefinition<T, Q> : DerivedProperty.Definition<T, Q>;
|
|
952
|
+
type NumericExpressionArg<Q extends ObjectOrInterfaceDefinition> = number | DerivedProperty.NumericPropertyDefinition<any, Q>;
|
|
953
|
+
type ReturnTypeForNumericMethod<Q extends ObjectOrInterfaceDefinition, LEFT extends WirePropertyTypes, RIGHT extends WirePropertyTypes> = "double" extends (LEFT | RIGHT) ? DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"double", "non-nullable", "single">, Q> : "float" extends (LEFT | RIGHT) ? DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"double", "non-nullable", "single">, Q> : "long" extends (LEFT | RIGHT) ? DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"long", "non-nullable", "single">, Q> : DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"integer", "non-nullable", "single">, Q>;
|
|
954
|
+
type ReturnTypeForDatetimeMethod<Q extends ObjectOrInterfaceDefinition, LEFT extends WirePropertyTypes, RIGHT extends WirePropertyTypes> = "timestamp" extends (LEFT | RIGHT) ? DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"timestamp", "non-nullable", "single">, Q> : DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"datetime", "non-nullable", "single">, Q>;
|
|
955
|
+
type ExtractWirePropertyTypeFromNumericArg<Q extends ObjectOrInterfaceDefinition, ARG extends NumericExpressionArg<Q>> = ARG extends number ? "double" : ARG extends DerivedProperty.NumericPropertyDefinition<infer T, Q> ? T extends SimplePropertyDef ? SimplePropertyDef.ExtractWirePropertyType<T> : never : ARG extends PropertyKeys.Filtered<Q, WithPropertiesNumerics> ? NonNullable<CompileTimeMetadata<Q>["properties"][ARG]["type"]> : never;
|
|
956
|
+
type NumericExpressions<Q extends ObjectOrInterfaceDefinition, LEFT_PROPERTY_TYPE extends SimplePropertyDef> = {
|
|
957
|
+
readonly add: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
|
|
958
|
+
readonly subtract: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
|
|
959
|
+
readonly multiply: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
|
|
960
|
+
readonly divide: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
|
|
961
|
+
readonly abs: () => DerivedProperty.NumericPropertyDefinition<LEFT_PROPERTY_TYPE, Q>;
|
|
962
|
+
readonly negate: () => DerivedProperty.NumericPropertyDefinition<LEFT_PROPERTY_TYPE, Q>;
|
|
963
|
+
readonly max: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
|
|
964
|
+
readonly min: <A extends NumericExpressionArg<Q>>(value: A) => ReturnTypeForNumericMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractWirePropertyTypeFromNumericArg<Q, A>>;
|
|
965
|
+
};
|
|
966
|
+
type DatetimeExpressionArg<Q extends ObjectOrInterfaceDefinition> = DerivedProperty.DatetimePropertyDefinition<any, Q>;
|
|
967
|
+
type ExtractPropertyTypeFromDatetimeArg<Q extends ObjectOrInterfaceDefinition, ARG extends DatetimeExpressionArg<Q>> = ARG extends DerivedProperty.DatetimePropertyDefinition<infer T, Q> ? T extends SimplePropertyDef ? SimplePropertyDef.ExtractWirePropertyType<T> : never : ARG extends PropertyKeys.Filtered<Q, WithPropertiesDatetime> ? NonNullable<CompileTimeMetadata<Q>["properties"][ARG]["type"]> : never;
|
|
968
|
+
type DatetimeExpressions<Q extends ObjectOrInterfaceDefinition, LEFT_PROPERTY_TYPE extends SimplePropertyDef> = {
|
|
969
|
+
readonly min: <A extends DatetimeExpressionArg<Q>>(value: A) => ReturnTypeForDatetimeMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractPropertyTypeFromDatetimeArg<Q, A>>;
|
|
970
|
+
readonly max: (value: DatetimeExpressionArg<Q>) => ReturnTypeForDatetimeMethod<Q, SimplePropertyDef.ExtractWirePropertyType<LEFT_PROPERTY_TYPE>, ExtractPropertyTypeFromDatetimeArg<Q, typeof value>>;
|
|
971
|
+
readonly extractPart: (value: DerivedProperty.ValidParts) => DerivedProperty.Definition<SimplePropertyDef.Make<"string", "non-nullable", "single">, Q>;
|
|
972
|
+
};
|
|
973
|
+
|
|
900
974
|
declare namespace DerivedProperty {
|
|
901
|
-
|
|
975
|
+
export interface Definition<T extends SimplePropertyDef, Q extends ObjectOrInterfaceDefinition> {
|
|
902
976
|
type: T;
|
|
977
|
+
}
|
|
978
|
+
export interface NumericPropertyDefinition<T extends SimplePropertyDef, Q extends ObjectOrInterfaceDefinition> extends Definition<T, Q>, NumericExpressions<Q, T> {
|
|
979
|
+
}
|
|
980
|
+
export interface DatetimePropertyDefinition<T extends SimplePropertyDef, Q extends ObjectOrInterfaceDefinition> extends Definition<T, Q>, DatetimeExpressions<Q, T> {
|
|
981
|
+
}
|
|
982
|
+
export type Clause<Q extends ObjectOrInterfaceDefinition> = {
|
|
983
|
+
[key: string]: Creator<Q, SimplePropertyDef>;
|
|
903
984
|
};
|
|
904
|
-
type
|
|
905
|
-
|
|
906
|
-
};
|
|
907
|
-
type Selector<Q extends ObjectOrInterfaceDefinition, T extends SimplePropertyDef> = (baseObjectSet: DerivedProperty.Builder<Q, false>) => SelectorResult<T>;
|
|
908
|
-
interface Builder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends Filterable<Q, CONSTRAINED>, Pivotable<Q, CONSTRAINED> {
|
|
985
|
+
export type Creator<Q extends ObjectOrInterfaceDefinition, T extends SimplePropertyDef> = (baseObjectSet: Builder<Q, false>) => Definition<T, Q> | NumericPropertyDefinition<T, Q> | DatetimePropertyDefinition<T, Q>;
|
|
986
|
+
interface BaseBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends Filterable<Q, CONSTRAINED>, Pivotable<Q, CONSTRAINED> {
|
|
909
987
|
}
|
|
910
|
-
interface
|
|
988
|
+
export interface Builder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends BaseBuilder<Q, CONSTRAINED>, Selectable<Q>, Constant<Q> {
|
|
911
989
|
}
|
|
912
|
-
interface
|
|
990
|
+
export interface AggregateBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends BaseBuilder<Q, CONSTRAINED>, Aggregatable<Q> {
|
|
913
991
|
}
|
|
992
|
+
export interface SelectPropertyBuilder<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> extends AggregateBuilder<Q, CONSTRAINED>, Selectable<Q> {
|
|
993
|
+
}
|
|
994
|
+
export type ValidParts = "DAYS" | "MONTHS" | "QUARTERS" | "YEARS";
|
|
995
|
+
export { };
|
|
914
996
|
}
|
|
915
997
|
type BuilderTypeFromConstraint<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> = CONSTRAINED extends true ? DerivedProperty.AggregateBuilder<Q, true> : DerivedProperty.SelectPropertyBuilder<Q, false>;
|
|
916
998
|
type Filterable<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> = {
|
|
@@ -919,15 +1001,24 @@ type Filterable<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boole
|
|
|
919
1001
|
type Pivotable<Q extends ObjectOrInterfaceDefinition, CONSTRAINED extends boolean> = {
|
|
920
1002
|
readonly pivotTo: <L extends LinkNames<Q>>(type: L) => CONSTRAINED extends true ? DerivedProperty.AggregateBuilder<LinkedType<Q, L>, true> : NonNullable<CompileTimeMetadata<Q>["links"][L]["multiplicity"]> extends true ? DerivedProperty.AggregateBuilder<LinkedType<Q, L>, true> : DerivedProperty.SelectPropertyBuilder<LinkedType<Q, L>, false>;
|
|
921
1003
|
};
|
|
1004
|
+
type Constant<Q extends ObjectOrInterfaceDefinition> = {
|
|
1005
|
+
readonly constant: {
|
|
1006
|
+
readonly double: (value: number) => DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"double", "non-nullable", "single">, Q>;
|
|
1007
|
+
readonly integer: (value: number) => DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"integer", "non-nullable", "single">, Q>;
|
|
1008
|
+
readonly long: (value: string) => DerivedProperty.NumericPropertyDefinition<SimplePropertyDef.Make<"long", "non-nullable", "single">, Q>;
|
|
1009
|
+
readonly datetime: (value: string) => DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"datetime", "non-nullable", "single">, Q>;
|
|
1010
|
+
readonly timestamp: (value: string) => DerivedProperty.DatetimePropertyDefinition<SimplePropertyDef.Make<"timestamp", "non-nullable", "single">, Q>;
|
|
1011
|
+
};
|
|
1012
|
+
};
|
|
922
1013
|
type Aggregatable<Q extends ObjectOrInterfaceDefinition> = {
|
|
923
1014
|
readonly aggregate: <V extends ValidAggregationKeys<Q, "withPropertiesAggregate">>(aggregationSpecifier: V, opts?: V extends `${any}:${infer P}` ? P extends CollectWithPropAggregations ? {
|
|
924
1015
|
limit: number;
|
|
925
1016
|
} : P extends "approximatePercentile" ? {
|
|
926
1017
|
percentile: number;
|
|
927
|
-
} : never : never) =>
|
|
1018
|
+
} : never : never) => DefinitionForType<Q, V extends `${infer N}:${infer P}` ? P extends CollectWithPropAggregations ? SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][N]["type"], "nullable", "array"> : P extends MinMaxWithPropAggregateOption ? SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][N]["type"], "nullable", "single"> : P extends "approximateDistinct" | "exactDistinct" ? SimplePropertyDef.Make<"integer", "non-nullable", "single"> : SimplePropertyDef.Make<"double", "nullable", "single"> : V extends "$count" ? SimplePropertyDef.Make<"integer", "non-nullable", "single"> : never>;
|
|
928
1019
|
};
|
|
929
1020
|
type Selectable<Q extends ObjectOrInterfaceDefinition> = {
|
|
930
|
-
readonly selectProperty: <R extends PropertyKeys<Q>>(propertyName: R) =>
|
|
1021
|
+
readonly selectProperty: <R extends PropertyKeys<Q>>(propertyName: R) => DefinitionForType<Q, SimplePropertyDef.Make<CompileTimeMetadata<Q>["properties"][R]["type"], CompileTimeMetadata<Q>["properties"][R]["nullable"] extends true ? "nullable" : "non-nullable", CompileTimeMetadata<Q>["properties"][R]["multiplicity"] extends true ? "array" : "single">>;
|
|
931
1022
|
};
|
|
932
1023
|
|
|
933
1024
|
interface BaseObjectSet<Q extends ObjectOrInterfaceDefinition> {
|
|
@@ -974,11 +1065,29 @@ type ObjectUpdate<O extends ObjectOrInterfaceDefinition, P extends PropertyKeys<
|
|
|
974
1065
|
state: "ADDED_OR_UPDATED" | "REMOVED";
|
|
975
1066
|
};
|
|
976
1067
|
|
|
977
|
-
type MergeObjectSet<Q extends ObjectOrInterfaceDefinition, D extends
|
|
978
|
-
type ExtractRdp<D extends
|
|
1068
|
+
type MergeObjectSet<Q extends ObjectOrInterfaceDefinition, D extends Record<string, SimplePropertyDef> = {}> = DerivedObjectOrInterfaceDefinition.WithDerivedProperties<Q, D>;
|
|
1069
|
+
type ExtractRdp<D extends BaseObjectSet<any> | Record<string, SimplePropertyDef>> = [D] extends [never] ? {} : D extends BaseObjectSet<any> ? {} : D extends Record<string, SimplePropertyDef> ? D : {};
|
|
1070
|
+
type MaybeSimplifyPropertyKeys<Q extends ObjectOrInterfaceDefinition, L extends PropertyKeys<Q>> = PropertyKeys<Q> extends L ? PropertyKeys<Q> : L;
|
|
1071
|
+
type SubSelectKeysHelper<Q extends ObjectOrInterfaceDefinition, L extends string> = [L] extends [never] ? PropertyKeys<Q> : PropertyKeys<Q> extends L ? PropertyKeys<Q> : L & PropertyKeys<Q>;
|
|
1072
|
+
type SubSelectKeys<Q extends ObjectOrInterfaceDefinition, X extends SelectArg<Q, PropertyKeys<Q>, any, any> = never> = SubSelectKeysHelper<Q, Extract$Select<X>>;
|
|
1073
|
+
type NOOP<T> = T extends (...args: any[]) => any ? T : T extends abstract new (...args: any[]) => any ? T : {
|
|
1074
|
+
[K in keyof T]: T[K];
|
|
1075
|
+
};
|
|
1076
|
+
type SubSelectRDPsHelper<X extends ValidFetchPageArgs<any, any> | ValidAsyncIterArgs<any, any>, DEFAULT extends string> = [X] extends [never] ? DEFAULT : (X["$select"] & string[])[number] & DEFAULT;
|
|
1077
|
+
type SubSelectRDPs<RDPs extends Record<string, SimplePropertyDef>, X extends ValidFetchPageArgs<any, RDPs> | ValidAsyncIterArgs<any, RDPs>> = [RDPs] extends [never] ? never : NOOP<{
|
|
1078
|
+
[K in SubSelectRDPsHelper<X, string & keyof RDPs>]: RDPs[K];
|
|
1079
|
+
}>;
|
|
979
1080
|
interface MinimalObjectSet<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> extends BaseObjectSet<Q>, FetchPage<Q, RDPs>, AsyncIter<Q, RDPs>, Where<Q, RDPs> {
|
|
980
1081
|
}
|
|
1082
|
+
type ExtractOptions2<X extends FetchPageArgs<any, any, any, any, any, any, any>> = [X] extends [never] ? never : ExtractRidOption<X["$includeRid"] extends true ? true : false> | ExtractAllPropertiesOption<X["$includeAllBaseObjectProperties"] extends true ? true : false>;
|
|
1083
|
+
type Extract$Select<X extends FetchPageArgs<any, any>> = NonNullable<X["$select"]>[number];
|
|
981
1084
|
interface FetchPage<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
1085
|
+
readonly fetchPage: FetchPageSignature<Q, RDPs>;
|
|
1086
|
+
readonly fetchPageWithErrors: FetchPageWithErrorsSignature<Q, RDPs>;
|
|
1087
|
+
}
|
|
1088
|
+
type ValidFetchPageArgs<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> = ObjectSetArgs.FetchPage<Q, PropertyKeys<Q>, false, string & keyof RDPs> | ObjectSetArgs.FetchPage<Q, never, true, string & keyof RDPs>;
|
|
1089
|
+
type ValidAsyncIterArgs<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> = ObjectSetArgs.AsyncIter<Q, PropertyKeys<Q>, false, string & keyof RDPs> | AsyncIterArgs<Q, never, any, any, any, true, string & keyof RDPs>;
|
|
1090
|
+
interface FetchPageSignature<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
982
1091
|
/**
|
|
983
1092
|
* Gets a page of objects of this type, with a result wrapper
|
|
984
1093
|
* @param args - Args to specify next page token and page size, if applicable
|
|
@@ -991,9 +1100,22 @@ interface FetchPage<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<s
|
|
|
991
1100
|
|
|
992
1101
|
* @returns a page of objects
|
|
993
1102
|
*/
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
1103
|
+
<const X extends ValidFetchPageArgs<Q, RDPs> = never>(args?: X): Promise<PageResult<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>>;
|
|
1104
|
+
/**
|
|
1105
|
+
* Gets a page of objects of this type, with a result wrapper
|
|
1106
|
+
* @param args - Args to specify next page token and page size, if applicable
|
|
1107
|
+
* @example
|
|
1108
|
+
* const myObjs = await objectSet.fetchPage({
|
|
1109
|
+
$pageSize: 10,
|
|
1110
|
+
$nextPageToken: "nextPage"
|
|
1111
|
+
});
|
|
1112
|
+
const myObjsResult = myObjs.data;
|
|
1113
|
+
|
|
1114
|
+
* @returns a page of objects
|
|
1115
|
+
*/
|
|
1116
|
+
<L extends PropertyKeys<Q>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false>(args?: FetchPageArgs<Q, L, R, A, S, T>): Promise<PageResult<Osdk.Instance<Q, ExtractOptions<R, S, T>, MaybeSimplifyPropertyKeys<Q, L>>>>;
|
|
1117
|
+
}
|
|
1118
|
+
interface FetchPageWithErrorsSignature<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
997
1119
|
/**
|
|
998
1120
|
* Gets a page of objects of this type, with a result wrapper
|
|
999
1121
|
* @param args - Args to specify next page token and page size, if applicable
|
|
@@ -1008,9 +1130,22 @@ interface FetchPage<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<s
|
|
|
1008
1130
|
}
|
|
1009
1131
|
* @returns a page of objects, wrapped in a result wrapper
|
|
1010
1132
|
*/
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1133
|
+
<X extends ValidFetchPageArgs<Q, RDPs> = never>(args?: X): Promise<Result<PageResult<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>>>;
|
|
1134
|
+
/**
|
|
1135
|
+
* Gets a page of objects of this type, with a result wrapper
|
|
1136
|
+
* @param args - Args to specify next page token and page size, if applicable
|
|
1137
|
+
* @example
|
|
1138
|
+
* const myObjs = await objectSet.fetchPage({
|
|
1139
|
+
$pageSize: 10,
|
|
1140
|
+
$nextPageToken: "nextPage"
|
|
1141
|
+
});
|
|
1142
|
+
|
|
1143
|
+
if(isOk(myObjs)){
|
|
1144
|
+
const myObjsResult = myObjs.value.data;
|
|
1145
|
+
}
|
|
1146
|
+
* @returns a page of objects, wrapped in a result wrapper
|
|
1147
|
+
*/
|
|
1148
|
+
<L extends PropertyKeys<Q>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false>(args?: FetchPageArgs<Q, L, R, A, S, T>): Promise<Result<PageResult<Osdk.Instance<Q, ExtractOptions<R, S, T>, MaybeSimplifyPropertyKeys<Q, L>>>>>;
|
|
1014
1149
|
}
|
|
1015
1150
|
interface Where<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
1016
1151
|
/**
|
|
@@ -1025,7 +1160,16 @@ interface Where<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<strin
|
|
|
1025
1160
|
*/
|
|
1026
1161
|
readonly where: (clause: WhereClause<MergeObjectSet<Q, RDPs>>) => this;
|
|
1027
1162
|
}
|
|
1028
|
-
interface
|
|
1163
|
+
interface AsyncIterSignature<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
1164
|
+
/**
|
|
1165
|
+
* Returns an async iterator to load all objects of this type
|
|
1166
|
+
* @example
|
|
1167
|
+
* for await (const obj of myObjectSet.asyncIter()){
|
|
1168
|
+
* // Handle obj
|
|
1169
|
+
* }
|
|
1170
|
+
* @returns an async iterator to load all objects
|
|
1171
|
+
*/
|
|
1172
|
+
<X extends ValidAsyncIterArgs<Q, RDPs> = never>(args?: X): AsyncIterableIterator<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>;
|
|
1029
1173
|
/**
|
|
1030
1174
|
* Returns an async iterator to load all objects of this type
|
|
1031
1175
|
* @example
|
|
@@ -1034,18 +1178,19 @@ interface AsyncIter<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<s
|
|
|
1034
1178
|
* }
|
|
1035
1179
|
* @returns an async iterator to load all objects
|
|
1036
1180
|
*/
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1181
|
+
<L extends PropertyKeys<Q>, R extends boolean, const A extends Augments, S extends NullabilityAdherence = NullabilityAdherence.Default, T extends boolean = false>(args?: AsyncIterArgs<Q, L, R, A, S, T>): AsyncIterableIterator<Osdk.Instance<Q, ExtractOptions<R, S, T>, MaybeSimplifyPropertyKeys<Q, L>>>;
|
|
1182
|
+
}
|
|
1183
|
+
interface AsyncIter<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
1184
|
+
asyncIter: AsyncIterSignature<Q, RDPs>;
|
|
1040
1185
|
}
|
|
1041
1186
|
interface WithProperties<Q extends ObjectOrInterfaceDefinition = any, RDPs extends Record<string, SimplePropertyDef> = {}> {
|
|
1042
1187
|
readonly withProperties: <NEW extends Record<string, SimplePropertyDef>>(clause: {
|
|
1043
|
-
[K in keyof NEW]: DerivedProperty.
|
|
1188
|
+
[K in keyof NEW]: DerivedProperty.Creator<Q, NEW[K]>;
|
|
1044
1189
|
}) => ObjectSet<Q, {
|
|
1045
1190
|
[NN in keyof NEW | keyof RDPs]: NN extends keyof NEW ? NEW[NN] : NN extends keyof RDPs ? RDPs[NN] : never;
|
|
1046
1191
|
}>;
|
|
1047
1192
|
}
|
|
1048
|
-
interface ObjectSet<Q extends ObjectOrInterfaceDefinition = any, UNUSED_OR_RDP extends
|
|
1193
|
+
interface ObjectSet<Q extends ObjectOrInterfaceDefinition = any, UNUSED_OR_RDP extends BaseObjectSet<Q> | Record<string, SimplePropertyDef> = never> extends ObjectSetCleanedTypes<Q, ExtractRdp<UNUSED_OR_RDP>, MergeObjectSet<Q, ExtractRdp<UNUSED_OR_RDP>>> {
|
|
1049
1194
|
}
|
|
1050
1195
|
interface Aggregate<Q extends ObjectOrInterfaceDefinition> {
|
|
1051
1196
|
/**
|
|
@@ -1111,21 +1256,31 @@ interface PivotTo<Q extends ObjectOrInterfaceDefinition> {
|
|
|
1111
1256
|
* @param type - The linked object type you want to pivot to
|
|
1112
1257
|
* @returns an object set of the specified linked type
|
|
1113
1258
|
*/
|
|
1114
|
-
readonly pivotTo: <L extends LinkNames<Q>>(type: L) =>
|
|
1259
|
+
readonly pivotTo: <L extends LinkNames<Q>>(type: L) => ObjectSet<LinkedType<Q, L>>;
|
|
1115
1260
|
}
|
|
1116
|
-
interface
|
|
1261
|
+
interface FetchOneSignature<Q extends ObjectTypeDefinition, RDPs extends Record<string, SimplePropertyDef>> {
|
|
1117
1262
|
/**
|
|
1118
1263
|
* Fetches one object with the specified primary key, without a result wrapper
|
|
1119
1264
|
*/
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1265
|
+
<X extends ObjectSetArgs.Select<PropertyKeys<Q>, string & keyof RDPs> = never>(primaryKey: PrimaryKeyType<Q>, options?: X): Promise<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>;
|
|
1266
|
+
/**
|
|
1267
|
+
* Fetches one object with the specified primary key, without a result wrapper
|
|
1268
|
+
*/
|
|
1269
|
+
<const L extends PropertyKeys<Q>, const R extends boolean, const S extends false | "throw" = NullabilityAdherence.Default>(primaryKey: PrimaryKeyType<Q>, options?: SelectArg<Q, L, R, S>): Promise<Osdk.Instance<Q, ExtractOptions<R, S>, MaybeSimplifyPropertyKeys<Q, L>>>;
|
|
1270
|
+
}
|
|
1271
|
+
interface FetchOneWithErrorsSignature<Q extends ObjectTypeDefinition, RDPs extends Record<string, SimplePropertyDef>> {
|
|
1123
1272
|
/**
|
|
1124
1273
|
* Fetches one object with the specified primary key, with a result wrapper
|
|
1125
1274
|
*/
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1275
|
+
<X extends ObjectSetArgs.Select<PropertyKeys<Q>, string & keyof RDPs>>(primaryKey: PrimaryKeyType<Q>, options?: X): Promise<Result<Osdk.Instance<Q, ExtractOptions2<X>, SubSelectKeys<Q, X>, SubSelectRDPs<RDPs, X>>>>;
|
|
1276
|
+
/**
|
|
1277
|
+
* Fetches one object with the specified primary key, with a result wrapper
|
|
1278
|
+
*/
|
|
1279
|
+
<const L extends PropertyKeys<Q>, const R extends boolean, const S extends false | "throw" = NullabilityAdherence.Default>(primaryKey: PrimaryKeyType<Q>, options?: SelectArg<Q, L, R, S>): Promise<Result<Osdk.Instance<Q, ExtractOptions<R, S>, MaybeSimplifyPropertyKeys<Q, L>>>>;
|
|
1280
|
+
}
|
|
1281
|
+
interface FetchOne<Q extends ObjectOrInterfaceDefinition, RDPs extends Record<string, SimplePropertyDef>> {
|
|
1282
|
+
fetchOne: Q extends ObjectTypeDefinition ? FetchOneSignature<Q, RDPs> : never;
|
|
1283
|
+
fetchOneWithErrors: Q extends ObjectTypeDefinition ? FetchOneWithErrorsSignature<Q, RDPs> : never;
|
|
1129
1284
|
}
|
|
1130
1285
|
interface Subscribe<Q extends ObjectOrInterfaceDefinition> {
|
|
1131
1286
|
/**
|
|
@@ -1138,7 +1293,7 @@ interface Subscribe<Q extends ObjectOrInterfaceDefinition> {
|
|
|
1138
1293
|
unsubscribe: () => void;
|
|
1139
1294
|
};
|
|
1140
1295
|
}
|
|
1141
|
-
interface ObjectSetCleanedTypes<Q extends ObjectOrInterfaceDefinition, D extends Record<string, SimplePropertyDef>, MERGED extends ObjectOrInterfaceDefinition> extends MinimalObjectSet<Q, D>, WithProperties<Q, D>, Aggregate<MERGED>, SetArithmetic<MERGED>, PivotTo<
|
|
1296
|
+
interface ObjectSetCleanedTypes<Q extends ObjectOrInterfaceDefinition, D extends Record<string, SimplePropertyDef>, MERGED extends ObjectOrInterfaceDefinition & Q> extends MinimalObjectSet<Q, D>, WithProperties<Q, D>, Aggregate<MERGED>, SetArithmetic<MERGED>, PivotTo<Q>, FetchOne<Q, D>, Subscribe<MERGED> {
|
|
1142
1297
|
}
|
|
1143
1298
|
|
|
1144
|
-
export { type
|
|
1299
|
+
export { type ObjectSpecifier as $, type AttachmentUpload as A, type SelectArg as B, type CompileTimeMetadata as C, DistanceUnitMapping as D, type SelectArgToKeys as E, type FetchPageArgs as F, type GeoFilterOptions as G, type FetchPageResult as H, type InterfaceDefinition as I, type SingleOsdkResult as J, type Media as K, type MediaMetadata as L, type MediaReference as M, NullabilityAdherence as N, type ObjectTypeDefinition as O, type PropertyValueWireToClient as P, isOk as Q, type ReleaseStatus as R, type SingleLinkAccessor as S, type Result as T, type BaseObjectSet as U, type ValidAggregationKeys as V, type WhereClause as W, ObjectSetSubscription as X, type InterfaceMetadata as Y, type ObjectOrInterfaceDefinition as Z, PropertyKeys as _, type Attachment as a, ObjectMetadata as a0, type PropertyDef as a1, type VersionBound as a2, type BaseWirePropertyTypes as a3, type WirePropertyTypes as a4, type PrimaryKeyType as a5, type ConvertProps as a6, Osdk as a7, type PageResult as a8, TimeseriesDurationMapping as a9, type GeotimeSeriesProperty as aa, type TimeSeriesPoint as ab, type TimeSeriesProperty as ac, type TimeSeriesQuery as ad, type LinkedType as ae, type LinkNames as af, type ExtractOptions as ag, type MinimalObjectSet as ah, type OsdkBase as b, type OsdkObjectPrimaryKeyType as c, type ObjectSet as d, type OsdkMetadata as e, type PrimaryKeyTypes as f, type OsdkBaseWithObjectSpecifier as g, type AggregateOpts as h, type AggregateOptsThatErrorsAndDisallowsOrderingWithMultipleGroupBy as i, type AggregationResultsWithGroups as j, type AggregationResultsWithoutGroups as k, type AggregationClause as l, type AggregationsResults as m, type GeoFilter_Intersects as n, type GeoFilter_Within as o, type PossibleWhereClauseFilters as p, type OsdkObjectPropertyType as q, type OsdkObjectLinksObject as r, DerivedProperty as s, DurationMapping as t, type AllGroupByValues as u, type GroupByClause as v, type GroupByRange as w, type AsyncIterArgs as x, type Augment as y, type Augments as z };
|