1.3.1 • Published 11 months ago

@prsm/arc-server v1.3.1

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

arc-server

arc-server uses @prsm/duplex to create a server that @prsm/arc-client clients can connect to and communicate with.

Quickstart

import { ArcServer } from "@prsm/arc-server";

ArcServer.init({ host: "0.0.0.0", port: 3351, secure: false });

You can listen to command events.

ArcServer.emitter.on("auth", ({ payload }) => { });
ArcServer.emitter.on("query", ({ payload }) => { });
ArcServer.emitter.on("createUser", ({ payload }) => { });
ArcServer.emitter.on("removeUser", ({ payload }) => { });

You can query directly from the server instance.

ArcServer.query({
  collection: "planets",
  operation: "find",
  data: {
    query: { name: { $includes: "M" } },
  },
});

Sharded collections

Normally, when you query for a collection, the server will create a standard Collection instance for you.

If you want to have a ShardedCollection instance instead, you can define a ShardedCollectionDefinition[] and pass it to the server during init.

const shardedCollections = [
  {
    // Collection name
    name: "planets",
    // The key to shard on
    shardKey: "planet_name",
    // How many shards to create
    shardCount: 3,
    // The adapter to use (not instantiated, just the class)
    adapter: FSAdapter,
    // The options to pass to the adapter when a shard Collection is created
    adapterOptions: {
      storagePath: ".data", // where to store the shards
      name: "planets", // this is the name of the shard files (planets_shard0, etc)
    },
  },
];

ArcServer.init({ ..., shardedCollections });

For an explanation of the above options, see ShardedCollectionDefinition

1.3.1

11 months ago

1.3.0

11 months ago

1.2.8

12 months ago

1.2.7

1 year ago

1.2.6

1 year ago

1.2.5

1 year ago

1.2.4

1 year ago

1.2.3

1 year ago

1.2.2

1 year ago

1.2.1

1 year ago

1.2.0

1 year ago

1.1.0

1 year ago