Skip to main content
Glama
ssv445

Lorem Ipsum MCP Server

by ssv445
context.js8.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.unsafeGetReference = exports.unsafeGet = exports.pick = exports.omit = exports.mergeAll = exports.merge = exports.makeGenericTag = exports.makeContext = exports.make = exports.isTag = exports.isReference = exports.isContext = exports.getOrElse = exports.getOption = exports.get = exports.empty = exports.add = exports.TypeId = exports.TagTypeId = exports.TagProto = exports.Tag = exports.STMTypeId = exports.ReferenceTypeId = exports.ReferenceProto = exports.Reference = exports.ContextProto = void 0; var Equal = _interopRequireWildcard(require("../Equal.js")); var _Function = require("../Function.js"); var _GlobalValue = require("../GlobalValue.js"); var Hash = _interopRequireWildcard(require("../Hash.js")); var _Inspectable = require("../Inspectable.js"); var _Pipeable = require("../Pipeable.js"); var _Predicate = require("../Predicate.js"); var _effectable = require("./effectable.js"); var option = _interopRequireWildcard(require("./option.js")); function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); } /** @internal */ const TagTypeId = exports.TagTypeId = /*#__PURE__*/Symbol.for("effect/Context/Tag"); /** @internal */ const ReferenceTypeId = exports.ReferenceTypeId = /*#__PURE__*/Symbol.for("effect/Context/Reference"); /** @internal */ const STMSymbolKey = "effect/STM"; /** @internal */ const STMTypeId = exports.STMTypeId = /*#__PURE__*/Symbol.for(STMSymbolKey); /** @internal */ const TagProto = exports.TagProto = { ..._effectable.EffectPrototype, _op: "Tag", [STMTypeId]: _effectable.effectVariance, [TagTypeId]: { _Service: _ => _, _Identifier: _ => _ }, toString() { return (0, _Inspectable.format)(this.toJSON()); }, toJSON() { return { _id: "Tag", key: this.key, stack: this.stack }; }, [_Inspectable.NodeInspectSymbol]() { return this.toJSON(); }, of(self) { return self; }, context(self) { return make(this, self); } }; const ReferenceProto = exports.ReferenceProto = { ...TagProto, [ReferenceTypeId]: ReferenceTypeId }; /** @internal */ const makeGenericTag = key => { const limit = Error.stackTraceLimit; Error.stackTraceLimit = 2; const creationError = new Error(); Error.stackTraceLimit = limit; const tag = Object.create(TagProto); Object.defineProperty(tag, "stack", { get() { return creationError.stack; } }); tag.key = key; return tag; }; /** @internal */ exports.makeGenericTag = makeGenericTag; const Tag = id => () => { const limit = Error.stackTraceLimit; Error.stackTraceLimit = 2; const creationError = new Error(); Error.stackTraceLimit = limit; function TagClass() {} Object.setPrototypeOf(TagClass, TagProto); TagClass.key = id; Object.defineProperty(TagClass, "stack", { get() { return creationError.stack; } }); return TagClass; }; /** @internal */ exports.Tag = Tag; const Reference = () => (id, options) => { const limit = Error.stackTraceLimit; Error.stackTraceLimit = 2; const creationError = new Error(); Error.stackTraceLimit = limit; function ReferenceClass() {} Object.setPrototypeOf(ReferenceClass, ReferenceProto); ReferenceClass.key = id; ReferenceClass.defaultValue = options.defaultValue; Object.defineProperty(ReferenceClass, "stack", { get() { return creationError.stack; } }); return ReferenceClass; }; /** @internal */ exports.Reference = Reference; const TypeId = exports.TypeId = /*#__PURE__*/Symbol.for("effect/Context"); /** @internal */ const ContextProto = exports.ContextProto = { [TypeId]: { _Services: _ => _ }, [Equal.symbol](that) { if (isContext(that)) { if (this.unsafeMap.size === that.unsafeMap.size) { for (const k of this.unsafeMap.keys()) { if (!that.unsafeMap.has(k) || !Equal.equals(this.unsafeMap.get(k), that.unsafeMap.get(k))) { return false; } } return true; } } return false; }, [Hash.symbol]() { return Hash.cached(this, Hash.number(this.unsafeMap.size)); }, pipe() { return (0, _Pipeable.pipeArguments)(this, arguments); }, toString() { return (0, _Inspectable.format)(this.toJSON()); }, toJSON() { return { _id: "Context", services: Array.from(this.unsafeMap).map(_Inspectable.toJSON) }; }, [_Inspectable.NodeInspectSymbol]() { return this.toJSON(); } }; /** @internal */ const makeContext = unsafeMap => { const context = Object.create(ContextProto); context.unsafeMap = unsafeMap; return context; }; exports.makeContext = makeContext; const serviceNotFoundError = tag => { const error = new Error(`Service not found${tag.key ? `: ${String(tag.key)}` : ""}`); if (tag.stack) { const lines = tag.stack.split("\n"); if (lines.length > 2) { const afterAt = lines[2].match(/at (.*)/); if (afterAt) { error.message = error.message + ` (defined at ${afterAt[1]})`; } } } if (error.stack) { const lines = error.stack.split("\n"); lines.splice(1, 3); error.stack = lines.join("\n"); } return error; }; /** @internal */ const isContext = u => (0, _Predicate.hasProperty)(u, TypeId); /** @internal */ exports.isContext = isContext; const isTag = u => (0, _Predicate.hasProperty)(u, TagTypeId); /** @internal */ exports.isTag = isTag; const isReference = u => (0, _Predicate.hasProperty)(u, ReferenceTypeId); exports.isReference = isReference; const _empty = /*#__PURE__*/makeContext(/*#__PURE__*/new Map()); /** @internal */ const empty = () => _empty; /** @internal */ exports.empty = empty; const make = (tag, service) => makeContext(new Map([[tag.key, service]])); /** @internal */ exports.make = make; const add = exports.add = /*#__PURE__*/(0, _Function.dual)(3, (self, tag, service) => { const map = new Map(self.unsafeMap); map.set(tag.key, service); return makeContext(map); }); const defaultValueCache = /*#__PURE__*/(0, _GlobalValue.globalValue)("effect/Context/defaultValueCache", () => new Map()); const getDefaultValue = tag => { if (defaultValueCache.has(tag.key)) { return defaultValueCache.get(tag.key); } const value = tag.defaultValue(); defaultValueCache.set(tag.key, value); return value; }; /** @internal */ const unsafeGetReference = (self, tag) => { return self.unsafeMap.has(tag.key) ? self.unsafeMap.get(tag.key) : getDefaultValue(tag); }; /** @internal */ exports.unsafeGetReference = unsafeGetReference; const unsafeGet = exports.unsafeGet = /*#__PURE__*/(0, _Function.dual)(2, (self, tag) => { if (!self.unsafeMap.has(tag.key)) { if (ReferenceTypeId in tag) return getDefaultValue(tag); throw serviceNotFoundError(tag); } return self.unsafeMap.get(tag.key); }); /** @internal */ const get = exports.get = unsafeGet; /** @internal */ const getOrElse = exports.getOrElse = /*#__PURE__*/(0, _Function.dual)(3, (self, tag, orElse) => { if (!self.unsafeMap.has(tag.key)) { return isReference(tag) ? getDefaultValue(tag) : orElse(); } return self.unsafeMap.get(tag.key); }); /** @internal */ const getOption = exports.getOption = /*#__PURE__*/(0, _Function.dual)(2, (self, tag) => { if (!self.unsafeMap.has(tag.key)) { return isReference(tag) ? option.some(getDefaultValue(tag)) : option.none; } return option.some(self.unsafeMap.get(tag.key)); }); /** @internal */ const merge = exports.merge = /*#__PURE__*/(0, _Function.dual)(2, (self, that) => { const map = new Map(self.unsafeMap); for (const [tag, s] of that.unsafeMap) { map.set(tag, s); } return makeContext(map); }); /** @internal */ const mergeAll = (...ctxs) => { const map = new Map(); for (const ctx of ctxs) { for (const [tag, s] of ctx.unsafeMap) { map.set(tag, s); } } return makeContext(map); }; /** @internal */ exports.mergeAll = mergeAll; const pick = (...tags) => self => { const tagSet = new Set(tags.map(_ => _.key)); const newEnv = new Map(); for (const [tag, s] of self.unsafeMap.entries()) { if (tagSet.has(tag)) { newEnv.set(tag, s); } } return makeContext(newEnv); }; /** @internal */ exports.pick = pick; const omit = (...tags) => self => { const newEnv = new Map(self.unsafeMap); for (const tag of tags) { newEnv.delete(tag.key); } return makeContext(newEnv); }; exports.omit = omit; //# sourceMappingURL=context.js.map

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ssv445/lorem-ipsum-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server