@fncts/schema 0.0.10 → 0.0.11

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.
@@ -27,3 +27,8 @@ export interface OptionalSchema<in out A> extends Schema<A> {
27
27
  export declare namespace Schema {
28
28
  type Infer<S extends Schema<any>> = Parameters<S[SchemaVariance]["_A"]>[0];
29
29
  }
30
+ /**
31
+ * @tsplus static fncts.schema.SchemaOps isSchema
32
+ * @tsplus location "@fncts/schema/Schema/definition"
33
+ */
34
+ export declare function isSchema(u: unknown): u is Schema<unknown>;
package/Schema.d.ts CHANGED
@@ -8,3 +8,4 @@ export * from "./Schema/api/hashSet.js";
8
8
  export * from "./Schema/api/immutableArray.js";
9
9
  export * from "./Schema/api/list.js";
10
10
  export * from "./Schema/api/maybe.js";
11
+ export type {} from "./Parser.js";
@@ -63,9 +63,12 @@ function parseMaybe(ast) {
63
63
  function parseOrThrow(ast) {
64
64
  const parser = (0, _interpreter.parserFor)(ast);
65
65
  return (input, options) => {
66
- return tsplus_module_5.match(errors => {
67
- throw new Error(tsplus_module_3.format(errors));
68
- }, tsplus_module_4.identity)(parser(input, options));
66
+ return tsplus_module_5.match({
67
+ Left: errors => {
68
+ throw new Error(tsplus_module_3.format(errors));
69
+ },
70
+ Right: tsplus_module_4.identity
71
+ })(parser(input, options));
69
72
  };
70
73
  }
71
74
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"api.cjs","names":["_interpreter","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","decode","schema","parserFor","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encode","reverse","encodeMaybe","is","input","options","tsplus_module_2","isRight","parse","toMaybe","parseOrThrow","parser","tsplus_module_5","match","errors","Error","tsplus_module_3","format","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":"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"}
1
+ {"version":3,"file":"api.cjs","names":["_interpreter","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_interopRequireWildcard","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","decode","schema","parserFor","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encode","reverse","encodeMaybe","is","input","options","tsplus_module_2","isRight","parse","toMaybe","parseOrThrow","parser","tsplus_module_5","match","Left","errors","Error","tsplus_module_3","format","Right","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;AAEA,IAAAA,YAAA,gBAAAC,OAAA;AAA6C,SAAAC,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAI,wBAAAC,GAAA,EAAAL,WAAA,SAAAA,WAAA,IAAAK,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAT,wBAAA,CAAAC,WAAA,OAAAQ,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE7C;;;;AAIM,SAAUW,MAAMA,CAAIC,MAAiB;EACzC,OAAO,IAAAC,sBAAS,EAACD,MAAM,CAACE,GAAG,CAAC;AAC9B;AAEA;;;;AAIM,SAAUC,WAAWA,CAAIH,MAAiB;EAC9C,OAAOI,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACN,MAAM,CAACE,GAAG,EAAO;AACrC;AAEA;;;;AAIM,SAAUK,MAAMA,CAAIP,MAAiB;EACzC,OAAO,IAAAC,sBAAS,EAAAI,eAAA,CAAAG,OAAA,CAACR,MAAM,CAACE,GAAG,EAAS;AACtC;AAEA;;;;AAIM,SAAUO,WAAWA,CAAIT,MAAiB;EAC9C,OAAOI,UAAU,CAAAC,eAAA,CAAAG,OAAA,CAACR,MAAM,CAACE,GAAG,EAAS;AACvC;AAEA;;;;AAIM,SAAUQ,EAAEA,CAAIV,MAAiB;EACrC,OAAO,CAACW,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAOC,eAAA,CAAAC,OAAA,KAAAb,sBAAS,EAACD,MAAM,CAACE,GAAG,CAAC,CAACS,KAAK,EAAEC,OAAO,CAAC,CAAU;EACxD,CAAC;AACH;AAEA,SAASR,UAAUA,CAACF,GAAQ;EAC1B,MAAMa,KAAK,GAAG,IAAAd,sBAAS,EAACC,GAAG,CAAC;EAC5B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAG,OAAA,CAAOD,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASK,YAAYA,CAACf,GAAQ;EAC5B,MAAMgB,MAAM,GAAG,IAAAjB,sBAAS,EAACC,GAAG,CAAC;EAC7B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOO,eAAA,CAAAC,KAAA,CAA6B;MAClCC,IAAI,EAAGC,MAAM,IAAI;QACf,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,MAAM,CAAC,CAAC;MAC5C,CAAC;MACDI,KAAK,EAAAC,eAAA,CAAAC;KACN,EALMV,MAAM,CAACP,KAAK,EAAEC,OAAO,CAAC,CAK3B;EACJ,CAAC;AACH;AAEA;;;;AAIM,SAAUiB,OAAOA,CAAI7B,MAAiB;EAC1C,OAAO,CAACW,KAAc,EAAEC,OAAsB,KAAwB;IACpEK,YAAY,CAAAZ,eAAA,CAAAC,KAAA,CAACN,MAAM,CAACE,GAAG,EAAO,CAACS,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}
@@ -4,6 +4,10 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.SchemaVariance = exports.SchemaTypeId = exports.Schema = exports.OptionalSchemaSymbol = void 0;
7
+ exports.isSchema = isSchema;
8
+ var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/util/predicates"));
9
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
10
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
7
11
  var _a;
8
12
  const SchemaVariance = /*#__PURE__*/Symbol.for("fncts.schema.Schema.Variance");
9
13
  exports.SchemaVariance = SchemaVariance;
@@ -23,4 +27,10 @@ class Schema {
23
27
  }
24
28
  exports.Schema = Schema;
25
29
  _a = SchemaTypeId;
30
+ /**
31
+ * @tsplus static fncts.schema.SchemaOps isSchema
32
+ */
33
+ function isSchema(u) {
34
+ return tsplus_module_1.isObject(u) && SchemaTypeId in u;
35
+ }
26
36
  //# sourceMappingURL=definition.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.cjs","names":["SchemaVariance","Symbol","for","exports","SchemaTypeId","OptionalSchemaSymbol","Schema","constructor","ast","_a"],"sources":["../../_src/Schema/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;AAAO,MAAMA,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAACC,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAGlE,MAAMI,YAAY,gBAAGH,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAACC,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAGvD,MAAMC,oBAAoB,gBAAGJ,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAOpF;;;;AAAAC,OAAA,CAAAE,oBAAA,GAAAA,oBAAA;AAIM,MAAOC,MAAM;EAKjBC,YAAqBC,GAAQ;IAAR,KAAAA,GAAG,GAAHA,GAAG;IAJf,KAAAC,EAAA,CAAc,GAAiBL,YAAY;EAIpB;;AACjCD,OAAA,CAAAG,MAAA,GAAAA,MAAA;KALWF,YAAY"}
1
+ {"version":3,"file":"definition.cjs","names":["SchemaVariance","Symbol","for","exports","SchemaTypeId","OptionalSchemaSymbol","Schema","constructor","ast","_a","isSchema","u","tsplus_module_1","isObject"],"sources":["../../_src/Schema/definition.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;AAAO,MAAMA,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAACC,OAAA,CAAAH,cAAA,GAAAA,cAAA;AAGlE,MAAMI,YAAY,gBAAGH,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAACC,OAAA,CAAAC,YAAA,GAAAA,YAAA;AAGvD,MAAMC,oBAAoB,gBAAGJ,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAOpF;;;;AAAAC,OAAA,CAAAE,oBAAA,GAAAA,oBAAA;AAIM,MAAOC,MAAM;EAKjBC,YAAqBC,GAAQ;IAAR,KAAAA,GAAG,GAAHA,GAAG;IAJf,KAAAC,EAAA,CAAc,GAAiBL,YAAY;EAIpB;;AACjCD,OAAA,CAAAG,MAAA,GAAAA,MAAA;KALWF,YAAY;AAexB;;;AAGM,SAAUM,QAAQA,CAACC,CAAU;EACjC,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIP,YAAY,IAAIO,CAAC;AACzC"}
@@ -50,9 +50,12 @@ function parseMaybe(ast) {
50
50
  function parseOrThrow(ast) {
51
51
  const parser = parserFor(ast);
52
52
  return (input, options) => {
53
- return tsplus_module_5.match(errors => {
54
- throw new Error(tsplus_module_3.format(errors));
55
- }, tsplus_module_4.identity)(parser(input, options));
53
+ return tsplus_module_5.match({
54
+ Left: errors => {
55
+ throw new Error(tsplus_module_3.format(errors));
56
+ },
57
+ Right: tsplus_module_4.identity
58
+ })(parser(input, options));
56
59
  };
57
60
  }
58
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"api.mjs","names":["parserFor","decode","schema","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encode","reverse","encodeMaybe","is","input","options","tsplus_module_2","isRight","parse","toMaybe","parseOrThrow","parser","tsplus_module_5","match","errors","Error","tsplus_module_3","format","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;AAEA,SAASA,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAMA,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC;AAC9B;AAEA;;;;AAIA,OAAM,SAAUC,WAAWA,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,OAAM,SAAUK,MAAMA,CAAIN,MAAiB;EACzC,OAAOF,SAAS,CAAAM,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACtC;AAEA;;;;AAIA,OAAM,SAAUO,WAAWA,CAAIR,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACvC;AAEA;;;;AAIA,OAAM,SAAUQ,EAAEA,CAAIT,MAAiB;EACrC,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAOC,eAAA,CAAAC,OAAA,CAAAf,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC,CAACS,KAAK,EAAEC,OAAO,CAAC,CAAU;EACxD,CAAC;AACH;AAEA,SAASR,UAAUA,CAACF,GAAQ;EAC1B,MAAMa,KAAK,GAAGhB,SAAS,CAACG,GAAG,CAAC;EAC5B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAG,OAAA,CAAOD,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASK,YAAYA,CAACf,GAAQ;EAC5B,MAAMgB,MAAM,GAAGnB,SAAS,CAACG,GAAG,CAAC;EAC7B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOO,eAAA,CAAAC,KAAA,CAA8BC,MAAM,IAAI;MAC7C,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,MAAM,CAAC,CAAC;IAC5C,CAAC,EAAAI,eAAA,CAAAC,QAAA,EAFMR,MAAM,CAACP,KAAK,EAAEC,OAAO,CAAC,CAER;EACvB,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUe,OAAOA,CAAI1B,MAAiB;EAC1C,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAwB;IACpEK,YAAY,CAAAZ,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO,CAACS,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}
1
+ {"version":3,"file":"api.mjs","names":["parserFor","decode","schema","ast","decodeMaybe","parseMaybe","tsplus_module_1","getTo","encode","reverse","encodeMaybe","is","input","options","tsplus_module_2","isRight","parse","toMaybe","parseOrThrow","parser","tsplus_module_5","match","Left","errors","Error","tsplus_module_3","format","Right","tsplus_module_4","identity","asserts"],"sources":["../../_src/Parser/api.ts"],"sourcesContent":[null],"mappings":";;;;;AAEA,SAASA,SAAS,QAAQ,mBAAkB;AAE5C;;;;AAIA,OAAM,SAAUC,MAAMA,CAAIC,MAAiB;EACzC,OAAOF,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC;AAC9B;AAEA;;;;AAIA,OAAM,SAAUC,WAAWA,CAAIF,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO;AACrC;AAEA;;;;AAIA,OAAM,SAAUK,MAAMA,CAAIN,MAAiB;EACzC,OAAOF,SAAS,CAAAM,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACtC;AAEA;;;;AAIA,OAAM,SAAUO,WAAWA,CAAIR,MAAiB;EAC9C,OAAOG,UAAU,CAAAC,eAAA,CAAAG,OAAA,CAACP,MAAM,CAACC,GAAG,EAAS;AACvC;AAEA;;;;AAIA,OAAM,SAAUQ,EAAEA,CAAIT,MAAiB;EACrC,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAOC,eAAA,CAAAC,OAAA,CAAAf,SAAS,CAACE,MAAM,CAACC,GAAG,CAAC,CAACS,KAAK,EAAEC,OAAO,CAAC,CAAU;EACxD,CAAC;AACH;AAEA,SAASR,UAAUA,CAACF,GAAQ;EAC1B,MAAMa,KAAK,GAAGhB,SAAS,CAACG,GAAG,CAAC;EAC5B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAgB;IAC5D,OAAAC,eAAA,CAAAG,OAAA,CAAOD,KAAK,CAACJ,KAAK,EAAEC,OAAO,CAAC;EAC9B,CAAC;AACH;AAEA,SAASK,YAAYA,CAACf,GAAQ;EAC5B,MAAMgB,MAAM,GAAGnB,SAAS,CAACG,GAAG,CAAC;EAC7B,OAAO,CAACS,KAAc,EAAEC,OAAsB,KAAI;IAChD,OAAOO,eAAA,CAAAC,KAAA,CAA6B;MAClCC,IAAI,EAAGC,MAAM,IAAI;QACf,MAAM,IAAIC,KAAK,CAACC,eAAA,CAAAC,MAAA,CAAkBH,MAAM,CAAC,CAAC;MAC5C,CAAC;MACDI,KAAK,EAAAC,eAAA,CAAAC;KACN,EALMV,MAAM,CAACP,KAAK,EAAEC,OAAO,CAAC,CAK3B;EACJ,CAAC;AACH;AAEA;;;;AAIA,OAAM,SAAUiB,OAAOA,CAAI5B,MAAiB;EAC1C,OAAO,CAACU,KAAc,EAAEC,OAAsB,KAAwB;IACpEK,YAAY,CAAAZ,eAAA,CAAAC,KAAA,CAACL,MAAM,CAACC,GAAG,EAAO,CAACS,KAAK,EAAEC,OAAO,CAAC;EAChD,CAAC;AACH"}
@@ -1,4 +1,5 @@
1
1
  var _a;
2
+ import * as tsplus_module_1 from "@fncts/base/util/predicates";
2
3
  export const SchemaVariance = /*#__PURE__*/Symbol.for("fncts.schema.Schema.Variance");
3
4
  export const SchemaTypeId = /*#__PURE__*/Symbol.for("fncts.schema.Schema");
4
5
  export const OptionalSchemaSymbol = /*#__PURE__*/Symbol.for("fncts.schema.Schema.OptionalSchema");
@@ -13,4 +14,10 @@ export class Schema {
13
14
  }
14
15
  }
15
16
  _a = SchemaTypeId;
17
+ /**
18
+ * @tsplus static fncts.schema.SchemaOps isSchema
19
+ */
20
+ export function isSchema(u) {
21
+ return tsplus_module_1.isObject(u) && SchemaTypeId in u;
22
+ }
16
23
  //# sourceMappingURL=definition.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"definition.mjs","names":["SchemaVariance","Symbol","for","SchemaTypeId","OptionalSchemaSymbol","Schema","constructor","ast","_a"],"sources":["../../_src/Schema/definition.ts"],"sourcesContent":[null],"mappings":";AAAA,OAAO,MAAMA,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAGxE,OAAO,MAAMC,YAAY,gBAAGF,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAG7D,OAAO,MAAME,oBAAoB,gBAAGH,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAOpF;;;;AAIA,OAAM,MAAOG,MAAM;EAKjBC,YAAqBC,GAAQ;IAAR,KAAAA,GAAG,GAAHA,GAAG;IAJf,KAAAC,EAAA,CAAc,GAAiBL,YAAY;EAIpB;;KAJtBA,YAAY"}
1
+ {"version":3,"file":"definition.mjs","names":["SchemaVariance","Symbol","for","SchemaTypeId","OptionalSchemaSymbol","Schema","constructor","ast","_a","isSchema","u","tsplus_module_1","isObject"],"sources":["../../_src/Schema/definition.ts"],"sourcesContent":[null],"mappings":";;AAAA,OAAO,MAAMA,cAAc,gBAAGC,MAAM,CAACC,GAAG,CAAC,8BAA8B,CAAC;AAGxE,OAAO,MAAMC,YAAY,gBAAGF,MAAM,CAACC,GAAG,CAAC,qBAAqB,CAAC;AAG7D,OAAO,MAAME,oBAAoB,gBAAGH,MAAM,CAACC,GAAG,CAAC,oCAAoC,CAAC;AAOpF;;;;AAIA,OAAM,MAAOG,MAAM;EAKjBC,YAAqBC,GAAQ;IAAR,KAAAA,GAAG,GAAHA,GAAG;IAJf,KAAAC,EAAA,CAAc,GAAiBL,YAAY;EAIpB;;KAJtBA,YAAY;AAexB;;;AAGA,OAAM,SAAUM,QAAQA,CAACC,CAAU;EACjC,OAAOC,eAAA,CAAAC,QAAQ,CAACF,CAAC,CAAC,IAAIP,YAAY,IAAIO,CAAC;AACzC"}
@@ -54,9 +54,12 @@ function parseMaybe(ast: AST) {
54
54
  function parseOrThrow(ast: AST) {
55
55
  const parser = parserFor(ast);
56
56
  return (input: unknown, options?: ParseOptions) => {
57
- return parser(input, options).match((errors) => {
58
- throw new Error(ParseError.format(errors));
59
- }, Function.identity);
57
+ return parser(input, options).match({
58
+ Left: (errors) => {
59
+ throw new Error(ParseError.format(errors));
60
+ },
61
+ Right: Function.identity,
62
+ });
60
63
  };
61
64
  }
62
65
 
@@ -30,3 +30,10 @@ export interface OptionalSchema<in out A> extends Schema<A> {
30
30
  export declare namespace Schema {
31
31
  export type Infer<S extends Schema<any>> = Parameters<S[SchemaVariance]["_A"]>[0];
32
32
  }
33
+
34
+ /**
35
+ * @tsplus static fncts.schema.SchemaOps isSchema
36
+ */
37
+ export function isSchema(u: unknown): u is Schema<unknown> {
38
+ return isObject(u) && SchemaTypeId in u;
39
+ }
package/_src/Schema.ts CHANGED
@@ -13,3 +13,5 @@ export * from "./Schema/api/immutableArray.js";
13
13
  export * from "./Schema/api/list.js";
14
14
  export * from "./Schema/api/maybe.js";
15
15
  // codegen:end
16
+
17
+ export type {} from "./Parser.js";
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@fncts/schema",
3
- "version": "0.0.10",
3
+ "version": "0.0.11",
4
4
  "dependencies": {
5
- "@fncts/base": "0.0.31",
5
+ "@fncts/base": "0.0.32",
6
6
  "@fncts/typelevel": "0.0.15"
7
7
  },
8
8
  "exports": {