@codecks/fetch 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -32
- package/dist/_exploration/api-requester.d.ts +3 -4
- package/dist/_exploration/api-requester.js +2 -2
- package/dist/_exploration/create-hooks.d.ts +4313 -13097
- package/dist/_exploration/create-hooks.js +1 -1
- package/dist/_exploration/loader.d.ts +2 -2
- package/dist/_exploration/loader.js +1 -1
- package/dist/_exploration/store.d.ts +5 -4
- package/dist/_exploration/store.js +1 -1
- package/dist/{collection-utils-T3bx0BS1.js → collection-utils-Ia_ahcpI.js} +4 -2
- package/dist/index-g5c30upI.d.ts +39 -0
- package/dist/index.d.ts +4 -19
- package/dist/index.js +26 -15
- package/dist/{loader-types-fd5tV0FD.d.ts → loader-types-D2Pf8qzH.d.ts} +1 -1
- package/dist/loader-utils-BZWanWDZ.d.ts +2218 -0
- package/dist/query-helpers-DndWBcMF.js +1203 -0
- package/dist/{query-type-BqQ9oX_U.d.ts → query-type-DPNcQFpZ.d.ts} +27 -13
- package/dist/store-ztk8y6Pm.d.ts +1203 -0
- package/package.json +2 -1
- package/schema/actions.md +789 -0
- package/schema/models/account.md +57 -90
- package/schema/models/attachment.md +15 -11
- package/schema/models/card.md +91 -65
- package/schema/models/cardHistory.md +15 -9
- package/schema/models/deck.md +41 -36
- package/schema/models/file.md +13 -15
- package/schema/models/handCard.md +8 -5
- package/schema/models/milestone.md +27 -22
- package/schema/models/milestoneProgress.md +9 -3
- package/schema/models/milestoneProject.md +6 -4
- package/schema/models/project.md +15 -39
- package/schema/models/projectTag.md +12 -7
- package/schema/models/queueEntry.md +12 -8
- package/schema/models/release.md +8 -6
- package/schema/models/resolvable.md +19 -15
- package/schema/models/resolvableEntry.md +16 -13
- package/schema/models/resolvableEntryReaction.md +16 -12
- package/schema/models/sprint.md +35 -25
- package/schema/models/sprintConfig.md +24 -20
- package/schema/models/sprintConfigProgress.md +9 -3
- package/schema/models/sprintProgress.md +9 -3
- package/schema/models/sprintProject.md +7 -5
- package/schema/models/user.md +15 -56
- package/schema/models/workflowItem.md +47 -31
- package/schema/overview.md +40 -93
- package/schema/query-syntax.md +1 -1
- package/schema/types.md +103 -0
- package/dist/_root-BW9uzB79.d.ts +0 -34
- package/dist/index-k-KPWV9R.d.ts +0 -2680
- package/dist/loader-utils-hvdC-xsQ.d.ts +0 -42
- package/dist/query-helpers-iX1fiqLv.js +0 -3062
- package/dist/store-BvEJzUVp.d.ts +0 -2667
- package/schema/models/accountOnboarding.md +0 -15
- package/schema/models/accountOnboardingStep.md +0 -14
- package/schema/models/accountRole.md +0 -19
- package/schema/models/accountUserAchievement.md +0 -17
- package/schema/models/accountUserSetting.md +0 -20
- package/schema/models/activeTimeTracker.md +0 -19
- package/schema/models/activity.md +0 -30
- package/schema/models/affiliateCode.md +0 -30
- package/schema/models/affiliateCodeStat.md +0 -19
- package/schema/models/app.md +0 -10
- package/schema/models/appInstallation.md +0 -19
- package/schema/models/assigneeAssignment.md +0 -18
- package/schema/models/assigneeDeckAssignment.md +0 -20
- package/schema/models/autoFinishedTimeTrackingSegment.md +0 -20
- package/schema/models/cardDiffNotification.md +0 -22
- package/schema/models/cardOrder.md +0 -17
- package/schema/models/cardOrderInDeck.md +0 -18
- package/schema/models/cardPreset.md +0 -19
- package/schema/models/cardSubscription.md +0 -19
- package/schema/models/cardUpvote.md +0 -21
- package/schema/models/cardsEffortHistory.md +0 -9
- package/schema/models/cardsFinishedHistory.md +0 -16
- package/schema/models/cardsStatusHistory.md +0 -9
- package/schema/models/cardsTimeToFinished.md +0 -18
- package/schema/models/dailyDiscordGuildVoteMembership.md +0 -15
- package/schema/models/dailyPublicProjectMembership.md +0 -15
- package/schema/models/deckAssignment.md +0 -18
- package/schema/models/deckGuardian.md +0 -17
- package/schema/models/deckSubscription.md +0 -18
- package/schema/models/discordGuild.md +0 -30
- package/schema/models/discordMember.md +0 -21
- package/schema/models/discordProjectNotification.md +0 -19
- package/schema/models/discordSlashCommand.md +0 -28
- package/schema/models/dueCard.md +0 -18
- package/schema/models/integration.md +0 -23
- package/schema/models/invoice.md +0 -21
- package/schema/models/lastSeenCardUpvote.md +0 -17
- package/schema/models/pinnedMilestone.md +0 -22
- package/schema/models/projectOrder.md +0 -18
- package/schema/models/projectSelection.md +0 -18
- package/schema/models/projectUser.md +0 -18
- package/schema/models/projectUserSetting.md +0 -15
- package/schema/models/publicProjectInfo.md +0 -20
- package/schema/models/publicProjectMembership.md +0 -17
- package/schema/models/publicProjectVisit.md +0 -16
- package/schema/models/queueSelection.md +0 -19
- package/schema/models/resolvableEntryHistory.md +0 -20
- package/schema/models/resolvableNotification.md +0 -30
- package/schema/models/resolvableParticipant.md +0 -25
- package/schema/models/resolvableParticipantHistory.md +0 -23
- package/schema/models/savedSearch.md +0 -18
- package/schema/models/stripeAccountSync.md +0 -29
- package/schema/models/timeTrackingSegment.md +0 -24
- package/schema/models/timeTrackingSum.md +0 -18
- package/schema/models/userDismissedHint.md +0 -16
- package/schema/models/userEmail.md +0 -18
- package/schema/models/userInvitation.md +0 -20
- package/schema/models/userInviteCode.md +0 -23
- package/schema/models/userOnboarding.md +0 -14
- package/schema/models/userProjectAccess.md +0 -17
- package/schema/models/userReportEmail.md +0 -19
- package/schema/models/userReportSetting.md +0 -23
- package/schema/models/userReportToken.md +0 -18
- package/schema/models/userTag.md +0 -18
- package/schema/models/visionBoard.md +0 -21
- package/schema/models/visionBoardQuery.md +0 -22
- package/schema/models/wizard.md +0 -19
- package/schema/models/workflowItemHistory.md +0 -18
|
@@ -12,32 +12,47 @@ type TypedField<K extends string, X, Opts extends BaseOpts> = {
|
|
|
12
12
|
};
|
|
13
13
|
type BaseOpts = {
|
|
14
14
|
optional?: boolean;
|
|
15
|
-
};
|
|
15
|
+
} & TierOpts;
|
|
16
16
|
type FieldEntry = TypedField<string, any, any>;
|
|
17
17
|
type InferSimpleFieldEntry<T extends FieldEntry> = T extends TypedField<any, infer X, infer Opts> ? Opts extends {
|
|
18
18
|
optional: true;
|
|
19
19
|
} ? X | null : X : never;
|
|
20
20
|
//#endregion
|
|
21
21
|
//#region src/models/_desc.d.ts
|
|
22
|
+
/** What the Codecks API promises; the models only hold `stable` and `preview` items. */
|
|
23
|
+
type Stability = "stable" | "preview";
|
|
24
|
+
/** Dates are `YYYY-MM-DD`. `use` names what to read instead. */
|
|
25
|
+
type Deprecation = {
|
|
26
|
+
since: string;
|
|
27
|
+
removeAfter: string;
|
|
28
|
+
use?: string;
|
|
29
|
+
};
|
|
30
|
+
/** Left out for `stable` items that aren't deprecated. */
|
|
31
|
+
type TierOpts = {
|
|
32
|
+
stability?: Stability;
|
|
33
|
+
deprecated?: Deprecation;
|
|
34
|
+
};
|
|
22
35
|
type ModelDesc<TName extends string, TFields extends FieldDesc, TRelations extends RelationsDesc, TKey extends (keyof TFields & string)[]> = {
|
|
23
36
|
name: TName;
|
|
24
37
|
keys: TKey;
|
|
25
38
|
fields: TFields;
|
|
26
39
|
relations: TRelations;
|
|
27
|
-
};
|
|
40
|
+
} & TierOpts;
|
|
28
41
|
type AnyDesc = ModelDesc<any, any, any, any[]>;
|
|
29
42
|
type FieldDesc = Record<string, FieldEntry>;
|
|
43
|
+
/** Without an `fk` the relation is its own field, like `resolvable.closedBy`. */
|
|
30
44
|
type BelongsToOpts<TFk extends string> = {
|
|
31
45
|
type: "belongsTo";
|
|
32
|
-
fk
|
|
33
|
-
|
|
46
|
+
fk?: TFk;
|
|
47
|
+
optional?: boolean;
|
|
48
|
+
} & TierOpts;
|
|
34
49
|
type HasManyOpts = {
|
|
35
50
|
type: "hasMany";
|
|
36
51
|
fkAsArray?: boolean;
|
|
37
|
-
};
|
|
52
|
+
} & TierOpts;
|
|
38
53
|
type HasOneOpts = {
|
|
39
54
|
type: "hasOne";
|
|
40
|
-
};
|
|
55
|
+
} & TierOpts;
|
|
41
56
|
type RelationOpts = BelongsToOpts<any> | HasManyOpts | HasOneOpts;
|
|
42
57
|
type RelationEntry<TRelName extends string, TOpts extends RelationOpts> = {
|
|
43
58
|
relName: TRelName;
|
|
@@ -180,12 +195,11 @@ type RelQueryEntry<T extends AnyDesc, TMap extends ModelMap, K extends keyof T["
|
|
|
180
195
|
type RelQuery<T extends AnyDesc, TMap extends ModelMap> = { [K in keyof T["relations"]]?: RelQueryEntry<T, TMap, K> };
|
|
181
196
|
type EnsureModelQuery<T> = T extends ModelQuery<any, any> ? T : never;
|
|
182
197
|
type EnsureHasManyQuery<T> = T extends AbstractHasManyQuery ? T : never;
|
|
183
|
-
type EnrichBelongsTo<M extends AnyDesc, TMap extends ModelMap> = FilterNeverKeys<{ [K in keyof M["relations"]]: M["relations"][K] extends RelationEntry<any, infer Opts> ? Opts extends BelongsToOpts<
|
|
198
|
+
type EnrichBelongsTo<M extends AnyDesc, TMap extends ModelMap> = FilterNeverKeys<{ [K in keyof M["relations"]]: M["relations"][K] extends RelationEntry<any, infer Opts> ? Opts extends BelongsToOpts<any> ? {
|
|
184
199
|
model: TMap[M["relations"][K]["relName"]];
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
} & FieldOpts : never;
|
|
200
|
+
optional: Opts extends {
|
|
201
|
+
optional: true;
|
|
202
|
+
} ? true : false;
|
|
189
203
|
} : never : never }>;
|
|
190
204
|
type ExtractHasMany<M extends AnyDesc, TMap extends ModelMap> = FilterNeverKeys<{ [K in keyof M["relations"]]: M["relations"][K] extends RelationEntry<infer RelName, infer Opts> ? Opts extends {
|
|
191
205
|
type: "hasMany";
|
|
@@ -200,7 +214,7 @@ type ExtractHasOne<M extends AnyDesc, TMap extends ModelMap> = FilterNeverKeys<{
|
|
|
200
214
|
}> ? {
|
|
201
215
|
model: TMap[RelName];
|
|
202
216
|
} : never }>;
|
|
203
|
-
type InferModelQuery<M extends AnyDesc, Q extends ModelQuery<M, TMap>, TMap extends ModelMap> = (Q["fields"] extends (keyof M["fields"])[] ? { [K in Q["fields"][number]]: InferFieldType<M["fields"][K]> } : {}) & (Q["relations"] extends RelQuery<M, TMap> ? InferRelQuery<M, Q["relations"], TMap> : {}) & { [K in M["keys"][number] & string]: InferFieldType<M["fields"][K]> } & {
|
|
217
|
+
type InferModelQuery<M extends AnyDesc, Q extends ModelQuery<M, TMap>, TMap extends ModelMap> = (Q["fields"] extends (keyof M["fields"])[] ? { [K in keyof M["fields"] as K extends Q["fields"][number] ? K : never]: InferFieldType<M["fields"][K]> } : {}) & (Q["relations"] extends RelQuery<M, TMap> ? InferRelQuery<M, Q["relations"], TMap> : {}) & { [K in M["keys"][number] & string]: InferFieldType<M["fields"][K]> } & {
|
|
204
218
|
"~model": M["name"];
|
|
205
219
|
"~key": string;
|
|
206
220
|
};
|
|
@@ -214,7 +228,7 @@ type InferHasMany<M extends AnyDesc, TMap extends ModelMap, QM extends HasManyQu
|
|
|
214
228
|
} ? boolean : QM extends {
|
|
215
229
|
type: "first";
|
|
216
230
|
} ? InferModelQuery<M, EnsureModelQuery<QM>, TMap> | null : InferModelQuery<M, EnsureModelQuery<QM>, TMap>[];
|
|
217
|
-
type InferRelEntry<M extends AnyDesc, TMap extends ModelMap, Q extends RelQuery<any, any>, K extends keyof Q> = K extends keyof EnrichBelongsTo<M, TMap> ? IsOptional<InferModelQuery<EnrichBelongsTo<M, TMap>[K]["model"], EnsureModelQuery<Q[K]>, TMap>, EnrichBelongsTo<M, TMap>[K]["
|
|
231
|
+
type InferRelEntry<M extends AnyDesc, TMap extends ModelMap, Q extends RelQuery<any, any>, K extends keyof Q> = K extends keyof EnrichBelongsTo<M, TMap> ? IsOptional<InferModelQuery<EnrichBelongsTo<M, TMap>[K]["model"], EnsureModelQuery<Q[K]>, TMap>, EnrichBelongsTo<M, TMap>[K]["optional"]> : K extends keyof ExtractHasMany<M, TMap> ? InferHasMany<ExtractHasMany<M, TMap>[K]["model"], TMap, EnsureHasManyQuery<Q[K]>> : K extends keyof ExtractHasOne<M, TMap> ? InferModelQuery<ExtractHasOne<M, TMap>[K]["model"], EnsureModelQuery<Q[K]>, TMap> : never;
|
|
218
232
|
type InferKeyName<Q extends RelQuery<any, any>, K extends keyof Q> = Q[K] extends Array<any> ? never : Q[K] extends {
|
|
219
233
|
as: string;
|
|
220
234
|
} ? K extends keyof ExtractHasMany<any, any> ? Q[K]["as"] : K : K;
|