n4s 4.1.1 → 4.1.4
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/compose/package.json +2 -0
- package/compounds/package.json +2 -0
- package/dist/cjs/compose.development.js +28 -60
- package/dist/cjs/compose.production.js +1 -1
- package/dist/cjs/compounds.development.js +17 -2
- package/dist/cjs/compounds.production.js +1 -1
- package/dist/cjs/n4s.development.js +46 -48
- package/dist/cjs/n4s.production.js +1 -1
- package/dist/cjs/schema.development.js +1 -1
- package/dist/es/compose.development.js +28 -60
- package/dist/es/compose.production.js +1 -1
- package/dist/es/compounds.development.js +17 -2
- package/dist/es/compounds.production.js +1 -1
- package/dist/es/n4s.development.js +46 -48
- package/dist/es/n4s.production.js +1 -1
- package/dist/es/schema.development.js +1 -1
- package/dist/umd/compose.development.js +28 -60
- package/dist/umd/compose.production.js +1 -1
- package/dist/umd/compounds.development.js +17 -2
- package/dist/umd/compounds.production.js +1 -1
- package/dist/umd/n4s.development.js +43 -45
- package/dist/umd/n4s.production.js +1 -1
- package/dist/umd/schema.development.js +1 -1
- package/package.json +5 -3
- package/schema/package.json +2 -0
- package/types/compose.d.ts +22 -21
- package/types/compounds.d.ts +24 -23
- package/types/n4s.d.ts +32 -31
- package/types/schema.d.ts +26 -25
|
@@ -57,8 +57,13 @@ function greaterThan(value, gt) {
|
|
|
57
57
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
+
function numberEquals(value, eq) {
|
|
61
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
62
|
+
}
|
|
63
|
+
var numberNotEquals = bindNot(numberEquals);
|
|
64
|
+
|
|
60
65
|
function greaterThanOrEquals(value, gte) {
|
|
61
|
-
return
|
|
66
|
+
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
62
67
|
}
|
|
63
68
|
|
|
64
69
|
// The module is named "isArrayValue" since it
|
|
@@ -81,8 +86,12 @@ function inside(value, arg1) {
|
|
|
81
86
|
}
|
|
82
87
|
var notInside = bindNot(inside);
|
|
83
88
|
|
|
89
|
+
function lessThan(value, lt) {
|
|
90
|
+
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
91
|
+
}
|
|
92
|
+
|
|
84
93
|
function lessThanOrEquals(value, lte) {
|
|
85
|
-
return
|
|
94
|
+
return numberEquals(value, lte) || lessThan(value, lte);
|
|
86
95
|
}
|
|
87
96
|
|
|
88
97
|
function isBetween(value, min, max) {
|
|
@@ -114,7 +123,7 @@ function isNumber(value) {
|
|
|
114
123
|
var isNotNumber = bindNot(isNumber);
|
|
115
124
|
|
|
116
125
|
function lengthEquals(value, arg1) {
|
|
117
|
-
return value.length
|
|
126
|
+
return numberEquals(value.length, arg1);
|
|
118
127
|
}
|
|
119
128
|
var lengthNotEquals = bindNot(lengthEquals);
|
|
120
129
|
|
|
@@ -156,12 +165,8 @@ function isNaN$1(value) {
|
|
|
156
165
|
var isNotNaN = bindNot(isNaN$1);
|
|
157
166
|
|
|
158
167
|
function isNegative(value) {
|
|
159
|
-
|
|
160
|
-
return Number(value) < 0;
|
|
161
|
-
}
|
|
162
|
-
return false;
|
|
168
|
+
return lessThan(value, 0);
|
|
163
169
|
}
|
|
164
|
-
var isPositive = bindNot(isNegative);
|
|
165
170
|
|
|
166
171
|
/**
|
|
167
172
|
* Validates that a given value is an odd number
|
|
@@ -173,6 +178,10 @@ var isOdd = function (value) {
|
|
|
173
178
|
return false;
|
|
174
179
|
};
|
|
175
180
|
|
|
181
|
+
function isPositive(value) {
|
|
182
|
+
return greaterThan(value, 0);
|
|
183
|
+
}
|
|
184
|
+
|
|
176
185
|
var isNotString = bindNot(isStringValue);
|
|
177
186
|
|
|
178
187
|
function isTruthy(value) {
|
|
@@ -193,16 +202,12 @@ function isValueOf(value, objectToCheck) {
|
|
|
193
202
|
}
|
|
194
203
|
var isNotValueOf = bindNot(isValueOf);
|
|
195
204
|
|
|
196
|
-
function lessThan(value, lt) {
|
|
197
|
-
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
205
|
function longerThan(value, arg1) {
|
|
201
|
-
return value.length
|
|
206
|
+
return greaterThan(value.length, arg1);
|
|
202
207
|
}
|
|
203
208
|
|
|
204
209
|
function longerThanOrEquals(value, arg1) {
|
|
205
|
-
return value.length
|
|
210
|
+
return greaterThanOrEquals(value.length, arg1);
|
|
206
211
|
}
|
|
207
212
|
|
|
208
213
|
function matches(value, regex) {
|
|
@@ -218,11 +223,6 @@ function matches(value, regex) {
|
|
|
218
223
|
}
|
|
219
224
|
var notMatches = bindNot(matches);
|
|
220
225
|
|
|
221
|
-
function numberEquals(value, eq) {
|
|
222
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
223
|
-
}
|
|
224
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
225
|
-
|
|
226
226
|
function condition(value, callback) {
|
|
227
227
|
try {
|
|
228
228
|
return callback(value);
|
|
@@ -233,11 +233,11 @@ function condition(value, callback) {
|
|
|
233
233
|
}
|
|
234
234
|
|
|
235
235
|
function shorterThan(value, arg1) {
|
|
236
|
-
return value.length
|
|
236
|
+
return lessThan(value.length, arg1);
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
function shorterThanOrEquals(value, arg1) {
|
|
240
|
-
return value.length
|
|
240
|
+
return lessThanOrEquals(value.length, arg1);
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
function startsWith(value, arg1) {
|
|
@@ -390,16 +390,18 @@ function optionalFunctionValue(value) {
|
|
|
390
390
|
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
391
391
|
}
|
|
392
392
|
|
|
393
|
-
function
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
throw
|
|
393
|
+
function invariant(condition,
|
|
394
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
395
|
+
message) {
|
|
396
|
+
if (condition) {
|
|
397
|
+
return;
|
|
398
|
+
}
|
|
399
|
+
// If message is a string object (rather than string literal)
|
|
400
|
+
// Throw the value directly as a string
|
|
401
|
+
// Alternatively, throw an error with the message
|
|
402
|
+
throw message instanceof String
|
|
403
|
+
? message.valueOf()
|
|
404
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
403
405
|
}
|
|
404
406
|
|
|
405
407
|
function isProxySupported() {
|
|
@@ -411,6 +413,11 @@ function isProxySupported() {
|
|
|
411
413
|
}
|
|
412
414
|
}
|
|
413
415
|
|
|
416
|
+
function defaultTo(callback, defaultValue) {
|
|
417
|
+
var _a;
|
|
418
|
+
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
419
|
+
}
|
|
420
|
+
|
|
414
421
|
function ruleReturn(pass, message) {
|
|
415
422
|
var output = { pass: pass };
|
|
416
423
|
if (message) {
|
|
@@ -439,15 +446,12 @@ function transformResult(result, ruleName, value) {
|
|
|
439
446
|
return ruleReturn(result);
|
|
440
447
|
}
|
|
441
448
|
else {
|
|
442
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args)));
|
|
449
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
443
450
|
}
|
|
444
451
|
}
|
|
445
452
|
function validateResult(result) {
|
|
446
453
|
// if result is boolean, or if result.pass is boolean
|
|
447
|
-
|
|
448
|
-
return;
|
|
449
|
-
}
|
|
450
|
-
throwError('Incorrect return value for rule: ' + JSON.stringify(result));
|
|
454
|
+
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
451
455
|
}
|
|
452
456
|
|
|
453
457
|
function enforceEager(value) {
|
|
@@ -473,18 +477,12 @@ function enforceEager(value) {
|
|
|
473
477
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
474
478
|
args[_i] = arguments[_i];
|
|
475
479
|
}
|
|
476
|
-
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args)); }),
|
|
480
|
+
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
477
481
|
ruleName,
|
|
478
|
-
value], args));
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
}
|
|
483
|
-
else {
|
|
484
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
485
|
-
throw transformedResult.message;
|
|
486
|
-
}
|
|
487
|
-
}
|
|
482
|
+
value], args, false));
|
|
483
|
+
invariant(transformedResult.pass, isEmpty(transformedResult.message)
|
|
484
|
+
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
485
|
+
: new String(transformedResult.message));
|
|
488
486
|
return target;
|
|
489
487
|
};
|
|
490
488
|
}
|
|
@@ -520,7 +518,7 @@ function genEnforceLazy(key) {
|
|
|
520
518
|
}
|
|
521
519
|
var rule = getRule(ruleName);
|
|
522
520
|
registeredRules.push(function (value) {
|
|
523
|
-
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args)), ruleName, value], args));
|
|
521
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
524
522
|
});
|
|
525
523
|
var proxy = {
|
|
526
524
|
run: function (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createContext as n}from"context";var r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return null===n||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var
|
|
1
|
+
import{createContext as n}from"context";var r=Object.assign;function t(n){return"function"==typeof n}function e(n){return function(){for(var r=[],t=0;t<arguments.length;t++)r[t]=arguments[t];return!n.apply(void 0,r)}}function u(n){return null===n}var i=e(u);function o(n){return void 0===n}var a=e(o);function s(n){return null===n||o(n)}var f=e(s);function c(n){return String(n)===n}function l(n,r){return c(n)&&c(r)&&n.endsWith(r)}var v=e(l);function N(n,r){return n===r}var g=e(N);function h(n){var r=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(r))}var p=e(h);function y(n,r){return h(n)&&h(r)&&Number(n)>Number(r)}function m(n,r){return h(n)&&h(r)&&Number(n)===Number(r)}var d=e(m);function b(n,r){return m(n,r)||y(n,r)}function O(n){return!!Array.isArray(n)}var E=e(O);function x(n,r){return!!(O(r)||c(r)&&c(n))&&-1!==r.indexOf(n)}var q=e(x);function w(n,r){return h(n)&&h(r)&&Number(n)<Number(r)}function S(n,r){return m(n,r)||w(n,r)}function T(n,r,t){return b(n,r)&&S(n,t)}var A=e(T);function B(n){return s(n)||c(n)&&!n.trim()}var P=e(B);function W(n){return!!n===n}var j=e(W);function k(n){return"number"==typeof n}var F=e(k);function I(n,r){return m(n.length,r)}var J=e(I);function K(n){if(n){if(k(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return I(n,0);if("object"==typeof n)return I(Object.keys(n),0)}return!0}var R=e(K);function U(n,r){return n in r}var V=e(U);function M(n){return Number.isNaN(n)}var X=e(M),z=e(c);function C(n){return!!n}var D=e(C);function G(n,r){if(s(r))return!1;for(var t in r)if(r[t]===n)return!0;return!1}var H=e(G);function L(n,r){return r instanceof RegExp?r.test(n):!!c(r)&&new RegExp(r).test(n)}var Q=e(L);function Y(n,r){return c(n)&&c(r)&&n.startsWith(r)}var Z={condition:function(n,r){try{return r(n)}catch(n){return!1}},doesNotEndWith:v,doesNotStartWith:e(Y),endsWith:l,equals:N,greaterThan:y,greaterThanOrEquals:b,gt:y,gte:b,inside:x,isArray:O,isBetween:T,isBlank:B,isBoolean:W,isEmpty:K,isEven:function(n){return!!h(n)&&0==n%2},isFalsy:D,isKeyOf:U,isNaN:M,isNegative:function(n){return w(n,0)},isNotArray:E,isNotBetween:A,isNotBlank:P,isNotBoolean:j,isNotEmpty:R,isNotKeyOf:V,isNotNaN:X,isNotNull:i,isNotNullish:f,isNotNumber:F,isNotNumeric:p,isNotString:z,isNotUndefined:a,isNotValueOf:H,isNull:u,isNullish:s,isNumber:k,isNumeric:h,isOdd:function(n){return!!h(n)&&0!=n%2},isPositive:function(n){return y(n,0)},isString:c,isTruthy:C,isUndefined:o,isValueOf:G,lengthEquals:I,lengthNotEquals:J,lessThan:w,lessThanOrEquals:S,longerThan:function(n,r){return y(n.length,r)},longerThanOrEquals:function(n,r){return b(n.length,r)},lt:w,lte:S,matches:L,notEquals:g,notInside:q,notMatches:Q,numberEquals:m,numberNotEquals:d,shorterThan:function(n,r){return w(n.length,r)},shorterThanOrEquals:function(n,r){return S(n.length,r)},startsWith:Y};function $(n){for(var r in Z){var e=Z[r];t(e)&&n(r,e)}}var _=n((function(n,t){var e={value:n.value,meta:n.meta||{}};return t?n.set?r(e,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:r(e,{parent:nn})}));function nn(){return null}function rn(n,r,t){if(t||2===arguments.length)for(var e,u=0,i=r.length;u<i;u++)!e&&u in r||(e||(e=Array.prototype.slice.call(r,0,u)),e[u]=r[u]);return n.concat(e||Array.prototype.slice.call(r))}function tn(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function en(n,r){if(!n)throw r instanceof String?r.valueOf():Error(r?tn(r):r)}function un(){try{return t(Proxy)}catch(n){return!1}}function on(n,r){var t;return null!==(t=tn(n))&&void 0!==t?t:r}function an(n,r){return n={pass:n},r&&(n.message=r),n}function sn(n,r,t){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return en(W(n)||n&&W(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),W(n)?an(n):an(n.pass,tn.apply(void 0,rn([n.message,r,t],e,!1)))}function fn(n){function r(r,t,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return en((i=sn.apply(void 0,rn([_.run({value:n},(function(){return t.apply(void 0,rn([n],u,!1))})),e,n],u,!1))).pass,K(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),r}}var t={};if(!un())return $((function(n,e){t[n]=r(t,e,n)})),t;var e=new Proxy(t,{get:function(n,t){if(n=Z[t])return r(e,n,t)}});return e}function cn(n,r){function t(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(r(n[i],t,i),e)return u}function ln(n){var r,t=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=Z[e];t.push((function(n){return sn.apply(void 0,rn([o.apply(void 0,rn([n],u,!1)),e,n],u,!1))}));var a={run:function(n){return on(cn(t,(function(t,e){var u,i=_.run({value:n},(function(){return t(n)}));i.pass||e(an(!!i.pass,null!==(u=tn(r,n,i.message))&&void 0!==u?u:i.message))})),an(!0))},test:function(n){return a.run(n).pass},message:function(n){return n&&(r=n),a}};return un()?a=new Proxy(a,{get:function(r,t){return Z[t]?n(t):r[t]}}):($((function(r){a[r]=n(r)})),a)}}(n)}var vn,Nn=(vn={context:function(){return _.useX()},extend:function(n){r(Z,n)}},un()?new Proxy(r(fn,vn),{get:function(n,r){return r in n?n[r]:Z[r]?ln(r):void 0}}):($((function(n){vn[n]=ln(n)})),r(fn,vn)));export{_ as ctx,Nn as enforce};
|
|
@@ -126,7 +126,7 @@ function shape(inputObject, shapeObject) {
|
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
// Help needed improving the typings of this file.
|
|
129
|
-
// Ideally, we'd be able to extend
|
|
129
|
+
// Ideally, we'd be able to extend ShapeObject, but that's not possible.
|
|
130
130
|
function partial(shapeObject) {
|
|
131
131
|
var output = {};
|
|
132
132
|
for (var key in shapeObject) {
|
|
@@ -4,6 +4,32 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.compose = factory(global.n4s));
|
|
5
5
|
}(this, (function (n4s) { 'use strict';
|
|
6
6
|
|
|
7
|
+
function isFunction(value) {
|
|
8
|
+
return typeof value === 'function';
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
function optionalFunctionValue(value) {
|
|
12
|
+
var args = [];
|
|
13
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
|
14
|
+
args[_i - 1] = arguments[_i];
|
|
15
|
+
}
|
|
16
|
+
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function invariant(condition,
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
21
|
+
message) {
|
|
22
|
+
if (condition) {
|
|
23
|
+
return;
|
|
24
|
+
}
|
|
25
|
+
// If message is a string object (rather than string literal)
|
|
26
|
+
// Throw the value directly as a string
|
|
27
|
+
// Alternatively, throw an error with the message
|
|
28
|
+
throw message instanceof String
|
|
29
|
+
? message.valueOf()
|
|
30
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
31
|
+
}
|
|
32
|
+
|
|
7
33
|
function mapFirst(array, callback) {
|
|
8
34
|
var broke = false;
|
|
9
35
|
var breakoutValue = null;
|
|
@@ -19,61 +45,11 @@
|
|
|
19
45
|
}
|
|
20
46
|
}
|
|
21
47
|
|
|
22
|
-
function isFunction(value) {
|
|
23
|
-
return typeof value === 'function';
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
function optionalFunctionValue(value) {
|
|
27
|
-
var args = [];
|
|
28
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
29
|
-
args[_i - 1] = arguments[_i];
|
|
30
|
-
}
|
|
31
|
-
return isFunction(value) ? value.apply(void 0, args) : value;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
48
|
function defaultTo(callback, defaultValue) {
|
|
35
49
|
var _a;
|
|
36
50
|
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
37
51
|
}
|
|
38
52
|
|
|
39
|
-
/**
|
|
40
|
-
* Throws a timed out error.
|
|
41
|
-
*/
|
|
42
|
-
function throwError(devMessage, productionMessage) {
|
|
43
|
-
throw new Error(devMessage );
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* A safe hasOwnProperty access
|
|
48
|
-
*/
|
|
49
|
-
function hasOwnProperty(obj, key) {
|
|
50
|
-
return Object.prototype.hasOwnProperty.call(obj, key);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
function isNumber(value) {
|
|
54
|
-
return Boolean(typeof value === 'number');
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
function lengthEquals(value, arg1) {
|
|
58
|
-
return value.length === Number(arg1);
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function isEmpty(value) {
|
|
62
|
-
if (!value) {
|
|
63
|
-
return true;
|
|
64
|
-
}
|
|
65
|
-
else if (isNumber(value)) {
|
|
66
|
-
return value === 0;
|
|
67
|
-
}
|
|
68
|
-
else if (hasOwnProperty(value, 'length')) {
|
|
69
|
-
return lengthEquals(value, 0);
|
|
70
|
-
}
|
|
71
|
-
else if (typeof value === 'object') {
|
|
72
|
-
return lengthEquals(Object.keys(value), 0);
|
|
73
|
-
}
|
|
74
|
-
return true;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
53
|
function ruleReturn(pass, message) {
|
|
78
54
|
var output = { pass: pass };
|
|
79
55
|
if (message) {
|
|
@@ -108,15 +84,7 @@
|
|
|
108
84
|
}
|
|
109
85
|
return Object.assign(function (value) {
|
|
110
86
|
var res = run(value);
|
|
111
|
-
|
|
112
|
-
if (isEmpty(res.message)) {
|
|
113
|
-
throwError();
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
117
|
-
throw res.message;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
87
|
+
invariant(res.pass, new String(res.message));
|
|
120
88
|
}, {
|
|
121
89
|
run: run,
|
|
122
90
|
test: function (value) { return run(value).pass; }
|
|
@@ -125,7 +93,7 @@
|
|
|
125
93
|
return n4s.ctx.run({ value: value }, function () {
|
|
126
94
|
return defaultToPassing(mapFirst(composites, function (composite, breakout) {
|
|
127
95
|
/* HACK: Just a small white lie. ~~HELP WANTED~~.
|
|
128
|
-
The ideal is that instead of `
|
|
96
|
+
The ideal is that instead of `LazyRuleRunners` We would simply use `Lazy` to begin with.
|
|
129
97
|
The problem is that lazy rules can't really be passed to this function due to some generic hell
|
|
130
98
|
so we're limiting it to a small set of functions.
|
|
131
99
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],t):(n="undefined"!=typeof globalThis?globalThis:n||self).compose=t(n.n4s)}(this,(function(n){function t(n){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return"function"==typeof n?n.apply(void 0,t):n}function e(n,t){function e(n){r=!0,o=n}for(var r=!1,o=null,u=0;u<n.length;u++)if(t(n[u],e,u),r)return o}function r(n,e){var r;return null!==(r=t(n))&&void 0!==r?r:e}function o(n,t){return n={pass:n},t&&(n.message=t),n}return function(){function u(t){return n.ctx.run({value:t},(function(){return r(e(f,(function(n,e){try{var r=n.run(t)}catch(n){r=o(!1)}r.pass||e(r)})),o(!0))}))}for(var f=[],i=0;i<arguments.length;i++)f[i]=arguments[i];return Object.assign((function(n){n=u(n);var e=new String(n.message);if(!n.pass)throw e instanceof String?e.valueOf():Error(e?t(e):e)}),{run:u,test:function(n){return u(n).pass}})}}));
|
|
@@ -104,12 +104,27 @@
|
|
|
104
104
|
}));
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
+
function isNumeric(value) {
|
|
108
|
+
var str = String(value);
|
|
109
|
+
var num = Number(value);
|
|
110
|
+
var result = !isNaN(parseFloat(str)) && !isNaN(Number(value)) && isFinite(num);
|
|
111
|
+
return Boolean(result);
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
function numberEquals(value, eq) {
|
|
115
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
116
|
+
}
|
|
117
|
+
|
|
107
118
|
function lengthEquals(value, arg1) {
|
|
108
|
-
return value.length
|
|
119
|
+
return numberEquals(value.length, arg1);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function greaterThan(value, gt) {
|
|
123
|
+
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
109
124
|
}
|
|
110
125
|
|
|
111
126
|
function longerThan(value, arg1) {
|
|
112
|
-
return value.length
|
|
127
|
+
return greaterThan(value.length, arg1);
|
|
113
128
|
}
|
|
114
129
|
|
|
115
130
|
var REQUIRED_COUNT = 1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n4s)}(this,(function(n){function e(n,e){function
|
|
1
|
+
"use strict";!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(require("n4s")):"function"==typeof define&&define.amd?define(["n4s"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).n4s)}(this,(function(n){function e(n,e){function r(n){t=!0,u=n}for(var t=!1,u=null,f=0;f<n.length;f++)if(e(n[f],r,f),t)return u}function r(n,e){var r;return null!==(r=function(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];return"function"==typeof n?n.apply(void 0,e):n}(n))&&void 0!==r?r:e}function t(n,e){return n={pass:n},e&&(n.message=e),n}function u(n,e){try{return n.run(e)}catch(n){return t(!1)}}function f(n){var e=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(e))}function o(n,e){return f(n)&&f(e)&&Number(n)===Number(e)}n.enforce.extend({allOf:function(n){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return r(e(f,(function(e,r){(e=u(e,n)).pass||r(e)})),t(!0))},anyOf:function(n){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return r(e(f,(function(e,r){(e=u(e,n)).pass&&r(e)})),t(!1))},noneOf:function(n){for(var f=[],o=1;o<arguments.length;o++)f[o-1]=arguments[o];return r(e(f,(function(e,r){u(e,n).pass&&r(t(!1))})),t(!0))},oneOf:function(n){for(var e=[],r=1;r<arguments.length;r++)e[r-1]=arguments[r];var i=[];return e.some((function(e){var r=i.length;if(f(r)&&f(1)&&Number(r)>Number(1))return!1;(e=u(e,n)).pass&&i.push(e)})),t(o(i.length,1))}})}));
|
|
@@ -61,8 +61,13 @@
|
|
|
61
61
|
return isNumeric(value) && isNumeric(gt) && Number(value) > Number(gt);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
+
function numberEquals(value, eq) {
|
|
65
|
+
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
66
|
+
}
|
|
67
|
+
var numberNotEquals = bindNot(numberEquals);
|
|
68
|
+
|
|
64
69
|
function greaterThanOrEquals(value, gte) {
|
|
65
|
-
return
|
|
70
|
+
return numberEquals(value, gte) || greaterThan(value, gte);
|
|
66
71
|
}
|
|
67
72
|
|
|
68
73
|
// The module is named "isArrayValue" since it
|
|
@@ -85,8 +90,12 @@
|
|
|
85
90
|
}
|
|
86
91
|
var notInside = bindNot(inside);
|
|
87
92
|
|
|
93
|
+
function lessThan(value, lt) {
|
|
94
|
+
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
95
|
+
}
|
|
96
|
+
|
|
88
97
|
function lessThanOrEquals(value, lte) {
|
|
89
|
-
return
|
|
98
|
+
return numberEquals(value, lte) || lessThan(value, lte);
|
|
90
99
|
}
|
|
91
100
|
|
|
92
101
|
function isBetween(value, min, max) {
|
|
@@ -118,7 +127,7 @@
|
|
|
118
127
|
var isNotNumber = bindNot(isNumber);
|
|
119
128
|
|
|
120
129
|
function lengthEquals(value, arg1) {
|
|
121
|
-
return value.length
|
|
130
|
+
return numberEquals(value.length, arg1);
|
|
122
131
|
}
|
|
123
132
|
var lengthNotEquals = bindNot(lengthEquals);
|
|
124
133
|
|
|
@@ -160,12 +169,8 @@
|
|
|
160
169
|
var isNotNaN = bindNot(isNaN$1);
|
|
161
170
|
|
|
162
171
|
function isNegative(value) {
|
|
163
|
-
|
|
164
|
-
return Number(value) < 0;
|
|
165
|
-
}
|
|
166
|
-
return false;
|
|
172
|
+
return lessThan(value, 0);
|
|
167
173
|
}
|
|
168
|
-
var isPositive = bindNot(isNegative);
|
|
169
174
|
|
|
170
175
|
/**
|
|
171
176
|
* Validates that a given value is an odd number
|
|
@@ -177,6 +182,10 @@
|
|
|
177
182
|
return false;
|
|
178
183
|
};
|
|
179
184
|
|
|
185
|
+
function isPositive(value) {
|
|
186
|
+
return greaterThan(value, 0);
|
|
187
|
+
}
|
|
188
|
+
|
|
180
189
|
var isNotString = bindNot(isStringValue);
|
|
181
190
|
|
|
182
191
|
function isTruthy(value) {
|
|
@@ -197,16 +206,12 @@
|
|
|
197
206
|
}
|
|
198
207
|
var isNotValueOf = bindNot(isValueOf);
|
|
199
208
|
|
|
200
|
-
function lessThan(value, lt) {
|
|
201
|
-
return isNumeric(value) && isNumeric(lt) && Number(value) < Number(lt);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
209
|
function longerThan(value, arg1) {
|
|
205
|
-
return value.length
|
|
210
|
+
return greaterThan(value.length, arg1);
|
|
206
211
|
}
|
|
207
212
|
|
|
208
213
|
function longerThanOrEquals(value, arg1) {
|
|
209
|
-
return value.length
|
|
214
|
+
return greaterThanOrEquals(value.length, arg1);
|
|
210
215
|
}
|
|
211
216
|
|
|
212
217
|
function matches(value, regex) {
|
|
@@ -222,11 +227,6 @@
|
|
|
222
227
|
}
|
|
223
228
|
var notMatches = bindNot(matches);
|
|
224
229
|
|
|
225
|
-
function numberEquals(value, eq) {
|
|
226
|
-
return isNumeric(value) && isNumeric(eq) && Number(value) === Number(eq);
|
|
227
|
-
}
|
|
228
|
-
var numberNotEquals = bindNot(numberEquals);
|
|
229
|
-
|
|
230
230
|
function condition(value, callback) {
|
|
231
231
|
try {
|
|
232
232
|
return callback(value);
|
|
@@ -237,11 +237,11 @@
|
|
|
237
237
|
}
|
|
238
238
|
|
|
239
239
|
function shorterThan(value, arg1) {
|
|
240
|
-
return value.length
|
|
240
|
+
return lessThan(value.length, arg1);
|
|
241
241
|
}
|
|
242
242
|
|
|
243
243
|
function shorterThanOrEquals(value, arg1) {
|
|
244
|
-
return value.length
|
|
244
|
+
return lessThanOrEquals(value.length, arg1);
|
|
245
245
|
}
|
|
246
246
|
|
|
247
247
|
function startsWith(value, arg1) {
|
|
@@ -343,11 +343,18 @@
|
|
|
343
343
|
return (_a = optionalFunctionValue(callback)) !== null && _a !== void 0 ? _a : defaultValue;
|
|
344
344
|
}
|
|
345
345
|
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
346
|
+
function invariant(condition,
|
|
347
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
348
|
+
message) {
|
|
349
|
+
if (condition) {
|
|
350
|
+
return;
|
|
351
|
+
}
|
|
352
|
+
// If message is a string object (rather than string literal)
|
|
353
|
+
// Throw the value directly as a string
|
|
354
|
+
// Alternatively, throw an error with the message
|
|
355
|
+
throw message instanceof String
|
|
356
|
+
? message.valueOf()
|
|
357
|
+
: new Error(message ? optionalFunctionValue(message) : message);
|
|
351
358
|
}
|
|
352
359
|
|
|
353
360
|
// eslint-disable-next-line max-lines-per-function
|
|
@@ -360,8 +367,8 @@
|
|
|
360
367
|
useX: useX
|
|
361
368
|
};
|
|
362
369
|
function useX(errorMessage) {
|
|
363
|
-
|
|
364
|
-
return
|
|
370
|
+
invariant(storage.ctx, defaultTo(errorMessage, 'Context was used after it was closed'));
|
|
371
|
+
return storage.ctx;
|
|
365
372
|
}
|
|
366
373
|
function run(ctxRef, fn) {
|
|
367
374
|
var _a;
|
|
@@ -493,15 +500,12 @@
|
|
|
493
500
|
return ruleReturn(result);
|
|
494
501
|
}
|
|
495
502
|
else {
|
|
496
|
-
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args)));
|
|
503
|
+
return ruleReturn(result.pass, optionalFunctionValue.apply(void 0, __spreadArray([result.message, ruleName, value], args, false)));
|
|
497
504
|
}
|
|
498
505
|
}
|
|
499
506
|
function validateResult(result) {
|
|
500
507
|
// if result is boolean, or if result.pass is boolean
|
|
501
|
-
|
|
502
|
-
return;
|
|
503
|
-
}
|
|
504
|
-
throwError('Incorrect return value for rule: ' + JSON.stringify(result));
|
|
508
|
+
invariant(isBoolean(result) || (result && isBoolean(result.pass)), 'Incorrect return value for rule: ' + JSON.stringify(result));
|
|
505
509
|
}
|
|
506
510
|
|
|
507
511
|
function enforceEager(value) {
|
|
@@ -527,18 +531,12 @@
|
|
|
527
531
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
528
532
|
args[_i] = arguments[_i];
|
|
529
533
|
}
|
|
530
|
-
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args)); }),
|
|
534
|
+
var transformedResult = transformResult.apply(void 0, __spreadArray([ctx.run({ value: value }, function () { return rule.apply(void 0, __spreadArray([value], args, false)); }),
|
|
531
535
|
ruleName,
|
|
532
|
-
value], args));
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
}
|
|
537
|
-
else {
|
|
538
|
-
// Explicitly throw a string so that vest.test can pick it up as the validation error message
|
|
539
|
-
throw transformedResult.message;
|
|
540
|
-
}
|
|
541
|
-
}
|
|
536
|
+
value], args, false));
|
|
537
|
+
invariant(transformedResult.pass, isEmpty(transformedResult.message)
|
|
538
|
+
? "enforce/".concat(ruleName, " failed with ").concat(JSON.stringify(value))
|
|
539
|
+
: new String(transformedResult.message));
|
|
542
540
|
return target;
|
|
543
541
|
};
|
|
544
542
|
}
|
|
@@ -574,7 +572,7 @@
|
|
|
574
572
|
}
|
|
575
573
|
var rule = getRule(ruleName);
|
|
576
574
|
registeredRules.push(function (value) {
|
|
577
|
-
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args)), ruleName, value], args));
|
|
575
|
+
return transformResult.apply(void 0, __spreadArray([rule.apply(void 0, __spreadArray([value], args, false)), ruleName, value], args, false));
|
|
578
576
|
});
|
|
579
577
|
var proxy = {
|
|
580
578
|
run: function (value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return"function"==typeof n}function r(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function e(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function f(n,t){return n===t}function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function c(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function l(n,t){return a(n)&&a(t)&&Number(n)
|
|
1
|
+
"use strict";!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((n="undefined"!=typeof globalThis?globalThis:n||self).n4s={})}(this,(function(n){function t(n){return"function"==typeof n}function r(n){return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];return!n.apply(void 0,t)}}function e(n){return null===n}function u(n){return void 0===n}function i(n){return null===n||u(n)}function o(n){return String(n)===n}function s(n,t){return o(n)&&o(t)&&n.endsWith(t)}function f(n,t){return n===t}function a(n){var t=Number(n);return!(isNaN(parseFloat(String(n)))||isNaN(Number(n))||!isFinite(t))}function c(n,t){return a(n)&&a(t)&&Number(n)>Number(t)}function l(n,t){return a(n)&&a(t)&&Number(n)===Number(t)}function p(n,t){return l(n,t)||c(n,t)}function h(n){return!!Array.isArray(n)}function v(n,t){return!!(h(t)||o(t)&&o(n))&&-1!==t.indexOf(n)}function N(n,t){return a(n)&&a(t)&&Number(n)<Number(t)}function g(n,t){return l(n,t)||N(n,t)}function d(n,t,r){return p(n,t)&&g(n,r)}function y(n){return i(n)||o(n)&&!n.trim()}function m(n){return!!n===n}function b(n){return"number"==typeof n}function x(n,t){return l(n.length,t)}function O(n){if(n){if(b(n))return 0===n;if(Object.prototype.hasOwnProperty.call(n,"length"))return x(n,0);if("object"==typeof n)return x(Object.keys(n),0)}return!0}function E(n,t){return n in t}function w(n){return Number.isNaN(n)}function T(n){return!!n}function q(n,t){if(i(t))return!1;for(var r in t)if(t[r]===n)return!0;return!1}function S(n,t){return t instanceof RegExp?t.test(n):!!o(t)&&new RegExp(t).test(n)}function j(n,t){return o(n)&&o(t)&&n.startsWith(t)}function P(n){for(var r in ln){var e=ln[r];t(e)&&n(r,e)}}function A(n){for(var r=[],e=1;e<arguments.length;e++)r[e-1]=arguments[e];return t(n)?n.apply(void 0,r):n}function B(n,t){var r;return null!==(r=A(n))&&void 0!==r?r:t}function W(n,t){if(!n)throw t instanceof String?t.valueOf():Error(t?A(t):t)}function k(){return null}function F(n,t,r){if(r||2===arguments.length)for(var e,u=0,i=t.length;u<i;u++)!e&&u in t||(e||(e=Array.prototype.slice.call(t,0,u)),e[u]=t[u]);return n.concat(e||Array.prototype.slice.call(t))}function I(){try{return t(Proxy)}catch(n){return!1}}function J(n,t){return n={pass:n},t&&(n.message=t),n}function K(n,t,r){for(var e=[],u=3;u<arguments.length;u++)e[u-3]=arguments[u];return W(m(n)||n&&m(n.pass),"Incorrect return value for rule: "+JSON.stringify(n)),m(n)?J(n):J(n.pass,A.apply(void 0,F([n.message,t,r],e,!1)))}function M(n){function t(t,r,e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];return W((i=K.apply(void 0,F([pn.run({value:n},(function(){return r.apply(void 0,F([n],u,!1))})),e,n],u,!1))).pass,O(i.message)?"enforce/".concat(e," failed with ").concat(JSON.stringify(n)):new String(i.message)),t}}var r={};if(!I())return P((function(n,e){r[n]=t(r,e,n)})),r;var e=new Proxy(r,{get:function(n,r){if(n=ln[r])return t(e,n,r)}});return e}function R(n,t){function r(n){e=!0,u=n}for(var e=!1,u=null,i=0;i<n.length;i++)if(t(n[i],r,i),e)return u}function U(n){var t,r=[];return function n(e){return function(){for(var u=[],i=0;i<arguments.length;i++)u[i]=arguments[i];var o=ln[e];r.push((function(n){return K.apply(void 0,F([o.apply(void 0,F([n],u,!1)),e,n],u,!1))}));var s={run:function(n){return B(R(r,(function(r,e){var u,i=pn.run({value:n},(function(){return r(n)}));i.pass||e(J(!!i.pass,null!==(u=A(t,n,i.message))&&void 0!==u?u:i.message))})),J(!0))},test:function(n){return s.run(n).pass},message:function(n){return n&&(t=n),s}};return I()?s=new Proxy(s,{get:function(t,r){return ln[r]?n(r):t[r]}}):(P((function(t){s[t]=n(t)})),s)}}(n)}var V,X=Object.assign,_=r(e),z=r(u),C=r(i),D=r(s),G=r(f),H=r(a),L=r(l),Q=r(h),Y=r(v),Z=r(d),$=r(y),nn=r(m),tn=r(b),rn=r(x),en=r(O),un=r(E),on=r(w),sn=r(o),fn=r(T),an=r(q),cn=r(S),ln={condition:function(n,t){try{return t(n)}catch(n){return!1}},doesNotEndWith:D,doesNotStartWith:r(j),endsWith:s,equals:f,greaterThan:c,greaterThanOrEquals:p,gt:c,gte:p,inside:v,isArray:h,isBetween:d,isBlank:y,isBoolean:m,isEmpty:O,isEven:function(n){return!!a(n)&&0==n%2},isFalsy:fn,isKeyOf:E,isNaN:w,isNegative:function(n){return N(n,0)},isNotArray:Q,isNotBetween:Z,isNotBlank:$,isNotBoolean:nn,isNotEmpty:en,isNotKeyOf:un,isNotNaN:on,isNotNull:_,isNotNullish:C,isNotNumber:tn,isNotNumeric:H,isNotString:sn,isNotUndefined:z,isNotValueOf:an,isNull:e,isNullish:i,isNumber:b,isNumeric:a,isOdd:function(n){return!!a(n)&&0!=n%2},isPositive:function(n){return c(n,0)},isString:o,isTruthy:T,isUndefined:u,isValueOf:q,lengthEquals:x,lengthNotEquals:rn,lessThan:N,lessThanOrEquals:g,longerThan:function(n,t){return c(n.length,t)},longerThanOrEquals:function(n,t){return p(n.length,t)},lt:N,lte:g,matches:S,notEquals:G,notInside:Y,notMatches:cn,numberEquals:l,numberNotEquals:L,shorterThan:function(n,t){return N(n.length,t)},shorterThanOrEquals:function(n,t){return g(n.length,t)},startsWith:j},pn=function(n){function t(t,u){var i,o,s=r();return t=X({},s||{},null!==(i=A(n,t,s))&&void 0!==i?i:t),i=e.ctx=Object.freeze(t),e.ancestry.unshift(i),u=u(i),e.ancestry.shift(),e.ctx=null!==(o=e.ancestry[0])&&void 0!==o?o:null,u}function r(){return e.ctx}var e={ancestry:[]};return{bind:function(n,r){return function(){for(var e=[],u=0;u<arguments.length;u++)e[u]=arguments[u];return t(n,(function(){return r.apply(void 0,e)}))}},run:t,use:r,useX:function(n){return W(e.ctx,B(n,"Context was used after it was closed")),e.ctx}}}((function(n,t){var r={value:n.value,meta:n.meta||{}};return t?n.set?X(r,{parent:function(){return t?{value:t.value,meta:t.meta,parent:t.parent}:t}}):t:X(r,{parent:k})}));V={context:function(){return pn.useX()},extend:function(n){X(ln,n)}},_=I()?new Proxy(X(M,V),{get:function(n,t){return t in n?n[t]:ln[t]?U(t):void 0}}):(P((function(n){V[n]=U(n)})),X(M,V)),n.ctx=pn,n.enforce=_,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
// Help needed improving the typings of this file.
|
|
133
|
-
// Ideally, we'd be able to extend
|
|
133
|
+
// Ideally, we'd be able to extend ShapeObject, but that's not possible.
|
|
134
134
|
function partial(shapeObject) {
|
|
135
135
|
var output = {};
|
|
136
136
|
for (var key in shapeObject) {
|