@carddb/client 0.4.6 → 0.5.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/dist/index.cjs +30 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +25 -1
- package/dist/index.d.ts +25 -1
- package/dist/index.js +30 -0
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _carddb_core from '@carddb/core';
|
|
2
|
-
import { Logger, LogLevel, Cache, ResourceType, CardDBConfig, RateLimitInfo, GraphQLErrorInfo, Collection, Publisher, Game, GameCreateInput, GameUpdateInput, GameScanRegion, Dataset, DatasetSchema, Deck, DeckReadState, DeckPublishedVersionSelector, ViewerDecksFilterInput, AppDecksFilterInput, PublicDecksFilterInput, DeckVersion, DeckDiff, DeckValidateInput, DeckValidation, DeckHydrateEntriesInput, DeckHydrateEntriesPayload, DeckExportFormat, DeckExportPayload, DeckSectionDefinition, DeckCollaborator, DeckAPIApplicationAccess, DeckCreateInput, DeckUpdateInput, DeckUpsertByExternalRefInput, DeckUpsertByExternalRefPayload, DeckClaimInput, DeckOwnershipTransferPayload, DeckTransferOwnershipInput, DeckCopyInput, DeckCopyPayload, DeckEntryAddInput, DeckEntryMutationPayload, DeckEntryUpdateInput, DeckEntryReorderInput, DeckEntryReorderPayload, DeckEntriesReplaceInput, DeckEntriesReplacePayload, DeckImportInput, DeckImportPayload, DeckImportFormatDefinition, DeckImportFormatTestInput, DeckImportFormatTestPayload, DeckImportFormatCreateInput, DeckImportFormatUpdateInput, DeckPublishInput, DeckPublishPayload, DeckRemoveInvalidEntriesInput, DeckCollaboratorRole, DeckTokenIssuerCreateInput, DeckTokenIssuer, DeckAPIApplicationAccessGrantInput, DeckTokenExchangeInput, DeckTokenExchangePayload, HydrateDeckEntryInput, HydratedDeckEntry, FilterInput, DatasetRecord, DatasetRecordsUpsertInput, DatasetRecordsUpsertPayload, DatasetRecordsDeleteInput, DatasetRecordDeleteJob, DatasetRecordDeleteJobStatus, Ruleset, RulesetVersionStatus, RulesetVersion, DeckValidationRules, RulesetVersionDraftImportFromDatasetRecordInput, RulesetVersionDraftImportPreview, RulesetValidationImpact, RulesetCreateInput, RulesetUpdateInput, RulesetVersionDraftCreateInput, RulesetVersionDraftUpdateInput, RulesetVersionPublishInput, DatasetImportPreviewInput, DatasetImportPreviewResult, DatasetImportValidateInput, BulkImportResult, DatasetImportRunInput, ImportJob, ImportJobStatus, ImportLogLevel, ImportJobLog, GameImportPreviewInput, GameImportPreview, GameImportRunInput, GameImportJob, DatasetExportInput, ExportJob, ExportJobStatus, File, FileUploadInput, PresignedUpload, UploadPurpose, CreateScanUploadSessionInput, ConfirmScanUploadInput, CreateScanJobInput, ScanJobPayload, ScanJob, SubmitScanFeedbackInput, ScanFeedbackPayload, ScanMetricsInput, ScanMetrics, ResolveScanTemplateInput, ScanTemplateResolution, ScanTemplatesInput, ScanTemplate, SaveScanTemplateInput, ScanTemplatePayload, PreviewScanTemplateInput, ScanTemplatePreview, APIKeyInfo } from '@carddb/core';
|
|
2
|
+
import { Logger, LogLevel, Cache, ResourceType, CardDBConfig, RateLimitInfo, GraphQLErrorInfo, Collection, Publisher, Game, GameCreateInput, GameUpdateInput, GameScanRegion, Dataset, DatasetSchema, DatasetFilterValueConnection, Deck, DeckReadState, DeckPublishedVersionSelector, ViewerDecksFilterInput, AppDecksFilterInput, PublicDecksFilterInput, DeckVersion, DeckDiff, DeckValidateInput, DeckValidation, DeckHydrateEntriesInput, DeckHydrateEntriesPayload, DeckExportFormat, DeckExportPayload, DeckSectionDefinition, DeckCollaborator, DeckAPIApplicationAccess, DeckCreateInput, DeckUpdateInput, DeckUpsertByExternalRefInput, DeckUpsertByExternalRefPayload, DeckClaimInput, DeckOwnershipTransferPayload, DeckTransferOwnershipInput, DeckCopyInput, DeckCopyPayload, DeckEntryAddInput, DeckEntryMutationPayload, DeckEntryUpdateInput, DeckEntryReorderInput, DeckEntryReorderPayload, DeckEntriesReplaceInput, DeckEntriesReplacePayload, DeckImportInput, DeckImportPayload, DeckImportFormatDefinition, DeckImportFormatTestInput, DeckImportFormatTestPayload, DeckImportFormatCreateInput, DeckImportFormatUpdateInput, DeckPublishInput, DeckPublishPayload, DeckRemoveInvalidEntriesInput, DeckCollaboratorRole, DeckTokenIssuerCreateInput, DeckTokenIssuer, DeckAPIApplicationAccessGrantInput, DeckTokenExchangeInput, DeckTokenExchangePayload, HydrateDeckEntryInput, HydratedDeckEntry, FilterInput, DatasetRecord, DatasetRecordsUpsertInput, DatasetRecordsUpsertPayload, DatasetRecordsDeleteInput, DatasetRecordDeleteJob, DatasetRecordDeleteJobStatus, Ruleset, RulesetVersionStatus, RulesetVersion, DeckValidationRules, RulesetVersionDraftImportFromDatasetRecordInput, RulesetVersionDraftImportPreview, RulesetValidationImpact, RulesetCreateInput, RulesetUpdateInput, RulesetVersionDraftCreateInput, RulesetVersionDraftUpdateInput, RulesetVersionPublishInput, DatasetImportPreviewInput, DatasetImportPreviewResult, DatasetImportValidateInput, BulkImportResult, DatasetImportRunInput, ImportJob, ImportJobStatus, ImportLogLevel, ImportJobLog, GameImportPreviewInput, GameImportPreview, GameImportRunInput, GameImportJob, DatasetExportInput, ExportJob, ExportJobStatus, File, FileUploadInput, PresignedUpload, UploadPurpose, CreateScanUploadSessionInput, ConfirmScanUploadInput, CreateScanJobInput, ScanJobPayload, ScanJob, SubmitScanFeedbackInput, ScanFeedbackPayload, ScanMetricsInput, ScanMetrics, ResolveScanTemplateInput, ScanTemplateResolution, ScanTemplatesInput, ScanTemplate, SaveScanTemplateInput, ScanTemplatePayload, PreviewScanTemplateInput, ScanTemplatePreview, APIKeyInfo } from '@carddb/core';
|
|
3
3
|
export * from '@carddb/core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -368,6 +368,16 @@ interface GetDatasetByKeyOptions extends GetDatasetOptions {
|
|
|
368
368
|
/** Stable dataset key */
|
|
369
369
|
datasetKey: string;
|
|
370
370
|
}
|
|
371
|
+
interface DatasetFilterValuesOptions extends GetDatasetOptions {
|
|
372
|
+
/** Optional case-insensitive search within values */
|
|
373
|
+
search?: string;
|
|
374
|
+
/** Include per-value record counts. More expensive than listing values only. */
|
|
375
|
+
includeCounts?: boolean;
|
|
376
|
+
/** Maximum number of values per field (default: 50, max: 500) */
|
|
377
|
+
first?: number;
|
|
378
|
+
/** Cursor for pagination. Applies to each requested field. */
|
|
379
|
+
after?: string;
|
|
380
|
+
}
|
|
371
381
|
declare class DatasetsResource extends BaseResource {
|
|
372
382
|
constructor(connection: Connection, config: Configuration);
|
|
373
383
|
/**
|
|
@@ -417,6 +427,20 @@ declare class DatasetsResource extends BaseResource {
|
|
|
417
427
|
* const datasets = await client.datasets.getMany(['id1', 'id2', 'id3'])
|
|
418
428
|
*/
|
|
419
429
|
getMany(ids: string[], options?: GetDatasetOptions): Promise<Dataset[]>;
|
|
430
|
+
/**
|
|
431
|
+
* Get distinct filter values for one or more filterable fields.
|
|
432
|
+
*
|
|
433
|
+
* @example
|
|
434
|
+
* const values = await client.datasets.filterValues('dataset-id', ['name', 'colors'], {
|
|
435
|
+
* includeCounts: true,
|
|
436
|
+
* first: 500,
|
|
437
|
+
* })
|
|
438
|
+
*/
|
|
439
|
+
filterValues(id: string, fields: string[], options?: DatasetFilterValuesOptions): Promise<DatasetFilterValueConnection[]>;
|
|
440
|
+
/**
|
|
441
|
+
* Get distinct filter values for a dataset by publisher/game/dataset keys.
|
|
442
|
+
*/
|
|
443
|
+
filterValues(publisherSlug: string, gameKey: string, datasetKey: string, fields: string[], options?: DatasetFilterValuesOptions): Promise<DatasetFilterValueConnection[]>;
|
|
420
444
|
}
|
|
421
445
|
|
|
422
446
|
/**
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as _carddb_core from '@carddb/core';
|
|
2
|
-
import { Logger, LogLevel, Cache, ResourceType, CardDBConfig, RateLimitInfo, GraphQLErrorInfo, Collection, Publisher, Game, GameCreateInput, GameUpdateInput, GameScanRegion, Dataset, DatasetSchema, Deck, DeckReadState, DeckPublishedVersionSelector, ViewerDecksFilterInput, AppDecksFilterInput, PublicDecksFilterInput, DeckVersion, DeckDiff, DeckValidateInput, DeckValidation, DeckHydrateEntriesInput, DeckHydrateEntriesPayload, DeckExportFormat, DeckExportPayload, DeckSectionDefinition, DeckCollaborator, DeckAPIApplicationAccess, DeckCreateInput, DeckUpdateInput, DeckUpsertByExternalRefInput, DeckUpsertByExternalRefPayload, DeckClaimInput, DeckOwnershipTransferPayload, DeckTransferOwnershipInput, DeckCopyInput, DeckCopyPayload, DeckEntryAddInput, DeckEntryMutationPayload, DeckEntryUpdateInput, DeckEntryReorderInput, DeckEntryReorderPayload, DeckEntriesReplaceInput, DeckEntriesReplacePayload, DeckImportInput, DeckImportPayload, DeckImportFormatDefinition, DeckImportFormatTestInput, DeckImportFormatTestPayload, DeckImportFormatCreateInput, DeckImportFormatUpdateInput, DeckPublishInput, DeckPublishPayload, DeckRemoveInvalidEntriesInput, DeckCollaboratorRole, DeckTokenIssuerCreateInput, DeckTokenIssuer, DeckAPIApplicationAccessGrantInput, DeckTokenExchangeInput, DeckTokenExchangePayload, HydrateDeckEntryInput, HydratedDeckEntry, FilterInput, DatasetRecord, DatasetRecordsUpsertInput, DatasetRecordsUpsertPayload, DatasetRecordsDeleteInput, DatasetRecordDeleteJob, DatasetRecordDeleteJobStatus, Ruleset, RulesetVersionStatus, RulesetVersion, DeckValidationRules, RulesetVersionDraftImportFromDatasetRecordInput, RulesetVersionDraftImportPreview, RulesetValidationImpact, RulesetCreateInput, RulesetUpdateInput, RulesetVersionDraftCreateInput, RulesetVersionDraftUpdateInput, RulesetVersionPublishInput, DatasetImportPreviewInput, DatasetImportPreviewResult, DatasetImportValidateInput, BulkImportResult, DatasetImportRunInput, ImportJob, ImportJobStatus, ImportLogLevel, ImportJobLog, GameImportPreviewInput, GameImportPreview, GameImportRunInput, GameImportJob, DatasetExportInput, ExportJob, ExportJobStatus, File, FileUploadInput, PresignedUpload, UploadPurpose, CreateScanUploadSessionInput, ConfirmScanUploadInput, CreateScanJobInput, ScanJobPayload, ScanJob, SubmitScanFeedbackInput, ScanFeedbackPayload, ScanMetricsInput, ScanMetrics, ResolveScanTemplateInput, ScanTemplateResolution, ScanTemplatesInput, ScanTemplate, SaveScanTemplateInput, ScanTemplatePayload, PreviewScanTemplateInput, ScanTemplatePreview, APIKeyInfo } from '@carddb/core';
|
|
2
|
+
import { Logger, LogLevel, Cache, ResourceType, CardDBConfig, RateLimitInfo, GraphQLErrorInfo, Collection, Publisher, Game, GameCreateInput, GameUpdateInput, GameScanRegion, Dataset, DatasetSchema, DatasetFilterValueConnection, Deck, DeckReadState, DeckPublishedVersionSelector, ViewerDecksFilterInput, AppDecksFilterInput, PublicDecksFilterInput, DeckVersion, DeckDiff, DeckValidateInput, DeckValidation, DeckHydrateEntriesInput, DeckHydrateEntriesPayload, DeckExportFormat, DeckExportPayload, DeckSectionDefinition, DeckCollaborator, DeckAPIApplicationAccess, DeckCreateInput, DeckUpdateInput, DeckUpsertByExternalRefInput, DeckUpsertByExternalRefPayload, DeckClaimInput, DeckOwnershipTransferPayload, DeckTransferOwnershipInput, DeckCopyInput, DeckCopyPayload, DeckEntryAddInput, DeckEntryMutationPayload, DeckEntryUpdateInput, DeckEntryReorderInput, DeckEntryReorderPayload, DeckEntriesReplaceInput, DeckEntriesReplacePayload, DeckImportInput, DeckImportPayload, DeckImportFormatDefinition, DeckImportFormatTestInput, DeckImportFormatTestPayload, DeckImportFormatCreateInput, DeckImportFormatUpdateInput, DeckPublishInput, DeckPublishPayload, DeckRemoveInvalidEntriesInput, DeckCollaboratorRole, DeckTokenIssuerCreateInput, DeckTokenIssuer, DeckAPIApplicationAccessGrantInput, DeckTokenExchangeInput, DeckTokenExchangePayload, HydrateDeckEntryInput, HydratedDeckEntry, FilterInput, DatasetRecord, DatasetRecordsUpsertInput, DatasetRecordsUpsertPayload, DatasetRecordsDeleteInput, DatasetRecordDeleteJob, DatasetRecordDeleteJobStatus, Ruleset, RulesetVersionStatus, RulesetVersion, DeckValidationRules, RulesetVersionDraftImportFromDatasetRecordInput, RulesetVersionDraftImportPreview, RulesetValidationImpact, RulesetCreateInput, RulesetUpdateInput, RulesetVersionDraftCreateInput, RulesetVersionDraftUpdateInput, RulesetVersionPublishInput, DatasetImportPreviewInput, DatasetImportPreviewResult, DatasetImportValidateInput, BulkImportResult, DatasetImportRunInput, ImportJob, ImportJobStatus, ImportLogLevel, ImportJobLog, GameImportPreviewInput, GameImportPreview, GameImportRunInput, GameImportJob, DatasetExportInput, ExportJob, ExportJobStatus, File, FileUploadInput, PresignedUpload, UploadPurpose, CreateScanUploadSessionInput, ConfirmScanUploadInput, CreateScanJobInput, ScanJobPayload, ScanJob, SubmitScanFeedbackInput, ScanFeedbackPayload, ScanMetricsInput, ScanMetrics, ResolveScanTemplateInput, ScanTemplateResolution, ScanTemplatesInput, ScanTemplate, SaveScanTemplateInput, ScanTemplatePayload, PreviewScanTemplateInput, ScanTemplatePreview, APIKeyInfo } from '@carddb/core';
|
|
3
3
|
export * from '@carddb/core';
|
|
4
4
|
|
|
5
5
|
/**
|
|
@@ -368,6 +368,16 @@ interface GetDatasetByKeyOptions extends GetDatasetOptions {
|
|
|
368
368
|
/** Stable dataset key */
|
|
369
369
|
datasetKey: string;
|
|
370
370
|
}
|
|
371
|
+
interface DatasetFilterValuesOptions extends GetDatasetOptions {
|
|
372
|
+
/** Optional case-insensitive search within values */
|
|
373
|
+
search?: string;
|
|
374
|
+
/** Include per-value record counts. More expensive than listing values only. */
|
|
375
|
+
includeCounts?: boolean;
|
|
376
|
+
/** Maximum number of values per field (default: 50, max: 500) */
|
|
377
|
+
first?: number;
|
|
378
|
+
/** Cursor for pagination. Applies to each requested field. */
|
|
379
|
+
after?: string;
|
|
380
|
+
}
|
|
371
381
|
declare class DatasetsResource extends BaseResource {
|
|
372
382
|
constructor(connection: Connection, config: Configuration);
|
|
373
383
|
/**
|
|
@@ -417,6 +427,20 @@ declare class DatasetsResource extends BaseResource {
|
|
|
417
427
|
* const datasets = await client.datasets.getMany(['id1', 'id2', 'id3'])
|
|
418
428
|
*/
|
|
419
429
|
getMany(ids: string[], options?: GetDatasetOptions): Promise<Dataset[]>;
|
|
430
|
+
/**
|
|
431
|
+
* Get distinct filter values for one or more filterable fields.
|
|
432
|
+
*
|
|
433
|
+
* @example
|
|
434
|
+
* const values = await client.datasets.filterValues('dataset-id', ['name', 'colors'], {
|
|
435
|
+
* includeCounts: true,
|
|
436
|
+
* first: 500,
|
|
437
|
+
* })
|
|
438
|
+
*/
|
|
439
|
+
filterValues(id: string, fields: string[], options?: DatasetFilterValuesOptions): Promise<DatasetFilterValueConnection[]>;
|
|
440
|
+
/**
|
|
441
|
+
* Get distinct filter values for a dataset by publisher/game/dataset keys.
|
|
442
|
+
*/
|
|
443
|
+
filterValues(publisherSlug: string, gameKey: string, datasetKey: string, fields: string[], options?: DatasetFilterValuesOptions): Promise<DatasetFilterValueConnection[]>;
|
|
420
444
|
}
|
|
421
445
|
|
|
422
446
|
/**
|
package/dist/index.js
CHANGED
|
@@ -901,6 +901,36 @@ var DatasetsResource = class extends BaseResource {
|
|
|
901
901
|
return result["fetchDatasets"] ?? [];
|
|
902
902
|
});
|
|
903
903
|
}
|
|
904
|
+
async filterValues(idOrPublisherSlug, fieldsOrGameKey, datasetKeyOrFields, fieldsOrOptions, maybeOptions) {
|
|
905
|
+
let queryParams;
|
|
906
|
+
let options;
|
|
907
|
+
if (Array.isArray(fieldsOrGameKey)) {
|
|
908
|
+
queryParams = { id: idOrPublisherSlug, fields: fieldsOrGameKey };
|
|
909
|
+
options = datasetKeyOrFields ?? {};
|
|
910
|
+
} else {
|
|
911
|
+
queryParams = {
|
|
912
|
+
publisherSlug: idOrPublisherSlug,
|
|
913
|
+
gameKey: fieldsOrGameKey,
|
|
914
|
+
datasetKey: datasetKeyOrFields,
|
|
915
|
+
fields: fieldsOrOptions
|
|
916
|
+
};
|
|
917
|
+
options = maybeOptions ?? {};
|
|
918
|
+
this.validateAccess(queryParams.publisherSlug, queryParams.gameKey);
|
|
919
|
+
}
|
|
920
|
+
const { query, variables } = QueryBuilder.fetchDatasetFilterValues({
|
|
921
|
+
...queryParams,
|
|
922
|
+
search: options.search,
|
|
923
|
+
includeCounts: options.includeCounts,
|
|
924
|
+
first: options.first,
|
|
925
|
+
after: options.after
|
|
926
|
+
});
|
|
927
|
+
const key = this.cacheKey("datasets", "filterValues", variables);
|
|
928
|
+
return this.withCache(key, "datasets", options, async () => {
|
|
929
|
+
const result = await this.connection.execute(query, variables);
|
|
930
|
+
const dataset = result["fetchDataset"];
|
|
931
|
+
return dataset?.filterValues ?? [];
|
|
932
|
+
});
|
|
933
|
+
}
|
|
904
934
|
};
|
|
905
935
|
var DecksResource = class extends BaseResource {
|
|
906
936
|
constructor(connection, config) {
|