git.iko.soy/rowtype-yoga/psfp
on 23914d4 help sign in
225 lines 11 kB history raw
1// Generated by purs version 0.13.6
2"use strict";
3var Control_Applicative = require("../Control.Applicative/index.js");
4var Control_Apply = require("../Control.Apply/index.js");
5var Control_Bind = require("../Control.Bind/index.js");
6var Control_Category = require("../Control.Category/index.js");
7var Control_Monad_Except = require("../Control.Monad.Except/index.js");
8var Control_Monad_Except_Trans = require("../Control.Monad.Except.Trans/index.js");
9var Control_Semigroupoid = require("../Control.Semigroupoid/index.js");
10var Data_Either = require("../Data.Either/index.js");
11var Data_Function = require("../Data.Function/index.js");
12var Data_Functor = require("../Data.Functor/index.js");
13var Data_Identity = require("../Data.Identity/index.js");
14var Data_List_Types = require("../Data.List.Types/index.js");
15var Data_Maybe = require("../Data.Maybe/index.js");
16var Data_Semigroup = require("../Data.Semigroup/index.js");
17var Data_Symbol = require("../Data.Symbol/index.js");
18var Data_TraversableWithIndex = require("../Data.TraversableWithIndex/index.js");
19var Foreign = require("../Foreign/index.js");
20var Foreign_Index = require("../Foreign.Index/index.js");
21var Foreign_Object = require("../Foreign.Object/index.js");
22var Global_Unsafe = require("../Global.Unsafe/index.js");
23var Record = require("../Record/index.js");
24var Record_Builder = require("../Record.Builder/index.js");
25var Type_Data_RowList = require("../Type.Data.RowList/index.js");
26var WriteForeignFields = function (writeImplFields) {
27 this.writeImplFields = writeImplFields;
28};
29var WriteForeign = function (writeImpl) {
30 this.writeImpl = writeImpl;
31};
32var ReadForeignFields = function (getFields) {
33 this.getFields = getFields;
34};
35var ReadForeign = function (readImpl) {
36 this.readImpl = readImpl;
37};
38var writeImplFields = function (dict) {
39 return dict.writeImplFields;
40};
41var writeImpl = function (dict) {
42 return dict.writeImpl;
43};
44var writeJSON = function (dictWriteForeign) {
45 var $408 = writeImpl(dictWriteForeign);
46 return function ($409) {
47 return Global_Unsafe.unsafeStringify($408($409));
48 };
49};
50var writeForeignString = new WriteForeign(Foreign.unsafeToForeign);
51var writeForeignObject = function (dictWriteForeign) {
52 return new WriteForeign((function () {
53 var $410 = Foreign_Object.mapWithKey(Data_Function["const"](writeImpl(dictWriteForeign)));
54 return function ($411) {
55 return Foreign.unsafeToForeign($410($411));
56 };
57 })());
58};
59var writeForeignForeign = new WriteForeign(Control_Category.identity(Control_Category.categoryFn));
60var writeForeignArray = function (dictWriteForeign) {
61 return new WriteForeign(function (xs) {
62 return Foreign.unsafeToForeign(Data_Functor.map(Data_Functor.functorArray)(writeImpl(dictWriteForeign))(xs));
63 });
64};
65var write = function (dictWriteForeign) {
66 return writeImpl(dictWriteForeign);
67};
68var recordWriteForeign = function (dictRowToList) {
69 return function (dictWriteForeignFields) {
70 return new WriteForeign(function (rec) {
71 var steps = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);
72 return Foreign.unsafeToForeign(Record_Builder.build(steps)({}));
73 });
74 };
75};
76var readString = new ReadForeign(Foreign.readString);
77var readInt = new ReadForeign(Foreign.readInt);
78var readImpl = function (dict) {
79 return dict.readImpl;
80};
81var readMaybe = function (dictReadForeign) {
82 return new ReadForeign((function () {
83 var readNullOrUndefined = function (v) {
84 return function (value) {
85 if (Foreign.isNull(value) || Foreign.isUndefined(value)) {
86 return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Data_Maybe.Nothing.value);
87 };
88 return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Data_Maybe.Just.create)(v(value));
89 };
90 };
91 return readNullOrUndefined(readImpl(dictReadForeign));
92 })());
93};
94var readFieldsNil = new ReadForeignFields(function (v) {
95 return function (v1) {
96 return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Control_Category.identity(Record_Builder.categoryBuilder));
97 };
98});
99var readArray = function (dictReadForeign) {
100 return new ReadForeign((function () {
101 var readAtIdx = function (i) {
102 return function (f) {
103 return Control_Monad_Except.withExcept(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.ErrorAtIndex.create(i)))(readImpl(dictReadForeign)(f));
104 };
105 };
106 return Control_Bind.composeKleisliFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(Data_TraversableWithIndex.traverseWithIndex(Data_TraversableWithIndex.traversableWithIndexArray)(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(readAtIdx))(Foreign.readArray);
107 })());
108};
109var read = function (dictReadForeign) {
110 var $412 = readImpl(dictReadForeign);
111 return function ($413) {
112 return Control_Monad_Except.runExcept($412($413));
113 };
114};
115var nilWriteForeignFields = new WriteForeignFields(function (v) {
116 return function (v1) {
117 return Control_Category.identity(Record_Builder.categoryBuilder);
118 };
119});
120var getFields = function (dict) {
121 return dict.getFields;
122};
123var readRecord = function (dictRowToList) {
124 return function (dictReadForeignFields) {
125 return new ReadForeign(function (o) {
126 return Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Data_Function.flip(Record_Builder.build)({}))(getFields(dictReadForeignFields)(Type_Data_RowList.RLProxy.value)(o));
127 });
128 };
129};
130var consWriteForeignFields = function (dictIsSymbol) {
131 return function (dictWriteForeign) {
132 return function (dictWriteForeignFields) {
133 return function (dictCons) {
134 return function (dictLacks) {
135 return function (dictCons1) {
136 return new WriteForeignFields(function (v) {
137 return function (rec) {
138 var rest = writeImplFields(dictWriteForeignFields)(Type_Data_RowList.RLProxy.value)(rec);
139 var value = writeImpl(dictWriteForeign)(Record.get(dictIsSymbol)()(Data_Symbol.SProxy.value)(rec));
140 var result = Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder)(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value))(rest);
141 return result;
142 };
143 });
144 };
145 };
146 };
147 };
148 };
149};
150var applyEither = function (dictSemigroup) {
151 return function (v) {
152 return function (v1) {
153 if (v instanceof Data_Either.Left && v1 instanceof Data_Either.Right) {
154 return new Data_Either.Left(v.value0);
155 };
156 if (v instanceof Data_Either.Left && v1 instanceof Data_Either.Left) {
157 return new Data_Either.Left(Data_Semigroup.append(dictSemigroup)(v.value0)(v1.value0));
158 };
159 if (v instanceof Data_Either.Right && v1 instanceof Data_Either.Left) {
160 return new Data_Either.Left(v1.value0);
161 };
162 if (v instanceof Data_Either.Right && v1 instanceof Data_Either.Right) {
163 return new Data_Either.Right(v.value0(v1.value0));
164 };
165 throw new Error("Failed pattern match at Simple.JSON (line 234, column 1 - line 234, column 90): " + [ v.constructor.name, v1.constructor.name ]);
166 };
167 };
168};
169var exceptTApply = function (dictSemigroup) {
170 return function (dictApplicative) {
171 return function (fun) {
172 return function (a) {
173 return Control_Monad_Except_Trans.ExceptT(Control_Apply.apply(dictApplicative.Apply0())(Data_Functor.map((dictApplicative.Apply0()).Functor0())(applyEither(dictSemigroup))(Control_Monad_Except_Trans.runExceptT(fun)))(Control_Monad_Except_Trans.runExceptT(a)));
174 };
175 };
176 };
177};
178var readFieldsCons = function (dictIsSymbol) {
179 return function (dictReadForeign) {
180 return function (dictReadForeignFields) {
181 return function (dictLacks) {
182 return function (dictCons) {
183 return new ReadForeignFields(function (v) {
184 return function (obj) {
185 var rest = getFields(dictReadForeignFields)(Type_Data_RowList.RLProxy.value)(obj);
186 var name = Data_Symbol.reflectSymbol(dictIsSymbol)(Data_Symbol.SProxy.value);
187 var withExcept$prime = Control_Monad_Except.withExcept(Data_Functor.map(Data_List_Types.functorNonEmptyList)(Foreign.ErrorAtProperty.create(name)));
188 var first = Control_Bind.bind(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(withExcept$prime(Control_Bind.bindFlipped(Control_Monad_Except_Trans.bindExceptT(Data_Identity.monadIdentity))(readImpl(dictReadForeign))(Foreign_Index.readProp(name)(obj))))(function (value) {
189 return Control_Applicative.pure(Control_Monad_Except_Trans.applicativeExceptT(Data_Identity.monadIdentity))(Record_Builder.insert()()(dictIsSymbol)(Data_Symbol.SProxy.value)(value));
190 });
191 return exceptTApply(Data_List_Types.semigroupNonEmptyList)(Data_Identity.applicativeIdentity)(Data_Functor.map(Control_Monad_Except_Trans.functorExceptT(Data_Identity.functorIdentity))(Control_Semigroupoid.compose(Record_Builder.semigroupoidBuilder))(first))(rest);
192 };
193 });
194 };
195 };
196 };
197 };
198};
199module.exports = {
200 writeJSON: writeJSON,
201 write: write,
202 read: read,
203 ReadForeign: ReadForeign,
204 readImpl: readImpl,
205 ReadForeignFields: ReadForeignFields,
206 getFields: getFields,
207 WriteForeign: WriteForeign,
208 writeImpl: writeImpl,
209 WriteForeignFields: WriteForeignFields,
210 writeImplFields: writeImplFields,
211 readInt: readInt,
212 readString: readString,
213 readArray: readArray,
214 readMaybe: readMaybe,
215 readRecord: readRecord,
216 readFieldsCons: readFieldsCons,
217 readFieldsNil: readFieldsNil,
218 writeForeignForeign: writeForeignForeign,
219 writeForeignString: writeForeignString,
220 writeForeignArray: writeForeignArray,
221 writeForeignObject: writeForeignObject,
222 recordWriteForeign: recordWriteForeign,
223 consWriteForeignFields: consWriteForeignFields,
224 nilWriteForeignFields: nilWriteForeignFields
225};