Hyperlinkv0.8.0-beta.28

ShardMap

ShardMap.serveRemoteconstsrc/ShardMap.ts:614
<Self, Key extends Schema.Top, Value extends Schema.Top, Error extends Schema.Top>(tag: ShardMapTag<Self, Key, Value, Error>, options?: ShardMapOptions): Layer.Layer<Handler<'get'> | Handler<'size'> | Handler<'put'> | Handler<'delete'> | Handler<'getLocal'> | Handler<'putLocal'> | Handler<'deleteLocal'> | Handler<'sizeLocal'> | Handler<'sizeByNode'>, never, Hyperlink.PeersId<Self> | Hyperlink.SelfNodeId<Self> | (([Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends (payload: never) => Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends (payload: never) => Stream<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct<Fields extends Schema.Struct.Fields>.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends Stream<unknown, unknown, infer R> ? R : never) | (([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends (payload: never) => Effect.Effect<unknown, unknown, infer R> ? R : ([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends (payload: never) => Stream<unknown, unknown, infer R> ? R : ([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends Effect.Effect<unknown, unknown, infer R> ? R : ([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends Stream<unknown, unknown, infer R> ? R : never) | (([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends (payload: never) => Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends (payload: never) => Stream<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends Stream<unknown, unknown, infer R> ? R : never) | (([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends (payload: never) => Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends (payload: never) => Stream<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<Option.Option<Value['Type']>, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Option<Value>, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<Option.Option<Value['Type']>, unknown, never>) extends Stream<unknown, unknown, infer R> ? R : never) | (([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<void, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Void, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<void, unknown, never>) extends (payload: never) => Effect.Effect<unknown, unknown, infer R> ? R : ([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<void, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Void, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<void, unknown, never>) extends (payload: never) => Stream<unknown, unknown, infer R> ? R : ([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<void, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Void, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<void, unknown, never>) extends Effect.Effect<unknown, unknown, infer R> ? R : ([Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never] extends [undefined] ? Effect.Effect<void, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Value extends Schema.Struct.Fields ? Value : Value extends Schema.Top ? Value : never, Schema.Void, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<void, unknown, never>) extends Stream<unknown, unknown, infer R> ? R : never) | (([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends (payload: never) => Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends (payload: never) => Stream<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends Effect.Effect<unknown, unknown, infer R> ? R : ([Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never] extends [undefined] ? Effect.Effect<boolean, unknown, never> : (payload: PayloadOf<Hyperlink.Method<Key extends Schema.Struct.Fields ? Key : Key extends Schema.Top ? Key : never, Schema.Boolean, Schema.Top, false, Hyperlink.MethodAnnotations & { description: string; }, Hyperlink.Derive>>) => Effect.Effect<boolean, unknown, never>) extends Stream<unknown, unknown, infer R> ? R : never)>

Serve this ShardMap remotely (served-only) — counterpart to Hyperlink.serveRemote. Mounts routed + fleet handlers without granting the local instance. Opens SQLite (:memory: by default). Requires the mesh capability (Hyperlink.peersLayer or peersFrom + selfNodeLayer).

Source src/ShardMap.ts:61416 lines
export const serveRemote = <
  Self,
  Key extends Schema.Top,
  Value extends Schema.Top,
  Error extends Schema.Top,
>(
  tag: ShardMapTag<Self, Key, Value, Error>,
  options?: ShardMapOptions,
) =>
  withSqlite(
    options,
    buildImpl(tag, options).pipe(
      Effect.map((impl) => Hyperlink.serveRemote(tag, asServeImpl(impl))),
      Layer.unwrap,
    ),
  );