@dereekb/firebase 10.0.10 → 10.0.12

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/index.cjs.js CHANGED
@@ -3664,11 +3664,38 @@ const FIRESTORE_PASSTHROUGH_FIELD = firestoreField({
3664
3664
  function firestorePassThroughField() {
3665
3665
  return FIRESTORE_PASSTHROUGH_FIELD;
3666
3666
  }
3667
+ function optionalFirestoreField(config) {
3668
+ if (config) {
3669
+ const {
3670
+ dontStoreDefaultReturnValue,
3671
+ defaultReadValue: defaultValue,
3672
+ dontStoreIfValue = dontStoreDefaultReturnValue && defaultValue != null ? defaultValue : undefined,
3673
+ transformData: inputTransformData,
3674
+ transformFromData,
3675
+ transformToData
3676
+ } = config !== null && config !== void 0 ? config : {};
3677
+ const transformData = inputTransformData !== null && inputTransformData !== void 0 ? inputTransformData : util.passThrough;
3678
+ const transformFrom = transformFromData !== null && transformFromData !== void 0 ? transformFromData : transformData;
3679
+ const transformTo = transformToData !== null && transformToData !== void 0 ? transformToData : transformData;
3680
+ return firestoreField({
3681
+ default: null,
3682
+ fromData: defaultValue != null ? x => transformFrom(x == null ? defaultValue : x) : transformFrom != null ? x => x != null ? transformFrom(x) : x : util.passThrough,
3683
+ toData: dontStoreIfValue != null ? x => {
3684
+ if (x != null) {
3685
+ const transformedValue = transformTo(x);
3686
+ return transformedValue === dontStoreIfValue ? null : transformedValue;
3687
+ } else {
3688
+ return x;
3689
+ }
3690
+ } : util.passThrough
3691
+ });
3692
+ } else {
3693
+ return FIRESTORE_PASSTHROUGH_FIELD;
3694
+ }
3695
+ }
3667
3696
  const DEFAULT_FIRESTORE_STRING_FIELD_VALUE = '';
3668
3697
  function firestoreString(config) {
3669
- const transform = (config === null || config === void 0 ? void 0 : config.transform) ? typeof config.transform === 'function' ? {
3670
- transform: config === null || config === void 0 ? void 0 : config.transform
3671
- } : config === null || config === void 0 ? void 0 : config.transform : undefined;
3698
+ const transform = util.transformStringFunctionConfig(config === null || config === void 0 ? void 0 : config.transform);
3672
3699
  const transformData = transform ? util.transformStringFunction(transform) : util.passThrough;
3673
3700
  return firestoreField(Object.assign(Object.assign({
3674
3701
  default: DEFAULT_FIRESTORE_STRING_FIELD_VALUE
@@ -3678,16 +3705,10 @@ function firestoreString(config) {
3678
3705
  }));
3679
3706
  }
3680
3707
  function optionalFirestoreString(config) {
3681
- const transform = (config === null || config === void 0 ? void 0 : config.transform) ? typeof config.transform === 'function' ? {
3682
- transform: config === null || config === void 0 ? void 0 : config.transform
3683
- } : config === null || config === void 0 ? void 0 : config.transform : undefined;
3708
+ const transform = util.transformStringFunctionConfig(config === null || config === void 0 ? void 0 : config.transform);
3684
3709
  const transformData = transform ? util.transformStringFunction(transform) : util.passThrough;
3685
- const transformMaybeData = x => x == null ? x : transformData(x);
3686
- return firestoreField(Object.assign(Object.assign({
3687
- default: null
3688
- }, config), {
3689
- fromData: transformMaybeData,
3690
- toData: transformMaybeData
3710
+ return optionalFirestoreField(Object.assign(Object.assign({}, config), {
3711
+ transformData
3691
3712
  }));
3692
3713
  }
3693
3714
  function firestoreEnum(config) {
@@ -3696,8 +3717,8 @@ function firestoreEnum(config) {
3696
3717
  toData: util.passThrough
3697
3718
  }));
3698
3719
  }
3699
- function optionalFirestoreEnum() {
3700
- return firestorePassThroughField();
3720
+ function optionalFirestoreEnum(config) {
3721
+ return optionalFirestoreField(config);
3701
3722
  }
3702
3723
  function firestoreUID() {
3703
3724
  return firestoreString({
@@ -3736,8 +3757,8 @@ function firestoreBoolean(config) {
3736
3757
  toData: util.passThrough
3737
3758
  });
3738
3759
  }
3739
- function optionalFirestoreBoolean() {
3740
- return firestorePassThroughField();
3760
+ function optionalFirestoreBoolean(config) {
3761
+ return optionalFirestoreField(config);
3741
3762
  }
3742
3763
  function firestoreNumber(config) {
3743
3764
  var _a;
@@ -3756,12 +3777,8 @@ function optionalFirestoreNumber(config) {
3756
3777
  transform: config === null || config === void 0 ? void 0 : config.transform
3757
3778
  } : config === null || config === void 0 ? void 0 : config.transform : undefined;
3758
3779
  const transformData = transform ? util.transformNumberFunction(transform) : util.passThrough;
3759
- const transformMaybeData = x => x == null ? x : transformData(x);
3760
- return firestoreField(Object.assign(Object.assign({
3761
- default: null
3762
- }, config), {
3763
- fromData: transformMaybeData,
3764
- toData: transformMaybeData
3780
+ return optionalFirestoreField(Object.assign(Object.assign({}, config), {
3781
+ transformData
3765
3782
  }));
3766
3783
  }
3767
3784
  function firestoreArray(config) {
@@ -8083,6 +8100,7 @@ exports.optionalFirestoreArray = optionalFirestoreArray;
8083
8100
  exports.optionalFirestoreBoolean = optionalFirestoreBoolean;
8084
8101
  exports.optionalFirestoreDate = optionalFirestoreDate;
8085
8102
  exports.optionalFirestoreEnum = optionalFirestoreEnum;
8103
+ exports.optionalFirestoreField = optionalFirestoreField;
8086
8104
  exports.optionalFirestoreNumber = optionalFirestoreNumber;
8087
8105
  exports.optionalFirestoreString = optionalFirestoreString;
8088
8106
  exports.optionalFirestoreUID = optionalFirestoreUID;
package/index.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { increment, onSnapshot, getDoc, deleteDoc, setDoc, updateDoc, doc, collectionGroup, collection, runTransaction, writeBatch, limit as limit$1, limitToLast as limitToLast$1, orderBy as orderBy$1, documentId, where as where$1, startAt as startAt$1, startAfter as startAfter$1, endAt as endAt$1, endBefore as endBefore$1, getDocs, query } from 'firebase/firestore';
2
- import { cachedGetter, mergeModifiers, asArray, filterUndefinedValues, objectHasNoKeys, filterFalsyAndEmptyValues, build, wrapUseAsyncFunction, makeWithFactory, performMakeLoop, runAsyncTasksForValues, filterMaybeValues, useAsync, toModelFieldConversions, makeModelMapFunctions, modifyModelMapFunctions, assignValuesToPOJOFunction, KeyValueTypleValueFilter, asObjectCopyFactory, passThrough, transformStringFunction, transformNumberFunction, sortValuesFunctionOrMapIdentityWithSortRef, filterUniqueFunction, unique, filterUniqueTransform, filterFromPOJOFunction, mapObjectMapFunction, copyObject, mapObjectMap, filterEmptyValues, modelFieldMapFunctions, toModelMapFunctions, latLngStringFunction, DEFAULT_LAT_LNG_STRING_VALUE, sortAscendingIndexNumberRefFunction, bitwiseSetDencoder, convertToArray, pushItemOrArrayItemsIntoArray, separateValues, UTF_8_START_CHARACTER, UTF_PRIVATE_USAGE_AREA_START, mergeArraysIntoArray, lastValue, flattenArrayOrValueArray, performAsyncTasks, batch, asGetter, groupValues, forEachInIterable, arrayToObject, takeFront, isOddNumber, objectToMap, ServerErrorResponse, toReadableError, capitalizeFirstLetter, lowercaseFirstLetter, toRelativeSlashPathStartType, mappedUseFunction, iterableToArray, getValueFromGetter, setContainsAllValues, usePromise, slashPathFactory, errorMessageContainsString } from '@dereekb/util';
2
+ import { cachedGetter, mergeModifiers, asArray, filterUndefinedValues, objectHasNoKeys, filterFalsyAndEmptyValues, build, wrapUseAsyncFunction, makeWithFactory, performMakeLoop, runAsyncTasksForValues, filterMaybeValues, useAsync, toModelFieldConversions, makeModelMapFunctions, modifyModelMapFunctions, assignValuesToPOJOFunction, KeyValueTypleValueFilter, asObjectCopyFactory, passThrough, transformStringFunctionConfig, transformStringFunction, transformNumberFunction, sortValuesFunctionOrMapIdentityWithSortRef, filterUniqueFunction, unique, filterUniqueTransform, filterFromPOJOFunction, mapObjectMapFunction, copyObject, mapObjectMap, filterEmptyValues, modelFieldMapFunctions, toModelMapFunctions, latLngStringFunction, DEFAULT_LAT_LNG_STRING_VALUE, sortAscendingIndexNumberRefFunction, bitwiseSetDencoder, convertToArray, pushItemOrArrayItemsIntoArray, separateValues, UTF_8_START_CHARACTER, UTF_PRIVATE_USAGE_AREA_START, mergeArraysIntoArray, lastValue, flattenArrayOrValueArray, performAsyncTasks, batch, asGetter, groupValues, forEachInIterable, arrayToObject, takeFront, isOddNumber, objectToMap, ServerErrorResponse, toReadableError, capitalizeFirstLetter, lowercaseFirstLetter, toRelativeSlashPathStartType, mappedUseFunction, iterableToArray, getValueFromGetter, setContainsAllValues, usePromise, slashPathFactory, errorMessageContainsString } from '@dereekb/util';
3
3
  import { filterMaybe, lazyFrom, itemAccumulator, ItemPageIterator, MappedPageItemIterationInstance } from '@dereekb/rxjs';
4
4
  import { from, map, combineLatest, shareReplay, of, exhaustMap, Observable, switchMap, timer, skip } from 'rxjs';
5
5
  import { UNKNOWN_WEBSITE_LINK_TYPE, decodeWebsiteLinkEncodedDataToWebsiteFileLink, encodeWebsiteFileLinkToWebsiteLinkEncodedData, AbstractModelPermissionService, grantedRoleMapReader, noAccessRoleMap, fullAccessRoleMap } from '@dereekb/model';
@@ -3800,6 +3800,19 @@ const FIRESTORE_EMPTY_VALUE = null;
3800
3800
  *
3801
3801
  */
3802
3802
 
3803
+ // MARK: Other Types
3804
+ /**
3805
+ * A boolean that is only stored if it's value is true.
3806
+ *
3807
+ * Used with Firebase types to better indicate to the developer that this value is not stored to Firebase when true.
3808
+ */
3809
+
3810
+ /**
3811
+ * A boolean that is only stored if it's value is false.
3812
+ *
3813
+ * Used with Firebase types to better indicate to the developer that this value is not stored to Firebase when false.
3814
+ */
3815
+
3803
3816
  /**
3804
3817
  * Default value for firestoreField().
3805
3818
  */
@@ -3838,14 +3851,38 @@ const FIRESTORE_PASSTHROUGH_FIELD = firestoreField({
3838
3851
  function firestorePassThroughField() {
3839
3852
  return FIRESTORE_PASSTHROUGH_FIELD;
3840
3853
  }
3841
-
3842
- // TODO: Add a firestorePassThroughIgnore and default values. Prevents default values from being stored, and allows returning a set value if it is the default.
3843
-
3854
+ function optionalFirestoreField(config) {
3855
+ if (config) {
3856
+ const {
3857
+ dontStoreDefaultReturnValue,
3858
+ defaultReadValue: defaultValue,
3859
+ dontStoreIfValue = dontStoreDefaultReturnValue && defaultValue != null ? defaultValue : undefined,
3860
+ transformData: inputTransformData,
3861
+ transformFromData,
3862
+ transformToData
3863
+ } = config != null ? config : {};
3864
+ const transformData = inputTransformData != null ? inputTransformData : passThrough;
3865
+ const transformFrom = transformFromData != null ? transformFromData : transformData;
3866
+ const transformTo = transformToData != null ? transformToData : transformData;
3867
+ return firestoreField({
3868
+ default: null,
3869
+ fromData: defaultValue != null ? x => transformFrom(x == null ? defaultValue : x) : transformFrom != null ? x => x != null ? transformFrom(x) : x : passThrough,
3870
+ toData: dontStoreIfValue != null ? x => {
3871
+ if (x != null) {
3872
+ const transformedValue = transformTo(x);
3873
+ return transformedValue === dontStoreIfValue ? null : transformedValue;
3874
+ } else {
3875
+ return x;
3876
+ }
3877
+ } : passThrough
3878
+ });
3879
+ } else {
3880
+ return FIRESTORE_PASSTHROUGH_FIELD;
3881
+ }
3882
+ }
3844
3883
  const DEFAULT_FIRESTORE_STRING_FIELD_VALUE = '';
3845
3884
  function firestoreString(config) {
3846
- const transform = config != null && config.transform ? typeof config.transform === 'function' ? {
3847
- transform: config == null ? void 0 : config.transform
3848
- } : config == null ? void 0 : config.transform : undefined;
3885
+ const transform = transformStringFunctionConfig(config == null ? void 0 : config.transform);
3849
3886
  const transformData = transform ? transformStringFunction(transform) : passThrough;
3850
3887
  return firestoreField(Object.assign({
3851
3888
  default: DEFAULT_FIRESTORE_STRING_FIELD_VALUE
@@ -3855,16 +3892,10 @@ function firestoreString(config) {
3855
3892
  }));
3856
3893
  }
3857
3894
  function optionalFirestoreString(config) {
3858
- const transform = config != null && config.transform ? typeof config.transform === 'function' ? {
3859
- transform: config == null ? void 0 : config.transform
3860
- } : config == null ? void 0 : config.transform : undefined;
3895
+ const transform = transformStringFunctionConfig(config == null ? void 0 : config.transform);
3861
3896
  const transformData = transform ? transformStringFunction(transform) : passThrough;
3862
- const transformMaybeData = x => x == null ? x : transformData(x);
3863
- return firestoreField(Object.assign({
3864
- default: null
3865
- }, config, {
3866
- fromData: transformMaybeData,
3867
- toData: transformMaybeData
3897
+ return optionalFirestoreField(Object.assign({}, config, {
3898
+ transformData
3868
3899
  }));
3869
3900
  }
3870
3901
  function firestoreEnum(config) {
@@ -3873,8 +3904,8 @@ function firestoreEnum(config) {
3873
3904
  toData: passThrough
3874
3905
  }));
3875
3906
  }
3876
- function optionalFirestoreEnum() {
3877
- return firestorePassThroughField();
3907
+ function optionalFirestoreEnum(config) {
3908
+ return optionalFirestoreField(config);
3878
3909
  }
3879
3910
  function firestoreUID() {
3880
3911
  return firestoreString({
@@ -3913,8 +3944,8 @@ function firestoreBoolean(config) {
3913
3944
  toData: passThrough
3914
3945
  });
3915
3946
  }
3916
- function optionalFirestoreBoolean() {
3917
- return firestorePassThroughField();
3947
+ function optionalFirestoreBoolean(config) {
3948
+ return optionalFirestoreField(config);
3918
3949
  }
3919
3950
  function firestoreNumber(config) {
3920
3951
  var _config$defaultBefore3;
@@ -3933,12 +3964,8 @@ function optionalFirestoreNumber(config) {
3933
3964
  transform: config == null ? void 0 : config.transform
3934
3965
  } : config == null ? void 0 : config.transform : undefined;
3935
3966
  const transformData = transform ? transformNumberFunction(transform) : passThrough;
3936
- const transformMaybeData = x => x == null ? x : transformData(x);
3937
- return firestoreField(Object.assign({
3938
- default: null
3939
- }, config, {
3940
- fromData: transformMaybeData,
3941
- toData: transformMaybeData
3967
+ return optionalFirestoreField(Object.assign({}, config, {
3968
+ transformData
3942
3969
  }));
3943
3970
  }
3944
3971
  function firestoreArray(config) {
@@ -4503,6 +4530,15 @@ function firestoreBitwiseObjectMap(config) {
4503
4530
  }));
4504
4531
  }
4505
4532
 
4533
+ // MARK: Compat
4534
+ /**
4535
+ * @deprecated use TransformStringFunctionConfigInput instead.
4536
+ */
4537
+
4538
+ /**
4539
+ * @deprecated use TransformNumberFunctionConfigInput instead.
4540
+ */
4541
+
4506
4542
  function unsupportedFirestoreDriverFunctionError(message) {
4507
4543
  throw new Error(message != null ? message : 'This function is not supported by this Firestore driver.');
4508
4544
  }
@@ -8779,4 +8815,4 @@ function systemStateFirestoreCollection(firestoreContext, converters) {
8779
8815
  });
8780
8816
  }
8781
8817
 
8782
- export { AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, BASE_MODEL_STORAGE_FILE_PATH, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_MODEL_APP_FUNCTION_KEY, ContextGrantedModelRolesReaderInstance, DEFAULT_DATE_CELL_RANGE_VALUE, DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE, DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE, DEFAULT_FIRESTORE_STRING_FIELD_VALUE, DEFAULT_FIRESTORE_UNITED_STATES_ADDRESS_VALUE, DEFAULT_FIRESTORE_WEBSITE_FILE_LINK_VALUE, DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_WEBSITE_LINK, DELETE_MODEL_APP_FUNCTION_KEY, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_FAILED, FIREBASE_AUTH_PASSWORD_MAX_LENGTH, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_AUTH_WRONG_PASSWORD, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FIRESTORE_COLLECTION_NAME_SEPARATOR, FIRESTORE_DUMMY_MODEL_KEY, FIRESTORE_EMPTY_VALUE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, FIRESTORE_ITEM_PAGE_ITERATOR, FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT, FIRESTORE_MODEL_ID_REGEX, FIRESTORE_MODEL_KEY_REGEX, FIRESTORE_MODEL_KEY_REGEX_STRICT, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_PASSTHROUGH_FIELD, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FirebaseDevelopmentFunctions, FirebaseModelPermissionServiceInstance, FirebaseServerError, FirestoreAccessorStreamMode, FirestoreDocumentContextType, FirestoreItemPageIterationInstance, InferredTargetModelIdParams, InferredTargetModelParams, IsFirestoreModelId, IsFirestoreModelKey, MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_DEFAULT, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER, MODEL_STORAGE_FILE_SLASH_PATH_FACTORY, ModifyBeforeSetFirestoreDocumentDataAccessorWrapper, READ_MODEL_APP_FUNCTION_KEY, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFunctionTypeEnum, SystemStateDocument, SystemStateFirestoreCollections, TargetModelIdParams, TargetModelParams, UPDATE_MODEL_APP_FUNCTION_KEY, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, dataFromDocumentSnapshots, dataFromSnapshotStream, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, endAt, endAtValue, endBefore, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputContraints, firebaseAuthErrorToReadableError, firebaseFirestoreClientDrivers, firebaseFirestoreQueryConstraintFunctionsDriver, firebaseFirestoreQueryDriver, firebaseFunctionMapFactory, firebaseModelLoader, firebaseModelPermissionService, firebaseModelService, firebaseModelServiceFactory, firebaseModelsService, firebaseQueryItemAccumulator, firebaseQuerySnapshotAccumulator, firebaseStorageBucketFolderPath, firebaseStorageClientAccessorDriver, firebaseStorageClientAccessorFile, firebaseStorageClientAccessorFolder, firebaseStorageClientDrivers, firebaseStorageClientListFilesResultFactory, firebaseStorageContextFactory, firebaseStorageFileExists, firebaseStorageFilePathFromStorageFilePath, firebaseStorageRefForStorageFilePath, firestoreArray, firestoreArrayMap, firestoreBitwiseObjectMap, firestoreBitwiseSet, firestoreBitwiseSetMap, firestoreBoolean, firestoreClientAccessorDriver, firestoreClientIncrementUpdateToUpdateData, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdString, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelKey, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitedFirestoreDocumentAccessorFactory, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, modelFirebaseFunctionMapFactory, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, noStringFormatInStorageUploadOptionsError, offset, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDevelopmentParams, onCallTypedModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreEnum, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, orderBy, orderByDocumentId, readFirestoreModelKey, replaceConstraints, selectFromFirebaseModelsService, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, startAfter, startAt, startAtValue, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, streamFromOnSnapshot, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, twoWayFlatFirestoreModelKey, unsupportedFirestoreDriverFunctionError, updateWithAccessorUpdateAndConverterFunction, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, where, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
8818
+ export { AbstractFirestoreDocument, AbstractFirestoreDocumentDataAccessorWrapper, AbstractFirestoreDocumentWithParent, BASE_MODEL_STORAGE_FILE_PATH, COPY_USER_RELATED_DATA_ACCESSOR_FACTORY_FUNCTION, CREATE_MODEL_APP_FUNCTION_KEY, ContextGrantedModelRolesReaderInstance, DEFAULT_DATE_CELL_RANGE_VALUE, DEFAULT_FIRESTORE_DATE_CELL_SCHEDULE_VALUE, DEFAULT_FIRESTORE_ITEM_PAGE_ITERATOR_ITEMS_PER_PAGE, DEFAULT_FIRESTORE_STRING_FIELD_VALUE, DEFAULT_FIRESTORE_UNITED_STATES_ADDRESS_VALUE, DEFAULT_FIRESTORE_WEBSITE_FILE_LINK_VALUE, DEFAULT_ITERATE_FIRESTORE_DOCUMENT_SNAPSHOT_BATCHES_BATCH_SIZE, DEFAULT_QUERY_CHANGE_WATCHER_DELAY, DEFAULT_SINGLE_ITEM_FIRESTORE_COLLECTION_DOCUMENT_IDENTIFIER, DEFAULT_WEBSITE_LINK, DELETE_MODEL_APP_FUNCTION_KEY, FIREBASE_AUTH_NETWORK_REQUEST_ERROR, FIREBASE_AUTH_NETWORK_REQUEST_FAILED, FIREBASE_AUTH_PASSWORD_MAX_LENGTH, FIREBASE_AUTH_PASSWORD_MIN_LENGTH, FIREBASE_AUTH_USER_NOT_FOUND_ERROR, FIREBASE_AUTH_WRONG_PASSWORD, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_RESET_PASSWORD_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_LAST_COM_DATE_KEY, FIREBASE_SERVER_AUTH_CLAIMS_SETUP_PASSWORD_KEY, FIRESTORE_CLIENT_QUERY_CONSTRAINT_HANDLER_MAPPING, FIRESTORE_COLLECTION_NAME_SEPARATOR, FIRESTORE_DUMMY_MODEL_KEY, FIRESTORE_EMPTY_VALUE, FIRESTORE_END_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_END_BEFORE_QUERY_CONSTRAINT_TYPE, FIRESTORE_ITEM_PAGE_ITERATOR, FIRESTORE_ITEM_PAGE_ITERATOR_DELEGATE, FIRESTORE_LIMIT_QUERY_CONSTRAINT_TYPE, FIRESTORE_LIMIT_TO_LAST_QUERY_CONSTRAINT_TYPE, FIRESTORE_MAX_WHERE_IN_FILTER_ARGS_COUNT, FIRESTORE_MODEL_ID_REGEX, FIRESTORE_MODEL_KEY_REGEX, FIRESTORE_MODEL_KEY_REGEX_STRICT, FIRESTORE_OFFSET_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_ORDER_BY_QUERY_CONSTRAINT_TYPE, FIRESTORE_PASSTHROUGH_FIELD, FIRESTORE_START_AFTER_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_QUERY_CONSTRAINT_TYPE, FIRESTORE_START_AT_VALUE_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_DOCUMENT_ID_QUERY_CONSTRAINT_TYPE, FIRESTORE_WHERE_QUERY_CONSTRAINT_TYPE, FirebaseDevelopmentFunctions, FirebaseModelPermissionServiceInstance, FirebaseServerError, FirestoreAccessorStreamMode, FirestoreDocumentContextType, FirestoreItemPageIterationInstance, InferredTargetModelIdParams, InferredTargetModelParams, IsFirestoreModelId, IsFirestoreModelKey, MAX_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MIN_FIRESTORE_MAP_ZOOM_LEVEL_VALUE, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_DEFAULT, MODEL_FUNCTION_FIREBASE_CRUD_FUNCTION_SPECIFIER_SPLITTER, MODEL_STORAGE_FILE_SLASH_PATH_FACTORY, ModifyBeforeSetFirestoreDocumentDataAccessorWrapper, READ_MODEL_APP_FUNCTION_KEY, RUN_DEV_FUNCTION_APP_FUNCTION_KEY, SCHEDULED_FUNCTION_DEV_FUNCTION_SPECIFIER, ScheduledFunctionDevelopmentFirebaseFunctionListEntry, ScheduledFunctionDevelopmentFirebaseFunctionParams, ScheduledFunctionDevelopmentFunctionTypeEnum, SystemStateDocument, SystemStateFirestoreCollections, TargetModelIdParams, TargetModelParams, UPDATE_MODEL_APP_FUNCTION_KEY, addConstraintToBuilder, addOrReplaceLimitInConstraints, allChildDocumentsUnderParent, allChildDocumentsUnderParentPath, allChildDocumentsUnderRelativePath, asTopLevelFieldPath, asTopLevelFieldPaths, assertFirestoreUpdateHasData, assertStorageUploadOptionsStringFormat, assignDateCellRangeFunction, assignDateCellScheduleFunction, assignUnitedStatesAddressFunction, assignWebsiteFileLinkFunction, assignWebsiteLinkFunction, buildFirebaseCollectionTypeModelTypeMap, childFirestoreModelKey, childFirestoreModelKeyPath, childFirestoreModelKeys, clientFirebaseFirestoreContextFactory, clientFirebaseStorageContextFactory, contextGrantedModelRolesReader, contextGrantedModelRolesReaderDoesNotExistErrorMessage, contextGrantedModelRolesReaderPermissionErrorMessage, convertHttpsCallableErrorToReadableError, copyDocumentIdForUserRelatedModifierFunction, copyDocumentIdToFieldModifierFunction, copyUserRelatedDataAccessorFactoryFunction, copyUserRelatedDataModifierConfig, dataFromDocumentSnapshots, dataFromSnapshotStream, developmentFirebaseFunctionMapFactory, directDataHttpsCallable, documentData, documentDataFunction, documentDataWithIdAndKey, documentReferenceFromDocument, documentReferencesFromDocuments, documentReferencesFromSnapshot, endAt, endAtValue, endBefore, extendFirestoreCollectionWithSingleDocumentAccessor, filterConstraintsOfType, filterDisallowedFirestoreItemPageIteratorInputContraints, firebaseAuthErrorToReadableError, firebaseFirestoreClientDrivers, firebaseFirestoreQueryConstraintFunctionsDriver, firebaseFirestoreQueryDriver, firebaseFunctionMapFactory, firebaseModelLoader, firebaseModelPermissionService, firebaseModelService, firebaseModelServiceFactory, firebaseModelsService, firebaseQueryItemAccumulator, firebaseQuerySnapshotAccumulator, firebaseStorageBucketFolderPath, firebaseStorageClientAccessorDriver, firebaseStorageClientAccessorFile, firebaseStorageClientAccessorFolder, firebaseStorageClientDrivers, firebaseStorageClientListFilesResultFactory, firebaseStorageContextFactory, firebaseStorageFileExists, firebaseStorageFilePathFromStorageFilePath, firebaseStorageRefForStorageFilePath, firestoreArray, firestoreArrayMap, firestoreBitwiseObjectMap, firestoreBitwiseSet, firestoreBitwiseSetMap, firestoreBoolean, firestoreClientAccessorDriver, firestoreClientIncrementUpdateToUpdateData, firestoreContextFactory, firestoreDate, firestoreDateCellRange, firestoreDateCellRangeArray, firestoreDateCellRangeAssignFn, firestoreDateCellSchedule, firestoreDateCellScheduleAssignFn, firestoreDencoderArray, firestoreDencoderMap, firestoreDencoderStringArray, firestoreDocumentAccessorContextExtension, firestoreDocumentAccessorFactory, firestoreDocumentLoader, firestoreDummyKey, firestoreEncodedArray, firestoreEncodedObjectMap, firestoreEnum, firestoreEnumArray, firestoreField, firestoreFieldConfigToModelMapFunctionsRef, firestoreIdBatchVerifierFactory, firestoreIdentityTypeArray, firestoreIdentityTypeArrayName, firestoreItemPageIteration, firestoreItemPageIterationFactory, firestoreLatLngString, firestoreMap, firestoreMapZoomLevel, firestoreModelId, firestoreModelIdArrayField, firestoreModelIdFromDocument, firestoreModelIdGrantedRoleArrayMap, firestoreModelIdGrantedRoleMap, firestoreModelIdString, firestoreModelIdentity, firestoreModelIdentityTypeMap, firestoreModelIdsFromDocuments, firestoreModelIdsFromKey, firestoreModelKey, firestoreModelKeyArrayField, firestoreModelKeyCollectionName, firestoreModelKeyCollectionType, firestoreModelKeyCollectionTypeArray, firestoreModelKeyCollectionTypeArrayName, firestoreModelKeyCollectionTypePair, firestoreModelKeyEncodedGrantedRoleMap, firestoreModelKeyFromDocument, firestoreModelKeyGrantedRoleArrayMap, firestoreModelKeyGrantedRoleMap, firestoreModelKeyPairObject, firestoreModelKeyParentKey, firestoreModelKeyParentKeyPartPairs, firestoreModelKeyPart, firestoreModelKeyPartPairs, firestoreModelKeyPartPairsKeyPath, firestoreModelKeyPartPairsPaths, firestoreModelKeyPath, firestoreModelKeyString, firestoreModelKeyTypePair, firestoreModelKeys, firestoreModelKeysFromDocuments, firestoreModelType, firestoreNumber, firestoreObjectArray, firestorePassThroughField, firestoreQueryConstraint, firestoreQueryConstraintFactory, firestoreQueryFactory, firestoreSingleDocumentAccessor, firestoreString, firestoreSubObject, firestoreTimezoneString, firestoreUID, firestoreUniqueArray, firestoreUniqueKeyedArray, firestoreUniqueStringArray, firestoreUnitedStatesAddress, firestoreUnitedStatesAddressAssignFn, firestoreUpdateWithNoDataError, firestoreWebsiteFileLink, firestoreWebsiteFileLinkAssignFn, firestoreWebsiteFileLinkEncodedArray, firestoreWebsiteFileLinkObjectArray, firestoreWebsiteLink, firestoreWebsiteLinkArray, firestoreWebsiteLinkAssignFn, flatFirestoreModelKey, getDataFromDocumentSnapshots, getDocumentSnapshotData, getDocumentSnapshotDataPair, getDocumentSnapshotDataPairs, getDocumentSnapshotDataTuples, getDocumentSnapshotPair, getDocumentSnapshotPairs, getDocumentSnapshots, getDocumentSnapshotsData, grantFullAccessIfAdmin, grantFullAccessIfAuthUserRelated, grantModelRolesIfAdmin, grantModelRolesIfAdminFunction, grantModelRolesIfAuthUserRelatedModelFunction, grantModelRolesIfFunction, grantModelRolesIfHasAuthRolesFactory, grantModelRolesIfHasAuthRolesFunction, grantModelRolesOnlyIfFunction, inContextFirebaseModelServiceFactory, inContextFirebaseModelsServiceFactory, incrementUpdateWithAccessorFunction, inferKeyFromTwoWayFlatFirestoreModelKey, interceptAccessorFactoryFunction, isAdminInFirebaseModelContext, isFirebaseStorageObjectNotFoundError, isFirestoreModelId, isFirestoreModelKey, isOwnerOfUserRelatedModelInFirebaseModelContext, iterateFirestoreDocumentSnapshotBatches, iterateFirestoreDocumentSnapshotCheckpoints, iterateFirestoreDocumentSnapshotPairBatches, iterateFirestoreDocumentSnapshotPairs, iterateFirestoreDocumentSnapshots, iterationQueryDocChangeWatcher, iterationQueryDocChangeWatcherChangeTypeForGroup, latestDataFromDocuments, latestSnapshotsFromDocuments, lazyFirebaseFunctionsFactory, limit, limitToLast, limitedFirestoreDocumentAccessorFactory, loadDocumentsForDocumentReferences, loadDocumentsForDocumentReferencesFromValues, loadDocumentsForIds, loadDocumentsForIdsFromValues, loadDocumentsForKeys, loadDocumentsForKeysFromValues, loadDocumentsForSnapshots, loadDocumentsForValues, makeDocuments, makeFirestoreCollection, makeFirestoreCollectionGroup, makeFirestoreCollectionWithParent, makeFirestoreItemPageIteratorDelegate, makeFirestoreQueryConstraintFunctionsDriver, makeRootSingleItemFirestoreCollection, makeSingleItemFirestoreCollection, mapDataFromSnapshot, mapHttpsCallable, modelFirebaseFunctionMapFactory, modelStorageSlashPathFactory, modifyBeforeSetInterceptAccessorFactoryFunction, newDocuments, noStringFormatInStorageUploadOptionsError, offset, onCallCreateModelResult, onCallCreateModelResultWithDocs, onCallDevelopmentParams, onCallTypedModelParams, optionalFirestoreArray, optionalFirestoreBoolean, optionalFirestoreDate, optionalFirestoreEnum, optionalFirestoreField, optionalFirestoreNumber, optionalFirestoreString, optionalFirestoreUID, optionalFirestoreUnitedStatesAddress, orderBy, orderByDocumentId, readFirestoreModelKey, replaceConstraints, selectFromFirebaseModelsService, separateConstraints, setIdAndKeyFromKeyIdRefOnDocumentData, setIdAndKeyFromSnapshotOnDocumentData, snapshotConverterFunctions, snapshotStreamDataForAccessor, snapshotStreamForAccessor, startAfter, startAt, startAtValue, storageListFilesResultFactory, storageListFilesResultHasNoNextError, storagePathFactory, streamFromOnSnapshot, systemStateCollectionReference, systemStateConverter, systemStateFirestoreCollection, systemStateIdentity, twoWayFlatFirestoreModelKey, unsupportedFirestoreDriverFunctionError, updateWithAccessorUpdateAndConverterFunction, useContextAuth, useContextAuthUid, useDocumentSnapshot, useDocumentSnapshotData, useFirebaseModelsService, where, whereDateIsBefore, whereDateIsBeforeWithSort, whereDateIsBetween, whereDateIsInRange, whereDateIsOnOrAfter, whereDateIsOnOrAfterWithSort, whereDocumentId, whereStringHasRootIdentityModelKey, whereStringValueHasPrefix };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase",
3
- "version": "10.0.10",
3
+ "version": "10.0.12",
4
4
  "exports": {
5
5
  ".": {
6
6
  "types": "./src/index.d.ts",
@@ -1,6 +1,6 @@
1
1
  import { type WebsiteLink, type GrantedRole, type WebsiteFileLink } from '@dereekb/model';
2
2
  import { type DateCellRange, type DateCellSchedule } from '@dereekb/date';
3
- import { type ModelFieldMapFunctionsConfig, type GetterOrValue, type Maybe, type ModelFieldMapConvertFunction, type PrimativeKey, type ReadKeyFunction, type ModelFieldMapFunctionsWithDefaultsConfig, type FilterUniqueStringsTransformConfig, type MapFunction, type FilterKeyValueTuplesInput, type ModelKey, type ToModelMapFunctionsInput, type ModelMapFunctionsRef, type TransformStringFunctionConfig, type LatLngPrecision, type TransformStringFunction, type LatLngString, type TimezoneString, type TransformNumberFunction, type TransformNumberFunctionConfig, type PrimativeKeyStringDencoderFunction, type PrimativeKeyDencoderFunction, type UnitedStatesAddress, type ZoomLevel, type FilterUniqueFunction, type BitwiseEncodedSet, type BitwiseObjectDencoder, type SortCompareFunctionRef } from '@dereekb/util';
3
+ import { type ModelFieldMapFunctionsConfig, type GetterOrValue, type Maybe, type ModelFieldMapConvertFunction, type PrimativeKey, type ReadKeyFunction, type ModelFieldMapFunctionsWithDefaultsConfig, type FilterUniqueStringsTransformConfig, type MapFunction, type FilterKeyValueTuplesInput, type ModelKey, type ToModelMapFunctionsInput, type ModelMapFunctionsRef, type LatLngPrecision, type LatLngString, type TimezoneString, type PrimativeKeyStringDencoderFunction, type PrimativeKeyDencoderFunction, type UnitedStatesAddress, type ZoomLevel, type FilterUniqueFunction, type BitwiseEncodedSet, type BitwiseObjectDencoder, type SortCompareFunctionRef, type TransformNumberFunctionConfigInput, type TransformStringFunctionConfigInput } from '@dereekb/util';
4
4
  import { type FirestoreModelData } from './snapshot.type';
5
5
  export interface BaseFirestoreFieldConfig<V, D = unknown> {
6
6
  fromData: ModelFieldMapConvertFunction<D, V>;
@@ -42,23 +42,65 @@ export type FirestoreModelFieldMapFunctionsConfig<V, D> = ModelFieldMapFunctions
42
42
  export declare function firestoreField<V, D = unknown>(config: FirestoreFieldConfig<V, D>): FirestoreModelFieldMapFunctionsConfig<V, D>;
43
43
  export declare const FIRESTORE_PASSTHROUGH_FIELD: FirestoreModelFieldMapFunctionsConfig<unknown, unknown>;
44
44
  export declare function firestorePassThroughField<T>(): ModelFieldMapFunctionsConfig<T, T>;
45
+ export interface OptionalFirestoreFieldConfig<T> {
46
+ /**
47
+ * Defaults the dontStoreIfValue value to this value.
48
+ *
49
+ * This is ignored if no default value is set.
50
+ */
51
+ readonly dontStoreDefaultReturnValue?: boolean;
52
+ /**
53
+ * Removes the value from the object if the stored value would equal this value.
54
+ */
55
+ readonly dontStoreIfValue?: T;
56
+ /**
57
+ * Value to optionally return if there is no value in the database when reading from the database.
58
+ */
59
+ readonly defaultReadValue?: T;
60
+ }
61
+ export interface OptionalFirestoreFieldConfigWithTransform<T> extends OptionalFirestoreFieldConfig<T> {
62
+ /**
63
+ * (Optional) Function to transform the data before it is stored and after it is read.
64
+ *
65
+ * This is used as the default for transformToData, and transformToData.
66
+ */
67
+ readonly transformData?: MapFunction<T, T>;
68
+ /**
69
+ * (Optional) Function to transform the data after it is read from Firestore.
70
+ *
71
+ * Only transforms non-null/undefined values from the database.
72
+ *
73
+ * Overrides transformData.
74
+ */
75
+ readonly transformFromData?: MapFunction<T, T>;
76
+ /**
77
+ * (Optional) Transform function that is only used before the data is stored to Firestore.
78
+ *
79
+ * Is allowed to return null to clear the stored value.
80
+ *
81
+ * Overrides transformData.
82
+ */
83
+ readonly transformToData?: MapFunction<T, T | null>;
84
+ }
85
+ export declare function optionalFirestoreField<T>(config?: OptionalFirestoreFieldConfigWithTransform<T>): ModelFieldMapFunctionsConfig<Maybe<T>, Maybe<T>>;
45
86
  export type MapConfiguredFirestoreFieldConfigWithDefault<V, D = unknown> = Omit<FirestoreFieldConfigWithDefault<V, D>, 'fromData' | 'toData'>;
46
87
  export type MapConfiguredFirestoreFieldConfigWithDefaultData<V, D = unknown> = Omit<FirestoreFieldConfigWithDefaultData<V, D>, 'fromData' | 'toData'>;
47
88
  export type MapConfiguredFirestoreFieldConfig<V, D = unknown> = MapConfiguredFirestoreFieldConfigWithDefault<V, D> | MapConfiguredFirestoreFieldConfigWithDefaultData<V, D>;
48
89
  export type DefaultMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<FirestoreFieldConfigWithDefault<V, D>, 'fromData' | 'toData' | 'default'> & Partial<Pick<FirestoreFieldConfigWithDefault<V, D>, 'default'>>;
49
90
  export type OptionalMapConfiguredFirestoreFieldConfig<V, D = unknown> = Omit<BaseFirestoreFieldConfig<V, D>, 'fromData' | 'toData' | 'defaultBeforeSave'>;
50
- export type FirestoreStringTransformOptions<S extends string = string> = TransformStringFunctionConfig | TransformStringFunction<S>;
51
91
  export interface FirestoreStringConfig<S extends string = string> extends DefaultMapConfiguredFirestoreFieldConfig<S, S> {
52
- transform?: FirestoreStringTransformOptions;
92
+ transform?: TransformStringFunctionConfigInput<S>;
53
93
  }
54
94
  export declare const DEFAULT_FIRESTORE_STRING_FIELD_VALUE = "";
55
95
  export declare function firestoreString<S extends string = string>(config?: FirestoreStringConfig<S>): FirestoreModelFieldMapFunctionsConfig<S, S>;
56
- export declare function optionalFirestoreString<S extends string = string>(config?: Omit<FirestoreStringConfig<S>, 'default'>): FirestoreModelFieldMapFunctionsConfig<Maybe<S>, Maybe<S>>;
96
+ export type OptionalFirestoreString<S extends string = string> = OptionalFirestoreFieldConfig<S> & Pick<FirestoreStringConfig<S>, 'transform'>;
97
+ export declare function optionalFirestoreString<S extends string = string>(config?: OptionalFirestoreString<S>): ModelFieldMapFunctionsConfig<Maybe<S>, Maybe<S>>;
57
98
  export type FirestoreEnumConfig<S extends string | number> = MapConfiguredFirestoreFieldConfigWithDefault<S, S>;
58
99
  export declare function firestoreEnum<S extends string | number>(config: FirestoreEnumConfig<S>): FirestoreModelFieldMapFunctionsConfig<S, S>;
59
- export declare function optionalFirestoreEnum<S extends string | number>(): ModelFieldMapFunctionsConfig<Maybe<S>, Maybe<S>>;
100
+ export type OptionalFirestoreEnum<S extends string | number> = OptionalFirestoreFieldConfig<S>;
101
+ export declare function optionalFirestoreEnum<S extends string | number>(config?: OptionalFirestoreEnum<S>): ModelFieldMapFunctionsConfig<Maybe<S>, Maybe<S>>;
60
102
  export declare function firestoreUID(): FirestoreModelFieldMapFunctionsConfig<string, string>;
61
- export declare function optionalFirestoreUID(): FirestoreModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
103
+ export declare function optionalFirestoreUID(): ModelFieldMapFunctionsConfig<Maybe<string>, Maybe<string>>;
62
104
  export declare const firestoreModelKeyString: FirestoreModelFieldMapFunctionsConfig<string, string>;
63
105
  export declare const firestoreModelIdString: FirestoreModelFieldMapFunctionsConfig<string, string>;
64
106
  export type FirestoreDateFieldConfig = DefaultMapConfiguredFirestoreFieldConfig<Date, string> & {
@@ -68,14 +110,15 @@ export declare function firestoreDate(config?: FirestoreDateFieldConfig): Firest
68
110
  export declare function optionalFirestoreDate(): FirestoreModelFieldMapFunctionsConfig<Maybe<Date>, Maybe<string>>;
69
111
  export type FirestoreBooleanFieldConfig = MapConfiguredFirestoreFieldConfigWithDefault<boolean, boolean>;
70
112
  export declare function firestoreBoolean(config: FirestoreBooleanFieldConfig): FirestoreModelFieldMapFunctionsConfig<boolean, boolean>;
71
- export declare function optionalFirestoreBoolean(): ModelFieldMapFunctionsConfig<Maybe<boolean>, Maybe<boolean>>;
72
- export type FirestoreNumberTransformOptions<N extends number = number> = TransformNumberFunctionConfig<N> | TransformNumberFunction<N>;
113
+ export type OptionalFirestoreBooleanFieldConfig = OptionalFirestoreFieldConfig<boolean>;
114
+ export declare function optionalFirestoreBoolean(config?: OptionalFirestoreBooleanFieldConfig): ModelFieldMapFunctionsConfig<Maybe<boolean>, Maybe<boolean>>;
73
115
  export interface FirestoreNumberConfig<N extends number = number> extends MapConfiguredFirestoreFieldConfigWithDefault<N, N> {
74
116
  saveDefault?: Maybe<boolean>;
75
- transform?: FirestoreNumberTransformOptions<N>;
117
+ transform?: TransformNumberFunctionConfigInput<N>;
76
118
  }
77
119
  export declare function firestoreNumber<N extends number = number>(config: FirestoreNumberConfig<N>): FirestoreModelFieldMapFunctionsConfig<N, N>;
78
- export declare function optionalFirestoreNumber<N extends number = number>(config?: Omit<FirestoreNumberConfig<N>, 'default'>): FirestoreModelFieldMapFunctionsConfig<Maybe<N>, Maybe<N>>;
120
+ export type OptionalFirestoreNumberFieldConfig<N extends number = number> = OptionalFirestoreFieldConfig<N> & Pick<FirestoreNumberConfig<N>, 'transform'>;
121
+ export declare function optionalFirestoreNumber<N extends number = number>(config?: OptionalFirestoreNumberFieldConfig<N>): ModelFieldMapFunctionsConfig<Maybe<N>, Maybe<N>>;
79
122
  export type FirestoreArrayFieldConfig<T> = DefaultMapConfiguredFirestoreFieldConfig<T[], T[]> & Partial<SortCompareFunctionRef<T>> & Partial<FirestoreFieldDefault<T[]>>;
80
123
  export declare function firestoreArray<T>(config: FirestoreArrayFieldConfig<T>): FirestoreModelFieldMapFunctionsConfig<T[], T[]>;
81
124
  export declare function optionalFirestoreArray<T>(): ModelFieldMapFunctionsConfig<Maybe<T[]>, Maybe<T[]>>;
@@ -354,3 +397,11 @@ export interface FirestoreBitwiseObjectMapConfig<T extends object, K extends str
354
397
  dencoder: BitwiseObjectDencoder<T>;
355
398
  }
356
399
  export declare function firestoreBitwiseObjectMap<T extends object, K extends string = string>(config: FirestoreBitwiseObjectMapConfig<T, K>): FirestoreModelFieldMapFunctionsConfig<FirestoreEncodedObjectMapFieldValueType<T, K>, FirestoreMapFieldType<number, K>>;
400
+ /**
401
+ * @deprecated use TransformStringFunctionConfigInput instead.
402
+ */
403
+ export type FirestoreStringTransformOptions<S extends string = string> = TransformStringFunctionConfigInput<S>;
404
+ /**
405
+ * @deprecated use TransformNumberFunctionConfigInput instead.
406
+ */
407
+ export type FirestoreNumberTransformOptions<N extends number = number> = TransformNumberFunctionConfigInput<N>;
@@ -59,3 +59,15 @@ export interface SnapshotConverterFunctions<T extends object, O extends object =
59
59
  export type SnapshotConverterFromFirestoreFunction<T extends object, O extends object = FirestoreModelData<T>> = (snapshot: DocumentSnapshot<O>, options?: SnapshotOptions) => T;
60
60
  export type SnapshotConverterFromFunction<T extends object, O extends object = FirestoreModelData<T>> = ApplyMapFunctionWithOptions<DocumentSnapshot<O>, T, SnapshotOptions>;
61
61
  export type SnapshotConverterToFunction<T extends object, O extends object = FirestoreModelData<T>> = ApplyMapFunctionWithOptions<T, O, SetOptions>;
62
+ /**
63
+ * A boolean that is only stored if it's value is true.
64
+ *
65
+ * Used with Firebase types to better indicate to the developer that this value is not stored to Firebase when true.
66
+ */
67
+ export type SavedToFirestoreIfTrue = boolean;
68
+ /**
69
+ * A boolean that is only stored if it's value is false.
70
+ *
71
+ * Used with Firebase types to better indicate to the developer that this value is not stored to Firebase when false.
72
+ */
73
+ export type SavedToFirestoreIfFalse = boolean;
package/test/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [10.0.12](https://github.com/dereekb/dbx-components/compare/v10.0.11-dev...v10.0.12) (2024-01-27)
6
+
7
+
8
+
9
+ ## [10.0.11](https://github.com/dereekb/dbx-components/compare/v10.0.10-dev...v10.0.11) (2024-01-25)
10
+
11
+
12
+
5
13
  ## [10.0.10](https://github.com/dereekb/dbx-components/compare/v10.0.9-dev...v10.0.10) (2024-01-21)
6
14
 
7
15
 
package/test/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dereekb/firebase/test",
3
- "version": "10.0.10",
3
+ "version": "10.0.12",
4
4
  "type": "commonjs",
5
5
  "peerDependencies": {
6
6
  "@dereekb/util": "*",