From 3f1a04840ca863de2ffd8363bddba535f59bd75e Mon Sep 17 00:00:00 2001 From: tylim Date: Thu, 3 Aug 2023 21:52:09 +0800 Subject: [PATCH] rename Serial types to JSON types --- package.json | 2 +- src/index.ts | 10 ++-- src/types/fieldValues.ts | 4 +- src/types/metaTypeCreator/compare.ts | 28 +++++------ .../metaTypeCreator/metaTypeCreator.test.ts | 48 +++++++++---------- src/types/metaTypeCreator/read.ts | 30 ++++++------ src/types/metaTypeCreator/write.ts | 32 ++++++------- src/types/serial.ts | 43 ++++++++--------- 8 files changed, 98 insertions(+), 99 deletions(-) diff --git a/package.json b/package.json index 3166845..c98fea6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "firelordjs", - "version": "2.6.7", + "version": "2.6.8", "description": "🔥 High Precision Typescript Wrapper for Firestore Web, Providing Unparalleled Type Safe and Dev Experience", "main": "dist/index.js", "types": "dist/index.d.ts", diff --git a/src/index.ts b/src/index.ts index 8496db6..356d2c0 100644 --- a/src/index.ts +++ b/src/index.ts @@ -86,9 +86,9 @@ export type { FirelordRef, OnSnapshot, Unsubscribe, - SerialDate as DateSerial, - SerialServerTimestamp as ServerTimestampPersist, - SerialTimestamp as TimestampPersist, - SerialGeoPoint as GeoPointPersist, - SerialDocumentReference as DocumentReferencePersist, + JSONDate as DateJSON, + JSONServerTimestamp as ServerTimestampPersist, + JSONTimestamp as TimestampPersist, + JSONGeoPoint as GeoPointPersist, + JSONDocumentReference as DocumentReferencePersist, } from './types' diff --git a/src/types/fieldValues.ts b/src/types/fieldValues.ts index 202684a..7368a08 100644 --- a/src/types/fieldValues.ts +++ b/src/types/fieldValues.ts @@ -1,6 +1,6 @@ import { OriFieldValue } from './alias' import { ErrorArrayFieldValueEmpty } from './error' -import { SerialServerTimestamp } from './serial' +import { JSONServerTimestamp } from './serial' declare const serverTimestampSymbol: unique symbol declare const deleteFieldSymbol: unique symbol @@ -48,4 +48,4 @@ export type FieldValues = | ServerTimestamp | UnassignedAbleFieldValue | Delete - | SerialServerTimestamp + | JSONServerTimestamp diff --git a/src/types/metaTypeCreator/compare.ts b/src/types/metaTypeCreator/compare.ts index 20a1196..cafd543 100644 --- a/src/types/metaTypeCreator/compare.ts +++ b/src/types/metaTypeCreator/compare.ts @@ -16,11 +16,11 @@ import { DeepValue } from '../objectFlatten' import { DocumentReference } from '../refs' import { MetaType } from './metaType' import { - SerialDate, - SerialGeoPoint, - SerialServerTimestamp, - SerialDocumentReference, - SerialTimestamp, + JSONDate, + JSONGeoPoint, + JSONServerTimestamp, + JSONDocumentReference, + JSONTimestamp, } from '../serial' type CompareConverterArray = NoDirectNestedArray< @@ -29,11 +29,11 @@ type CompareConverterArray = NoDirectNestedArray< ? readonly CompareConverterArray[] : T extends FieldValues ? ErrorFieldValueInArray - : T extends Date | Timestamp | SerialDate | SerialTimestamp + : T extends Date | Timestamp | JSONDate | JSONTimestamp ? Timestamp | Date - : T extends SerialDocumentReference + : T extends JSONDocumentReference ? DocumentReference - : T extends SerialGeoPoint + : T extends JSONGeoPoint ? GeoPoint : T extends DocumentReference | Bytes | GeoPoint ? T @@ -54,15 +54,15 @@ export type CompareConverter = NoDirectNestedArray< | ServerTimestamp | Date | Timestamp - | SerialDate - | SerialTimestamp - | SerialServerTimestamp + | JSONDate + | JSONTimestamp + | JSONServerTimestamp ? Timestamp | Date - : T extends SerialGeoPoint + : T extends JSONGeoPoint ? GeoPoint - : T extends SerialDocumentReference + : T extends JSONDocumentReference ? DocumentReference - : T extends DocumentReference | Bytes | GeoPoint | SerialGeoPoint + : T extends DocumentReference | Bytes | GeoPoint | JSONGeoPoint ? T : T extends Record ? { diff --git a/src/types/metaTypeCreator/metaTypeCreator.test.ts b/src/types/metaTypeCreator/metaTypeCreator.test.ts index 88c3e43..03db049 100644 --- a/src/types/metaTypeCreator/metaTypeCreator.test.ts +++ b/src/types/metaTypeCreator/metaTypeCreator.test.ts @@ -18,11 +18,11 @@ import { IsTrue, IsSame, IsEqual } from '../utils' import { Parent, User } from '../../utilForTests' import { __name__Record } from '../fieldPath' import { - SerialDate, - SerialGeoPoint, - SerialServerTimestamp, - SerialDocumentReference, - SerialTimestamp, + JSONDate, + JSONGeoPoint, + JSONServerTimestamp, + JSONDocumentReference, + JSONTimestamp, } from '../serial' describe('test Firelord type', () => { @@ -840,16 +840,16 @@ describe('test Firelord type', () => { it('test persistent type', () => { type A = MetaTypeCreator< { - a: SerialTimestamp - b: SerialDate - c: SerialServerTimestamp - d: SerialDocumentReference - e: SerialGeoPoint - f: SerialTimestamp[] - g: SerialDate[] - h: SerialServerTimestamp[] - i: SerialDocumentReference[] - j: SerialGeoPoint[] + a: JSONTimestamp + b: JSONDate + c: JSONServerTimestamp + d: JSONDocumentReference + e: JSONGeoPoint + f: JSONTimestamp[] + g: JSONDate[] + h: JSONServerTimestamp[] + i: JSONDocumentReference[] + j: JSONGeoPoint[] }, 'Persist' > @@ -861,16 +861,16 @@ describe('test Firelord type', () => { type ExpectCompare = A['compare'] type Read = { - a: SerialTimestamp - b: SerialTimestamp - c: SerialTimestamp - d: SerialDocumentReference - e: SerialGeoPoint - f: SerialTimestamp[] - g: SerialTimestamp[] + a: JSONTimestamp + b: JSONTimestamp + c: JSONTimestamp + d: JSONDocumentReference + e: JSONGeoPoint + f: JSONTimestamp[] + g: JSONTimestamp[] h: ErrorFieldValueInArray[] - i: SerialDocumentReference[] - j: SerialGeoPoint[] + i: JSONDocumentReference[] + j: JSONGeoPoint[] } type Write = { diff --git a/src/types/metaTypeCreator/read.ts b/src/types/metaTypeCreator/read.ts index 9f19a05..95aff2c 100644 --- a/src/types/metaTypeCreator/read.ts +++ b/src/types/metaTypeCreator/read.ts @@ -16,11 +16,11 @@ import { import { DocumentReference } from '../refs' import { MetaType } from './metaType' import { - SerialDate, - SerialGeoPoint, - SerialServerTimestamp, - SerialDocumentReference, - SerialTimestamp, + JSONDate, + JSONGeoPoint, + JSONServerTimestamp, + JSONDocumentReference, + JSONTimestamp, } from '../serial' type ReadConverterArray< @@ -46,14 +46,14 @@ type ReadConverterArray< ? ErrorFieldValueInArray : T extends Date | Timestamp ? Timestamp | U - : T extends SerialDate | SerialTimestamp - ? SerialTimestamp | U + : T extends JSONDate | JSONTimestamp + ? JSONTimestamp | U : T extends | DocumentReference | Bytes | GeoPoint - | SerialGeoPoint - | SerialDocumentReference + | JSONGeoPoint + | JSONDocumentReference ? T | U : T extends Record ? @@ -90,16 +90,16 @@ export type ReadConverter = | allFieldsPossiblyReadAsUndefined : T extends ServerTimestamp | Date | Timestamp ? Timestamp | allFieldsPossiblyReadAsUndefined - : T extends SerialDate | SerialTimestamp | SerialServerTimestamp - ? SerialTimestamp + : T extends JSONDate | JSONTimestamp | JSONServerTimestamp + ? JSONTimestamp : T extends | DocumentReference | Bytes | GeoPoint - | SerialGeoPoint - | SerialDocumentReference - | SerialDate - | SerialTimestamp + | JSONGeoPoint + | JSONDocumentReference + | JSONDate + | JSONTimestamp ? T | allFieldsPossiblyReadAsUndefined : T extends Record ? diff --git a/src/types/metaTypeCreator/write.ts b/src/types/metaTypeCreator/write.ts index dc9b06f..523c65b 100644 --- a/src/types/metaTypeCreator/write.ts +++ b/src/types/metaTypeCreator/write.ts @@ -18,11 +18,11 @@ import { DeepValue } from '../objectFlatten' import { DocumentReference } from '../refs' import { MetaType } from './metaType' import { - SerialDate, - SerialGeoPoint, - SerialServerTimestamp, - SerialDocumentReference, - SerialTimestamp, + JSONDate, + JSONGeoPoint, + JSONServerTimestamp, + JSONDocumentReference, + JSONTimestamp, } from '../serial' type ArrayWriteConverter = NoDirectNestedArray< @@ -31,13 +31,13 @@ type ArrayWriteConverter = NoDirectNestedArray< ? readonly ArrayWriteConverter[] : T extends FieldValues ? ErrorFieldValueInArray - : T extends Timestamp | Date | SerialDate | SerialTimestamp + : T extends Timestamp | Date | JSONDate | JSONTimestamp ? Timestamp | Date : T extends DocumentReference | Bytes | GeoPoint ? T - : T extends SerialDocumentReference + : T extends JSONDocumentReference ? DocumentReference - : T extends SerialGeoPoint + : T extends JSONGeoPoint ? GeoPoint : T extends Record ? { @@ -56,17 +56,17 @@ export type WriteConverter = NoDirectNestedArray< | ArrayUnionOrRemove> : T extends DocumentReference | ServerTimestamp | GeoPoint ? T - : T extends SerialServerTimestamp + : T extends JSONServerTimestamp ? ServerTimestamp - : T extends SerialDocumentReference + : T extends JSONDocumentReference ? DocumentReference - : T extends SerialGeoPoint + : T extends JSONGeoPoint ? GeoPoint : T extends number ? number extends T ? T | Increment : T - : T extends Timestamp | Date | SerialDate | SerialTimestamp + : T extends Timestamp | Date | JSONDate | JSONTimestamp ? Timestamp | Date : T extends Record ? { @@ -91,17 +91,17 @@ export type WriteUpdateConverter = NoDirectNestedArray< | Delete | GeoPoint ? T - : T extends SerialServerTimestamp + : T extends JSONServerTimestamp ? ServerTimestamp - : T extends SerialDocumentReference + : T extends JSONDocumentReference ? DocumentReference - : T extends SerialGeoPoint + : T extends JSONGeoPoint ? GeoPoint : T extends number ? number extends T ? T | Increment : T - : T extends Timestamp | Date | SerialDate | SerialTimestamp + : T extends Timestamp | Date | JSONDate | JSONTimestamp ? Timestamp | Date : T extends Record ? { diff --git a/src/types/serial.ts b/src/types/serial.ts index a94f213..c4e0d5f 100644 --- a/src/types/serial.ts +++ b/src/types/serial.ts @@ -3,36 +3,35 @@ import { DocumentReference } from './refs' import { MetaType } from './metaTypeCreator' import { StrictPick } from './utils' -declare const SerialServerTimestampSymbol: unique symbol -declare const SerialTimestampSymbol: unique symbol -declare const SerialDateSymbol: unique symbol -declare const SerialGeoPointSymbol: unique symbol -declare const SerialDocumentReferenceSymbol: unique symbol - -type SerialServerTimestampSymbol = typeof SerialServerTimestampSymbol -type SerialTimestampSymbol = typeof SerialTimestampSymbol -type SerialDateSymbol = typeof SerialDateSymbol -type SerialGeoPointSymbol = typeof SerialGeoPointSymbol -type SerialDocumentReferenceSymbol = typeof SerialDocumentReferenceSymbol - -declare class Serial { - Firelord_Serial: T +declare const JSONServerTimestampSymbol: unique symbol +declare const JSONTimestampSymbol: unique symbol +declare const JSONDateSymbol: unique symbol +declare const JSONGeoPointSymbol: unique symbol +declare const JSONDocumentReferenceSymbol: unique symbol + +type JSONServerTimestampSymbol = typeof JSONServerTimestampSymbol +type JSONTimestampSymbol = typeof JSONTimestampSymbol +type JSONDateSymbol = typeof JSONDateSymbol +type JSONGeoPointSymbol = typeof JSONGeoPointSymbol +type JSONDocumentReferenceSymbol = typeof JSONDocumentReferenceSymbol + +declare class JSON { + Firelord_JSON: T } -export interface SerialServerTimestamp - extends Serial {} +export interface JSONServerTimestamp extends JSON {} -export interface SerialDate extends Serial {} +export interface JSONDate extends JSON {} -export interface SerialTimestamp +export interface JSONTimestamp extends StrictPick, - Serial {} + JSON {} -export interface SerialGeoPoint extends Serial { +export interface JSONGeoPoint extends JSON { latitude: number longitude: number } -export interface SerialDocumentReference +export interface JSONDocumentReference extends StrictPick, 'type'>, - Serial {} + JSON {}