返回介绍

strict

发布于 2019-05-31 13:12:51 字数 1720 浏览 1063 评论 0 收藏 0

Provides a stricter version of Lazy which throws an error when attempting to wrap null, undefined, or numeric or boolean values as a sequence.

Signature

Lazy.strict = function() { /*...*/ }
Lazy.strict = function strict() {
  function StrictLazy(source) {
if (source == null) {
  throw new Error("You cannot wrap null or undefined using Lazy.");
}

if (typeof source === "number" || typeof source === "boolean") {
  throw new Error("You cannot wrap primitive values using Lazy.");
}

return Lazy(source);
  };

  Lazy(Lazy).each(function(property, name) {
StrictLazy[name] = property;
  });

  return StrictLazy;
}
NameType(s)Description
returnsFunction

A stricter version of the Lazy helper function.

Examples

var Strict = Lazy.strict();

Strict()                  // throws
Strict(null)              // throws
Strict(true)              // throws
Strict(5)                 // throws
Strict([1, 2, 3])         // instanceof Lazy.ArrayLikeSequence
Strict({ foo: "bar" })    // instanceof Lazy.ObjectLikeSequence
Strict("hello, world!")   // instanceof Lazy.StringLikeSequence

// Let's also ensure the static functions are still there.
Strict.range(3)           // sequence: [0, 1, 2]
Strict.generate(Date.now) // instanceof Lazy.GeneratedSequence

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文