@tslite/operators 0.2.1 → 0.3.1
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.
- package/dist/index.cjs +13 -6
- package/dist/index.js +13 -6
- package/package.json +5 -5
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var parser=require('@tslite/parser');var l=n=>{let e=parser.parse(n),t={};for(let r of e.body)r.type==="TSTypeAliasDeclaration"&&r.id?.name&&r.typeAnnotation&&(t[r.id.name]=r.typeAnnotation);return t};var T=`
|
|
1
|
+
'use strict';var parser=require('@tslite/parser');var l=n=>{let e=parser.parse(n),t={};for(let r of e.body)r.type==="TSTypeAliasDeclaration"&&r.id?.name&&r.typeAnnotation&&(t[r.id.name]=h(r.typeAnnotation,r.typeParameters));return t};function h(n,e){return e?.length?n.t==="fn"?{...n,typeParams:e}:n.t==="overload"?{...n,signatures:n.signatures.map(t=>({...t,typeParams:e}))}:n:n}var T=`
|
|
2
2
|
type identity<T> = (x: T) => T;
|
|
3
3
|
type always<T> = (value: T) => () => T;
|
|
4
4
|
type tap<T> = {
|
|
@@ -67,6 +67,10 @@ type filter<T> = {
|
|
|
67
67
|
(pred: (item: T) => boolean): (list: T[]) => T[];
|
|
68
68
|
(pred: (item: T) => boolean, list: T[]): T[];
|
|
69
69
|
};
|
|
70
|
+
type reject<T> = {
|
|
71
|
+
(pred: (item: T) => boolean): (list: T[]) => T[];
|
|
72
|
+
(pred: (item: T) => boolean, list: T[]): T[];
|
|
73
|
+
};
|
|
70
74
|
type find<T> = {
|
|
71
75
|
(pred: (item: T) => boolean): (list: T[]) => T | undefined;
|
|
72
76
|
(pred: (item: T) => boolean, list: T[]): T | undefined;
|
|
@@ -104,7 +108,10 @@ type some<T> = {
|
|
|
104
108
|
(pred: (item: T) => boolean): (list: T[]) => boolean;
|
|
105
109
|
(pred: (item: T) => boolean, list: T[]): boolean;
|
|
106
110
|
};
|
|
107
|
-
type length<T> =
|
|
111
|
+
type length<T> = {
|
|
112
|
+
(str: string): number;
|
|
113
|
+
(list: T[]): number;
|
|
114
|
+
};
|
|
108
115
|
type sum = (list: number[]) => number;
|
|
109
116
|
`;var f=`
|
|
110
117
|
type equals<T> = {
|
|
@@ -139,7 +146,7 @@ type defaultTo<T> = {
|
|
|
139
146
|
};
|
|
140
147
|
type isNil = (value: unknown) => boolean;
|
|
141
148
|
type isEmpty = (value: unknown) => boolean;
|
|
142
|
-
`;var
|
|
149
|
+
`;var g=`
|
|
143
150
|
type toUpper = (str: string) => string;
|
|
144
151
|
type toLower = (str: string) => string;
|
|
145
152
|
type trim = (str: string) => string;
|
|
@@ -155,11 +162,11 @@ type template = {
|
|
|
155
162
|
(tpl: string): (data: unknown) => string;
|
|
156
163
|
(tpl: string, data: unknown): string;
|
|
157
164
|
};
|
|
158
|
-
`;var
|
|
165
|
+
`;var d=`
|
|
159
166
|
type toNumber = (value: unknown) => number;
|
|
160
167
|
type asString = (value: unknown) => string;
|
|
161
168
|
type toBoolean = (value: unknown) => boolean;
|
|
162
169
|
type parse = (text: string) => unknown;
|
|
163
170
|
type stringify = (value: unknown) => string;
|
|
164
|
-
`;var m=[T,u,c,f,d
|
|
165
|
-
`),
|
|
171
|
+
`;var m=[T,u,c,f,g,d].join(`
|
|
172
|
+
`),x=l(m);var o=(n,e)=>{let t=r=>r.length>=n?e(...r.slice(0,n)):(...a)=>t([...r,...a]);return (...r)=>t(r)},p=(n,e)=>{if(n===e)return true;if(n===null||e===null||typeof n!="object"||typeof e!="object")return n===e;if(Array.isArray(n)!==Array.isArray(e))return false;let r=Object.keys(n),a=Object.keys(e);return r.length!==a.length?false:r.every(y=>p(n[y],e[y]))},s=n=>n==null,j={identity:n=>n,always:n=>()=>n,tap:o(2,(n,e)=>(n(e),e)),prop:o(2,(n,e)=>s(e)?void 0:e[n]),path:o(2,(n,e)=>n.reduce((t,r)=>s(t)?void 0:t[r],e)),propOr:o(3,(n,e,t)=>{let r=s(t)?void 0:t[e];return s(r)?n:r}),pathOr:o(3,(n,e,t)=>{let r=e.reduce((a,y)=>s(a)?void 0:a[y],t);return s(r)?n:r}),pick:o(2,(n,e)=>{let t={};if(!s(e))for(let r of n)r in e&&(t[r]=e[r]);return t}),omit:o(2,(n,e)=>{let t=new Set(n),r={};for(let a in e)t.has(a)||(r[a]=e[a]);return r}),assoc:o(3,(n,e,t)=>({...t,[n]:e})),merge:o(2,(n,e)=>({...n,...e})),keys:n=>Object.keys(n??{}),values:n=>Object.values(n??{}),entries:n=>Object.entries(n??{}),fromEntries:n=>Object.fromEntries(n),has:o(2,(n,e)=>!s(e)&&Object.prototype.hasOwnProperty.call(e,n)),applySpec:o(2,(n,e)=>{let t={};for(let r in n)t[r]=n[r](e);return t}),evolve:o(2,(n,e)=>{let t={...e};for(let r in n)r in t&&(t[r]=n[r](t[r]));return t}),map:o(2,(n,e)=>e.map(t=>n(t))),filter:o(2,(n,e)=>e.filter(t=>n(t))),reject:o(2,(n,e)=>e.filter(t=>!n(t))),find:o(2,(n,e)=>e.find(t=>n(t))),reduce:o(3,(n,e,t)=>t.reduce((r,a)=>n(r,a),e)),pluck:o(2,(n,e)=>e.map(t=>s(t)?void 0:t[n])),indexBy:o(2,(n,e)=>{let t={};for(let r of e)t[n(r)]=r;return t}),groupBy:o(2,(n,e)=>{var r;let t={};for(let a of e)(t[r=n(a)]??(t[r]=[])).push(a);return t}),uniqBy:o(2,(n,e)=>{let t=new Set,r=[];for(let a of e){let y=n(a);t.has(y)||(t.add(y),r.push(a));}return r}),sortBy:o(2,(n,e)=>[...e].sort((t,r)=>{let a=n(t),y=n(r);return a<y?-1:a>y?1:0})),flatten:n=>n.reduce((e,t)=>e.concat(t),[]),includes:o(2,(n,e)=>e.some(t=>p(t,n))),some:o(2,(n,e)=>e.some(t=>n(t))),length:n=>n.length,sum:n=>n.reduce((e,t)=>e+t,0),equals:o(2,(n,e)=>p(n,e)),propEq:o(3,(n,e,t)=>!s(t)&&p(t[n],e)),whereEq:o(2,(n,e)=>{for(let t in n)if(s(e)||!p(e[t],n[t]))return false;return true}),ifElse:o(4,(n,e,t,r)=>n(r)?e(r):t(r)),when:o(3,(n,e,t)=>n(t)?e(t):t),cond:n=>e=>{for(let[t,r]of n)if(t(e))return r(e)},defaultTo:o(2,(n,e)=>s(e)||typeof e=="number"&&Number.isNaN(e)?n:e),isNil:n=>s(n),isEmpty:n=>s(n)?true:typeof n=="string"||Array.isArray(n)?n.length===0:typeof n=="object"?Object.keys(n).length===0:false,toUpper:n=>n.toUpperCase(),toLower:n=>n.toLowerCase(),trim:n=>n.trim(),split:o(2,(n,e)=>e.split(n)),join:o(2,(n,e)=>e.join(n)),template:o(2,(n,e)=>n.replace(/\{(\w+)\}/g,(t,r)=>{let a=s(e)?void 0:e[r];return s(a)?"":String(a)})),toNumber:n=>Number(n),asString:n=>String(n),toBoolean:n=>!!n,parse:n=>JSON.parse(n),stringify:n=>JSON.stringify(n)};var i=(n,e,t)=>({operator:n,on:e,call:t}),k={length:i("length","value",n=>`length(${n})`),map:i("map","array",(n,e)=>`map(${e[0]??"fn"}, ${n})`),filter:i("filter","array",(n,e)=>`filter(${e[0]??"fn"}, ${n})`),find:i("find","array",(n,e)=>`find(${e[0]??"fn"}, ${n})`),reduce:i("reduce","array",(n,e)=>`reduce(${e[0]??"fn"}, ${e[1]??"init"}, ${n})`),some:i("some","array",(n,e)=>`some(${e[0]??"fn"}, ${n})`),includes:i("includes","value",(n,e)=>`includes(${e[0]??"x"}, ${n})`),flat:i("flatten","array",n=>`flatten(${n})`),join:i("join","array",(n,e)=>`join(${e[0]??'", "'}, ${n})`),trim:i("trim","string",n=>`trim(${n})`),toUpperCase:i("toUpper","string",n=>`toUpper(${n})`),toLowerCase:i("toLower","string",n=>`toLower(${n})`),split:i("split","string",(n,e)=>`split(${e[0]??'","'}, ${n})`),toString:i("asString","value",n=>`asString(${n})`)},b=new Set(["push","pop","shift","unshift","splice","sort","reverse","slice","concat","indexOf","lastIndexOf","forEach","every","flatMap","fill","charAt","charCodeAt","substring","substr","replace","replaceAll","padStart","padEnd","startsWith","endsWith","repeat","at","keys","values","entries","hasOwnProperty","valueOf"]),v=n=>n in k||b.has(n);exports.isKnownProtoMember=v;exports.jsMethodReplacements=k;exports.knownProtoMembersWithoutOperator=b;exports.loadOperators=l;exports.vanilla=x;exports.vanillaRuntime=j;exports.vanillaSource=m;
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {parse}from'@tslite/parser';var l=n=>{let e=parse(n),t={};for(let r of e.body)r.type==="TSTypeAliasDeclaration"&&r.id?.name&&r.typeAnnotation&&(t[r.id.name]=r.typeAnnotation);return t};var T=`
|
|
1
|
+
import {parse}from'@tslite/parser';var l=n=>{let e=parse(n),t={};for(let r of e.body)r.type==="TSTypeAliasDeclaration"&&r.id?.name&&r.typeAnnotation&&(t[r.id.name]=h(r.typeAnnotation,r.typeParameters));return t};function h(n,e){return e?.length?n.t==="fn"?{...n,typeParams:e}:n.t==="overload"?{...n,signatures:n.signatures.map(t=>({...t,typeParams:e}))}:n:n}var T=`
|
|
2
2
|
type identity<T> = (x: T) => T;
|
|
3
3
|
type always<T> = (value: T) => () => T;
|
|
4
4
|
type tap<T> = {
|
|
@@ -67,6 +67,10 @@ type filter<T> = {
|
|
|
67
67
|
(pred: (item: T) => boolean): (list: T[]) => T[];
|
|
68
68
|
(pred: (item: T) => boolean, list: T[]): T[];
|
|
69
69
|
};
|
|
70
|
+
type reject<T> = {
|
|
71
|
+
(pred: (item: T) => boolean): (list: T[]) => T[];
|
|
72
|
+
(pred: (item: T) => boolean, list: T[]): T[];
|
|
73
|
+
};
|
|
70
74
|
type find<T> = {
|
|
71
75
|
(pred: (item: T) => boolean): (list: T[]) => T | undefined;
|
|
72
76
|
(pred: (item: T) => boolean, list: T[]): T | undefined;
|
|
@@ -104,7 +108,10 @@ type some<T> = {
|
|
|
104
108
|
(pred: (item: T) => boolean): (list: T[]) => boolean;
|
|
105
109
|
(pred: (item: T) => boolean, list: T[]): boolean;
|
|
106
110
|
};
|
|
107
|
-
type length<T> =
|
|
111
|
+
type length<T> = {
|
|
112
|
+
(str: string): number;
|
|
113
|
+
(list: T[]): number;
|
|
114
|
+
};
|
|
108
115
|
type sum = (list: number[]) => number;
|
|
109
116
|
`;var f=`
|
|
110
117
|
type equals<T> = {
|
|
@@ -139,7 +146,7 @@ type defaultTo<T> = {
|
|
|
139
146
|
};
|
|
140
147
|
type isNil = (value: unknown) => boolean;
|
|
141
148
|
type isEmpty = (value: unknown) => boolean;
|
|
142
|
-
`;var
|
|
149
|
+
`;var g=`
|
|
143
150
|
type toUpper = (str: string) => string;
|
|
144
151
|
type toLower = (str: string) => string;
|
|
145
152
|
type trim = (str: string) => string;
|
|
@@ -155,11 +162,11 @@ type template = {
|
|
|
155
162
|
(tpl: string): (data: unknown) => string;
|
|
156
163
|
(tpl: string, data: unknown): string;
|
|
157
164
|
};
|
|
158
|
-
`;var
|
|
165
|
+
`;var d=`
|
|
159
166
|
type toNumber = (value: unknown) => number;
|
|
160
167
|
type asString = (value: unknown) => string;
|
|
161
168
|
type toBoolean = (value: unknown) => boolean;
|
|
162
169
|
type parse = (text: string) => unknown;
|
|
163
170
|
type stringify = (value: unknown) => string;
|
|
164
|
-
`;var m=[T,u,c,f,d
|
|
165
|
-
`),
|
|
171
|
+
`;var m=[T,u,c,f,g,d].join(`
|
|
172
|
+
`),x=l(m);var o=(n,e)=>{let t=r=>r.length>=n?e(...r.slice(0,n)):(...a)=>t([...r,...a]);return (...r)=>t(r)},p=(n,e)=>{if(n===e)return true;if(n===null||e===null||typeof n!="object"||typeof e!="object")return n===e;if(Array.isArray(n)!==Array.isArray(e))return false;let r=Object.keys(n),a=Object.keys(e);return r.length!==a.length?false:r.every(y=>p(n[y],e[y]))},s=n=>n==null,j={identity:n=>n,always:n=>()=>n,tap:o(2,(n,e)=>(n(e),e)),prop:o(2,(n,e)=>s(e)?void 0:e[n]),path:o(2,(n,e)=>n.reduce((t,r)=>s(t)?void 0:t[r],e)),propOr:o(3,(n,e,t)=>{let r=s(t)?void 0:t[e];return s(r)?n:r}),pathOr:o(3,(n,e,t)=>{let r=e.reduce((a,y)=>s(a)?void 0:a[y],t);return s(r)?n:r}),pick:o(2,(n,e)=>{let t={};if(!s(e))for(let r of n)r in e&&(t[r]=e[r]);return t}),omit:o(2,(n,e)=>{let t=new Set(n),r={};for(let a in e)t.has(a)||(r[a]=e[a]);return r}),assoc:o(3,(n,e,t)=>({...t,[n]:e})),merge:o(2,(n,e)=>({...n,...e})),keys:n=>Object.keys(n??{}),values:n=>Object.values(n??{}),entries:n=>Object.entries(n??{}),fromEntries:n=>Object.fromEntries(n),has:o(2,(n,e)=>!s(e)&&Object.prototype.hasOwnProperty.call(e,n)),applySpec:o(2,(n,e)=>{let t={};for(let r in n)t[r]=n[r](e);return t}),evolve:o(2,(n,e)=>{let t={...e};for(let r in n)r in t&&(t[r]=n[r](t[r]));return t}),map:o(2,(n,e)=>e.map(t=>n(t))),filter:o(2,(n,e)=>e.filter(t=>n(t))),reject:o(2,(n,e)=>e.filter(t=>!n(t))),find:o(2,(n,e)=>e.find(t=>n(t))),reduce:o(3,(n,e,t)=>t.reduce((r,a)=>n(r,a),e)),pluck:o(2,(n,e)=>e.map(t=>s(t)?void 0:t[n])),indexBy:o(2,(n,e)=>{let t={};for(let r of e)t[n(r)]=r;return t}),groupBy:o(2,(n,e)=>{var r;let t={};for(let a of e)(t[r=n(a)]??(t[r]=[])).push(a);return t}),uniqBy:o(2,(n,e)=>{let t=new Set,r=[];for(let a of e){let y=n(a);t.has(y)||(t.add(y),r.push(a));}return r}),sortBy:o(2,(n,e)=>[...e].sort((t,r)=>{let a=n(t),y=n(r);return a<y?-1:a>y?1:0})),flatten:n=>n.reduce((e,t)=>e.concat(t),[]),includes:o(2,(n,e)=>e.some(t=>p(t,n))),some:o(2,(n,e)=>e.some(t=>n(t))),length:n=>n.length,sum:n=>n.reduce((e,t)=>e+t,0),equals:o(2,(n,e)=>p(n,e)),propEq:o(3,(n,e,t)=>!s(t)&&p(t[n],e)),whereEq:o(2,(n,e)=>{for(let t in n)if(s(e)||!p(e[t],n[t]))return false;return true}),ifElse:o(4,(n,e,t,r)=>n(r)?e(r):t(r)),when:o(3,(n,e,t)=>n(t)?e(t):t),cond:n=>e=>{for(let[t,r]of n)if(t(e))return r(e)},defaultTo:o(2,(n,e)=>s(e)||typeof e=="number"&&Number.isNaN(e)?n:e),isNil:n=>s(n),isEmpty:n=>s(n)?true:typeof n=="string"||Array.isArray(n)?n.length===0:typeof n=="object"?Object.keys(n).length===0:false,toUpper:n=>n.toUpperCase(),toLower:n=>n.toLowerCase(),trim:n=>n.trim(),split:o(2,(n,e)=>e.split(n)),join:o(2,(n,e)=>e.join(n)),template:o(2,(n,e)=>n.replace(/\{(\w+)\}/g,(t,r)=>{let a=s(e)?void 0:e[r];return s(a)?"":String(a)})),toNumber:n=>Number(n),asString:n=>String(n),toBoolean:n=>!!n,parse:n=>JSON.parse(n),stringify:n=>JSON.stringify(n)};var i=(n,e,t)=>({operator:n,on:e,call:t}),k={length:i("length","value",n=>`length(${n})`),map:i("map","array",(n,e)=>`map(${e[0]??"fn"}, ${n})`),filter:i("filter","array",(n,e)=>`filter(${e[0]??"fn"}, ${n})`),find:i("find","array",(n,e)=>`find(${e[0]??"fn"}, ${n})`),reduce:i("reduce","array",(n,e)=>`reduce(${e[0]??"fn"}, ${e[1]??"init"}, ${n})`),some:i("some","array",(n,e)=>`some(${e[0]??"fn"}, ${n})`),includes:i("includes","value",(n,e)=>`includes(${e[0]??"x"}, ${n})`),flat:i("flatten","array",n=>`flatten(${n})`),join:i("join","array",(n,e)=>`join(${e[0]??'", "'}, ${n})`),trim:i("trim","string",n=>`trim(${n})`),toUpperCase:i("toUpper","string",n=>`toUpper(${n})`),toLowerCase:i("toLower","string",n=>`toLower(${n})`),split:i("split","string",(n,e)=>`split(${e[0]??'","'}, ${n})`),toString:i("asString","value",n=>`asString(${n})`)},b=new Set(["push","pop","shift","unshift","splice","sort","reverse","slice","concat","indexOf","lastIndexOf","forEach","every","flatMap","fill","charAt","charCodeAt","substring","substr","replace","replaceAll","padStart","padEnd","startsWith","endsWith","repeat","at","keys","values","entries","hasOwnProperty","valueOf"]),v=n=>n in k||b.has(n);export{v as isKnownProtoMember,k as jsMethodReplacements,b as knownProtoMembersWithoutOperator,l as loadOperators,x as vanilla,j as vanillaRuntime,m as vanillaSource};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tslite/operators",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "TSLite operators — functional operator signatures as native TSL types, injectable into the checker Env (FP, no OO). The typed stdlib for JSON mappers.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -40,12 +40,12 @@
|
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
-
"@tslite/parser": "0.
|
|
44
|
-
"@tslite/type-core": "0.
|
|
43
|
+
"@tslite/parser": "0.4.0",
|
|
44
|
+
"@tslite/type-core": "0.3.0"
|
|
45
45
|
},
|
|
46
46
|
"devDependencies": {
|
|
47
|
-
"@tslite/interpret": "0.2.
|
|
48
|
-
"@tslite/checker": "0.
|
|
47
|
+
"@tslite/interpret": "0.2.1",
|
|
48
|
+
"@tslite/checker": "0.4.0"
|
|
49
49
|
},
|
|
50
50
|
"scripts": {
|
|
51
51
|
"build": "tsup",
|