@xyo-network/archivist-firebase 5.2.27 → 5.3.1

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.
@@ -9,7 +9,7 @@ export declare class FirebaseArchivist<TParams extends FirebaseArchivistParams =
9
9
  static readonly labels: {
10
10
  "network.xyo.storage.class": string;
11
11
  };
12
- get queries(): string[];
12
+ get queries(): Schema[];
13
13
  private get collection();
14
14
  private get firebaseApp();
15
15
  private get firestore();
@@ -1,7 +1,8 @@
1
1
  import type { ArchivistConfig } from '@xyo-network/archivist-model';
2
- import { FirebaseArchivistSchema } from './Schema.ts';
3
- export type FirebaseArchivistConfigSchema = `${FirebaseArchivistSchema}.config`;
4
- export declare const FirebaseArchivistConfigSchema: FirebaseArchivistConfigSchema;
2
+ export declare const FirebaseArchivistConfigSchema: string & {
3
+ readonly __schema: true;
4
+ };
5
+ export type FirebaseArchivistConfigSchema = typeof FirebaseArchivistConfigSchema;
5
6
  export type FirebaseArchivistConfig = ArchivistConfig<{
6
7
  collection?: string;
7
8
  dbId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAEnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAA;AAErD,MAAM,MAAM,6BAA6B,GAAG,GAAG,uBAAuB,SAAS,CAAA;AAC/E,eAAO,MAAM,6BAA6B,EAAE,6BAAmE,CAAA;AAE/G,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,6BAA6B,CAAA;CACtC,CAAC,CAAA"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["../../src/Config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AAKnE,eAAO,MAAM,6BAA6B;;CAAsD,CAAA;AAChG,MAAM,MAAM,6BAA6B,GAAG,OAAO,6BAA6B,CAAA;AAEhF,MAAM,MAAM,uBAAuB,GAAG,eAAe,CAAC;IACpD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,6BAA6B,CAAA;CACtC,CAAC,CAAA"}
@@ -1,3 +1,5 @@
1
- export declare const FirebaseArchivistSchema = "network.xyo.archivist.firebase";
1
+ export declare const FirebaseArchivistSchema: "network.xyo.archivist.firebase" & {
2
+ readonly __schema: true;
3
+ };
2
4
  export type FirebaseArchivistSchema = typeof FirebaseArchivistSchema;
3
5
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,mCAAmC,CAAA;AACvE,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB;;CAAmD,CAAA;AACvF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAA"}
@@ -30,11 +30,15 @@ import { AbstractArchivist, StorageClassLabel } from "@xyo-network/archivist-abs
30
30
  import { ArchivistInsertQuerySchema } from "@xyo-network/archivist-model";
31
31
  import { creatableModule } from "@xyo-network/module-model";
32
32
 
33
+ // src/Config.ts
34
+ import { asSchema as asSchema2 } from "@xyo-network/payload-model";
35
+
33
36
  // src/Schema.ts
34
- var FirebaseArchivistSchema = "network.xyo.archivist.firebase";
37
+ import { asSchema } from "@xyo-network/payload-model";
38
+ var FirebaseArchivistSchema = asSchema("network.xyo.archivist.firebase", true);
35
39
 
36
40
  // src/Config.ts
37
- var FirebaseArchivistConfigSchema = `${FirebaseArchivistSchema}.config`;
41
+ var FirebaseArchivistConfigSchema = asSchema2(`${FirebaseArchivistSchema}.config`, true);
38
42
 
39
43
  // src/Archivist.ts
40
44
  var FirebaseArchivist = class extends AbstractArchivist {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Archivist.ts","../../src/Schema.ts","../../src/Config.ts"],"sourcesContent":["import {\n collection,\n doc,\n getDoc,\n getFirestore,\n setDoc,\n} from '@firebase/firestore'\nimport {\n assertEx, exists, Hash,\n} from '@xylabs/sdk-js'\nimport { AbstractArchivist, StorageClassLabel } from '@xyo-network/archivist-abstract'\nimport { ArchivistInsertQuerySchema, ArchivistModuleEventData } from '@xyo-network/archivist-model'\nimport { creatableModule } from '@xyo-network/module-model'\nimport {\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/payload-model'\n\nimport { FirebaseArchivistConfigSchema } from './Config.ts'\nimport { FirebaseArchivistParams } from './Params.ts'\n\n@creatableModule()\nexport class FirebaseArchivist<\n TParams extends FirebaseArchivistParams = FirebaseArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n> extends AbstractArchivist<TParams, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, FirebaseArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = FirebaseArchivistConfigSchema\n static override readonly labels = { ...super.labels, [StorageClassLabel]: 'network' }\n\n override get queries() {\n return [\n ArchivistInsertQuerySchema,\n ...super.queries,\n ]\n }\n\n private get collection() {\n return collection(this.firestore, assertEx(this.config.collection, () => 'Missing collection name'))\n }\n\n private get firebaseApp() {\n return assertEx(this.params.firebaseApp, () => 'Missing FirebaseApp')\n }\n\n private get firestore() {\n return getFirestore(this.firebaseApp, assertEx(this.config.dbId, () => 'no dbId specified'))\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const payloadCollection = this.collection\n return (await Promise.all(hashes.map(async (hash) => {\n const docRef = doc(payloadCollection, hash)\n const docSnap = await getDoc(docRef)\n if (!docSnap.exists()) {\n return null\n }\n return docSnap.data() as WithStorageMeta<Payload>\n }))).filter(exists)\n }\n\n protected override async insertHandler(payloads: WithStorageMeta<Payload>[]): Promise<WithStorageMeta<Payload>[]> {\n const payloadCollection = this.collection\n return await Promise.all(payloads.map(\n async (payload) => {\n const docRef = doc(payloadCollection, payload._hash)\n await setDoc(docRef, payload)\n return payload\n },\n ))\n }\n}\n","export const FirebaseArchivistSchema = 'network.xyo.archivist.firebase'\nexport type FirebaseArchivistSchema = typeof FirebaseArchivistSchema\n","import type { ArchivistConfig } from '@xyo-network/archivist-model'\n\nimport { FirebaseArchivistSchema } from './Schema.ts'\n\nexport type FirebaseArchivistConfigSchema = `${FirebaseArchivistSchema}.config`\nexport const FirebaseArchivistConfigSchema: FirebaseArchivistConfigSchema = `${FirebaseArchivistSchema}.config`\n\nexport type FirebaseArchivistConfig = ArchivistConfig<{\n collection?: string\n dbId?: string\n schema: FirebaseArchivistConfigSchema\n}>\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EAAU;AAAA,OACL;AACP,SAAS,mBAAmB,yBAAyB;AACrD,SAAS,kCAA4D;AACrE,SAAS,uBAAuB;;;ACZzB,IAAM,0BAA0B;;;ACKhC,IAAM,gCAA+D,GAAG,uBAAuB;;;AFgB/F,IAAM,oBAAN,cAGG,kBAAuC;AAAA,EAK/C,IAAa,UAAU;AACrB,WAAO;AAAA,MACL;AAAA,MACA,GAAG,MAAM;AAAA,IACX;AAAA,EACF;AAAA,EAEA,IAAY,aAAa;AACvB,WAAO,WAAW,KAAK,WAAW,SAAS,KAAK,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAAA,EACrG;AAAA,EAEA,IAAY,cAAc;AACxB,WAAO,SAAS,KAAK,OAAO,aAAa,MAAM,qBAAqB;AAAA,EACtE;AAAA,EAEA,IAAY,YAAY;AACtB,WAAO,aAAa,KAAK,aAAa,SAAS,KAAK,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAyB,WAAW,QAAqD;AACvF,UAAM,oBAAoB,KAAK;AAC/B,YAAQ,MAAM,QAAQ,IAAI,OAAO,IAAI,OAAO,SAAS;AACnD,YAAM,SAAS,IAAI,mBAAmB,IAAI;AAC1C,YAAM,UAAU,MAAM,OAAO,MAAM;AACnC,UAAI,CAAC,QAAQ,OAAO,GAAG;AACrB,eAAO;AAAA,MACT;AACA,aAAO,QAAQ,KAAK;AAAA,IACtB,CAAC,CAAC,GAAG,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,MAAyB,cAAc,UAA2E;AAChH,UAAM,oBAAoB,KAAK;AAC/B,WAAO,MAAM,QAAQ,IAAI,SAAS;AAAA,MAChC,OAAO,YAAY;AACjB,cAAM,SAAS,IAAI,mBAAmB,QAAQ,KAAK;AACnD,cAAM,OAAO,QAAQ,OAAO;AAC5B,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA,EACH;AACF;AA7CE,cAJW,mBAIc,iBAA0B,CAAC,GAAG,iDAAM,kBAAe,6BAA6B;AACzG,cALW,mBAKc,uBAA8B;AACvD,cANW,mBAMc,UAAS,EAAE,GAAG,iDAAM,WAAQ,CAAC,iBAAiB,GAAG,UAAU;AANzE,oBAAN;AAAA,EADN,gBAAgB;AAAA,GACJ;","names":[]}
1
+ {"version":3,"sources":["../../src/Archivist.ts","../../src/Config.ts","../../src/Schema.ts"],"sourcesContent":["import {\n collection,\n doc,\n getDoc,\n getFirestore,\n setDoc,\n} from '@firebase/firestore'\nimport {\n assertEx, exists, Hash,\n} from '@xylabs/sdk-js'\nimport { AbstractArchivist, StorageClassLabel } from '@xyo-network/archivist-abstract'\nimport { ArchivistInsertQuerySchema, ArchivistModuleEventData } from '@xyo-network/archivist-model'\nimport { creatableModule } from '@xyo-network/module-model'\nimport {\n Payload, Schema, WithStorageMeta,\n} from '@xyo-network/payload-model'\n\nimport { FirebaseArchivistConfigSchema } from './Config.ts'\nimport { FirebaseArchivistParams } from './Params.ts'\n\n@creatableModule()\nexport class FirebaseArchivist<\n TParams extends FirebaseArchivistParams = FirebaseArchivistParams,\n TEventData extends ArchivistModuleEventData = ArchivistModuleEventData,\n> extends AbstractArchivist<TParams, TEventData> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, FirebaseArchivistConfigSchema]\n static override readonly defaultConfigSchema: Schema = FirebaseArchivistConfigSchema\n static override readonly labels = { ...super.labels, [StorageClassLabel]: 'network' }\n\n override get queries() {\n return [\n ArchivistInsertQuerySchema,\n ...super.queries,\n ]\n }\n\n private get collection() {\n return collection(this.firestore, assertEx(this.config.collection, () => 'Missing collection name'))\n }\n\n private get firebaseApp() {\n return assertEx(this.params.firebaseApp, () => 'Missing FirebaseApp')\n }\n\n private get firestore() {\n return getFirestore(this.firebaseApp, assertEx(this.config.dbId, () => 'no dbId specified'))\n }\n\n protected override async getHandler(hashes: Hash[]): Promise<WithStorageMeta<Payload>[]> {\n const payloadCollection = this.collection\n return (await Promise.all(hashes.map(async (hash) => {\n const docRef = doc(payloadCollection, hash)\n const docSnap = await getDoc(docRef)\n if (!docSnap.exists()) {\n return null\n }\n return docSnap.data() as WithStorageMeta<Payload>\n }))).filter(exists)\n }\n\n protected override async insertHandler(payloads: WithStorageMeta<Payload>[]): Promise<WithStorageMeta<Payload>[]> {\n const payloadCollection = this.collection\n return await Promise.all(payloads.map(\n async (payload) => {\n const docRef = doc(payloadCollection, payload._hash)\n await setDoc(docRef, payload)\n return payload\n },\n ))\n }\n}\n","import type { ArchivistConfig } from '@xyo-network/archivist-model'\nimport { asSchema } from '@xyo-network/payload-model'\n\nimport { FirebaseArchivistSchema } from './Schema.ts'\n\nexport const FirebaseArchivistConfigSchema = asSchema(`${FirebaseArchivistSchema}.config`, true)\nexport type FirebaseArchivistConfigSchema = typeof FirebaseArchivistConfigSchema\n\nexport type FirebaseArchivistConfig = ArchivistConfig<{\n collection?: string\n dbId?: string\n schema: FirebaseArchivistConfigSchema\n}>\n","import { asSchema } from '@xyo-network/payload-model'\n\nexport const FirebaseArchivistSchema = asSchema('network.xyo.archivist.firebase', true)\nexport type FirebaseArchivistSchema = typeof FirebaseArchivistSchema\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EAAU;AAAA,OACL;AACP,SAAS,mBAAmB,yBAAyB;AACrD,SAAS,kCAA4D;AACrE,SAAS,uBAAuB;;;ACXhC,SAAS,YAAAA,iBAAgB;;;ACDzB,SAAS,gBAAgB;AAElB,IAAM,0BAA0B,SAAS,kCAAkC,IAAI;;;ADG/E,IAAM,gCAAgCC,UAAS,GAAG,uBAAuB,WAAW,IAAI;;;ADgBxF,IAAM,oBAAN,cAGG,kBAAuC;AAAA,EAK/C,IAAa,UAAU;AACrB,WAAO;AAAA,MACL;AAAA,MACA,GAAG,MAAM;AAAA,IACX;AAAA,EACF;AAAA,EAEA,IAAY,aAAa;AACvB,WAAO,WAAW,KAAK,WAAW,SAAS,KAAK,OAAO,YAAY,MAAM,yBAAyB,CAAC;AAAA,EACrG;AAAA,EAEA,IAAY,cAAc;AACxB,WAAO,SAAS,KAAK,OAAO,aAAa,MAAM,qBAAqB;AAAA,EACtE;AAAA,EAEA,IAAY,YAAY;AACtB,WAAO,aAAa,KAAK,aAAa,SAAS,KAAK,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAAA,EAC7F;AAAA,EAEA,MAAyB,WAAW,QAAqD;AACvF,UAAM,oBAAoB,KAAK;AAC/B,YAAQ,MAAM,QAAQ,IAAI,OAAO,IAAI,OAAO,SAAS;AACnD,YAAM,SAAS,IAAI,mBAAmB,IAAI;AAC1C,YAAM,UAAU,MAAM,OAAO,MAAM;AACnC,UAAI,CAAC,QAAQ,OAAO,GAAG;AACrB,eAAO;AAAA,MACT;AACA,aAAO,QAAQ,KAAK;AAAA,IACtB,CAAC,CAAC,GAAG,OAAO,MAAM;AAAA,EACpB;AAAA,EAEA,MAAyB,cAAc,UAA2E;AAChH,UAAM,oBAAoB,KAAK;AAC/B,WAAO,MAAM,QAAQ,IAAI,SAAS;AAAA,MAChC,OAAO,YAAY;AACjB,cAAM,SAAS,IAAI,mBAAmB,QAAQ,KAAK;AACnD,cAAM,OAAO,QAAQ,OAAO;AAC5B,eAAO;AAAA,MACT;AAAA,IACF,CAAC;AAAA,EACH;AACF;AA7CE,cAJW,mBAIc,iBAA0B,CAAC,GAAG,iDAAM,kBAAe,6BAA6B;AACzG,cALW,mBAKc,uBAA8B;AACvD,cANW,mBAMc,UAAS,EAAE,GAAG,iDAAM,WAAQ,CAAC,iBAAiB,GAAG,UAAU;AANzE,oBAAN;AAAA,EADN,gBAAgB;AAAA,GACJ;","names":["asSchema","asSchema"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xyo-network/archivist-firebase",
3
- "version": "5.2.27",
3
+ "version": "5.3.1",
4
4
  "description": "Primary SDK for using XYO Protocol 2.0",
5
5
  "homepage": "https://xyo.network",
6
6
  "bugs": {
@@ -39,10 +39,10 @@
39
39
  "@firebase/app": "~0.14.7",
40
40
  "@firebase/firestore": "~4.10.0",
41
41
  "@xylabs/sdk-js": "~5.0.64",
42
- "@xyo-network/archivist-abstract": "~5.2.27",
43
- "@xyo-network/archivist-model": "~5.2.27",
44
- "@xyo-network/module-model": "~5.2.27",
45
- "@xyo-network/payload-model": "~5.2.27"
42
+ "@xyo-network/archivist-abstract": "~5.3.1",
43
+ "@xyo-network/archivist-model": "~5.3.1",
44
+ "@xyo-network/module-model": "~5.3.1",
45
+ "@xyo-network/payload-model": "~5.3.1"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@firebase/rules-unit-testing": "~5.0.0",
package/src/Config.ts CHANGED
@@ -1,9 +1,10 @@
1
1
  import type { ArchivistConfig } from '@xyo-network/archivist-model'
2
+ import { asSchema } from '@xyo-network/payload-model'
2
3
 
3
4
  import { FirebaseArchivistSchema } from './Schema.ts'
4
5
 
5
- export type FirebaseArchivistConfigSchema = `${FirebaseArchivistSchema}.config`
6
- export const FirebaseArchivistConfigSchema: FirebaseArchivistConfigSchema = `${FirebaseArchivistSchema}.config`
6
+ export const FirebaseArchivistConfigSchema = asSchema(`${FirebaseArchivistSchema}.config`, true)
7
+ export type FirebaseArchivistConfigSchema = typeof FirebaseArchivistConfigSchema
7
8
 
8
9
  export type FirebaseArchivistConfig = ArchivistConfig<{
9
10
  collection?: string
package/src/Schema.ts CHANGED
@@ -1,2 +1,4 @@
1
- export const FirebaseArchivistSchema = 'network.xyo.archivist.firebase'
1
+ import { asSchema } from '@xyo-network/payload-model'
2
+
3
+ export const FirebaseArchivistSchema = asSchema('network.xyo.archivist.firebase', true)
2
4
  export type FirebaseArchivistSchema = typeof FirebaseArchivistSchema