Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

sanctuary-def

Package Overview
Dependencies
Maintainers
12
Versions
31
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sanctuary-def - npm Package Compare versions

Comparing version 0.12.1 to 0.13.0

2

package.json
{
"name": "sanctuary-def",
"version": "0.12.1",
"version": "0.13.0",
"description": "Run-time type system for JavaScript",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -159,3 +159,3 @@ # sanctuary-def

<h4 name="__"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L188">__ :: Placeholder</a></code></h4>
<h4 name="__"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L188">__ :: Placeholder</a></code></h4>

@@ -186,27 +186,27 @@ The special placeholder value.

<h4 name="Any"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L449">Any :: Type</a></code></h4>
<h4 name="Any"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L463">Any :: Type</a></code></h4>
Type comprising every JavaScript value.
<h4 name="AnyFunction"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L454">AnyFunction :: Type</a></code></h4>
<h4 name="AnyFunction"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L468">AnyFunction :: Type</a></code></h4>
Type comprising every Function value.
<h4 name="Arguments"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L459">Arguments :: Type</a></code></h4>
<h4 name="Arguments"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L473">Arguments :: Type</a></code></h4>
Type comprising every [`arguments`][arguments] object.
<h4 name="Array"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L464">Array :: Type -⁠> Type</a></code></h4>
<h4 name="Array"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L478">Array :: Type -⁠> Type</a></code></h4>
Constructor for homogeneous Array types.
<h4 name="Boolean"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L469">Boolean :: Type</a></code></h4>
<h4 name="Boolean"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L483">Boolean :: Type</a></code></h4>
Type comprising `true` and `false`.
<h4 name="Date"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L474">Date :: Type</a></code></h4>
<h4 name="Date"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L488">Date :: Type</a></code></h4>
Type comprising every Date value.
<h4 name="Error"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L479">Error :: Type</a></code></h4>
<h4 name="Error"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L493">Error :: Type</a></code></h4>

@@ -216,3 +216,3 @@ Type comprising every Error value, including values of more specific

<h4 name="FiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L485">FiniteNumber :: Type</a></code></h4>
<h4 name="FiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L499">FiniteNumber :: Type</a></code></h4>

@@ -222,3 +222,3 @@ Type comprising every [`ValidNumber`][] value except `Infinity` and

<h4 name="Function"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L494">Function :: Array Type -⁠> Type</a></code></h4>
<h4 name="Function"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L508">Function :: Array Type -⁠> Type</a></code></h4>

@@ -233,3 +233,3 @@ Constructor for Function types.

<h4 name="GlobalRegExp"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L531">GlobalRegExp :: Type</a></code></h4>
<h4 name="GlobalRegExp"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L545">GlobalRegExp :: Type</a></code></h4>

@@ -240,3 +240,3 @@ Type comprising every [`RegExp`][] value whose `global` flag is `true`.

<h4 name="Integer"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L541">Integer :: Type</a></code></h4>
<h4 name="Integer"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L555">Integer :: Type</a></code></h4>

@@ -246,15 +246,15 @@ Type comprising every integer in the range

<h4 name="NegativeFiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L555">NegativeFiniteNumber :: Type</a></code></h4>
<h4 name="NegativeFiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L569">NegativeFiniteNumber :: Type</a></code></h4>
Type comprising every [`FiniteNumber`][] value less than zero.
<h4 name="NegativeInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L563">NegativeInteger :: Type</a></code></h4>
<h4 name="NegativeInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L577">NegativeInteger :: Type</a></code></h4>
Type comprising every [`Integer`][] value less than zero.
<h4 name="NegativeNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L571">NegativeNumber :: Type</a></code></h4>
<h4 name="NegativeNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L585">NegativeNumber :: Type</a></code></h4>
Type comprising every [`Number`][] value less than zero.
<h4 name="NonEmpty"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L579">NonEmpty :: Type -⁠> Type</a></code></h4>
<h4 name="NonEmpty"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L593">NonEmpty :: Type -⁠> Type</a></code></h4>

@@ -266,3 +266,3 @@ Constructor for non-empty types. `$.NonEmpty($.String)`, for example, is

<h4 name="NonGlobalRegExp"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L596">NonGlobalRegExp :: Type</a></code></h4>
<h4 name="NonGlobalRegExp"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L610">NonGlobalRegExp :: Type</a></code></h4>

@@ -273,27 +273,32 @@ Type comprising every [`RegExp`][] value whose `global` flag is `false`.

<h4 name="NonZeroFiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L606">NonZeroFiniteNumber :: Type</a></code></h4>
<h4 name="NonNegativeInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L620">NonNegativeInteger :: Type</a></code></h4>
Type comprising every non-negative [`Integer`][] value (including `-0`).
Also known as the set of natural numbers under ISO 80000-2:2009.
<h4 name="NonZeroFiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L629">NonZeroFiniteNumber :: Type</a></code></h4>
Type comprising every [`FiniteNumber`][] value except `0` and `-0`.
<h4 name="NonZeroInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L614">NonZeroInteger :: Type</a></code></h4>
<h4 name="NonZeroInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L637">NonZeroInteger :: Type</a></code></h4>
Type comprising every [`Integer`][] value except `0` and `-0`.
<h4 name="NonZeroValidNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L622">NonZeroValidNumber :: Type</a></code></h4>
<h4 name="NonZeroValidNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L645">NonZeroValidNumber :: Type</a></code></h4>
Type comprising every [`ValidNumber`][] value except `0` and `-0`.
<h4 name="Null"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L630">Null :: Type</a></code></h4>
<h4 name="Null"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L653">Null :: Type</a></code></h4>
Type whose sole member is `null`.
<h4 name="Nullable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L635">Nullable :: Type -⁠> Type</a></code></h4>
<h4 name="Nullable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L658">Nullable :: Type -⁠> Type</a></code></h4>
Constructor for types which include `null` as a member.
<h4 name="Number"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L647">Number :: Type</a></code></h4>
<h4 name="Number"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L670">Number :: Type</a></code></h4>
Type comprising every primitive Number value (including `NaN`).
<h4 name="Object"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L652">Object :: Type</a></code></h4>
<h4 name="Object"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L675">Object :: Type</a></code></h4>

@@ -308,3 +313,3 @@ Type comprising every "plain" Object value. Specifically, values

<h4 name="Pair"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L663">Pair :: Type -⁠> Type -⁠> Type</a></code></h4>
<h4 name="Pair"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L686">Pair :: Type -⁠> Type -⁠> Type</a></code></h4>

@@ -314,19 +319,19 @@ Constructor for tuple types of length 2. Arrays are said to represent

<h4 name="PositiveFiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L674">PositiveFiniteNumber :: Type</a></code></h4>
<h4 name="PositiveFiniteNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L697">PositiveFiniteNumber :: Type</a></code></h4>
Type comprising every [`FiniteNumber`][] value greater than zero.
<h4 name="PositiveInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L682">PositiveInteger :: Type</a></code></h4>
<h4 name="PositiveInteger"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L705">PositiveInteger :: Type</a></code></h4>
Type comprising every [`Integer`][] value greater than zero.
<h4 name="PositiveNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L690">PositiveNumber :: Type</a></code></h4>
<h4 name="PositiveNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L713">PositiveNumber :: Type</a></code></h4>
Type comprising every [`Number`][] value greater than zero.
<h4 name="RegExp"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L698">RegExp :: Type</a></code></h4>
<h4 name="RegExp"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L721">RegExp :: Type</a></code></h4>
Type comprising every RegExp value.
<h4 name="RegexFlags"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L703">RegexFlags :: Type</a></code></h4>
<h4 name="RegexFlags"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L726">RegexFlags :: Type</a></code></h4>

@@ -344,3 +349,3 @@ Type comprising the canonical RegExp flags:

<h4 name="StrMap"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L720">StrMap :: Type -⁠> Type</a></code></h4>
<h4 name="StrMap"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L743">StrMap :: Type -⁠> Type</a></code></h4>

@@ -352,23 +357,23 @@ Constructor for homogeneous Object types.

<h4 name="String"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L734">String :: Type</a></code></h4>
<h4 name="String"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L757">String :: Type</a></code></h4>
Type comprising every primitive String value.
<h4 name="Symbol"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L739">Symbol :: Type</a></code></h4>
<h4 name="Symbol"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L762">Symbol :: Type</a></code></h4>
Type comprising every Symbol value.
<h4 name="Type"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L744">Type :: Type</a></code></h4>
<h4 name="Type"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L767">Type :: Type</a></code></h4>
Type comprising every `Type` value.
<h4 name="TypeClass"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L749">TypeClass :: Type</a></code></h4>
<h4 name="TypeClass"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L772">TypeClass :: Type</a></code></h4>
Type comprising every [`TypeClass`][] value.
<h4 name="Undefined"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L755">Undefined :: Type</a></code></h4>
<h4 name="Undefined"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L778">Undefined :: Type</a></code></h4>
Type whose sole member is `undefined`.
<h4 name="Unknown"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L760">Unknown :: Type</a></code></h4>
<h4 name="Unknown"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L783">Unknown :: Type</a></code></h4>

@@ -390,11 +395,11 @@ Type used to represent missing type information. The type of `[]`,

<h4 name="ValidDate"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L778">ValidDate :: Type</a></code></h4>
<h4 name="ValidDate"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L802">ValidDate :: Type</a></code></h4>
Type comprising every [`Date`][] value except `new Date(NaN)`.
<h4 name="ValidNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L786">ValidNumber :: Type</a></code></h4>
<h4 name="ValidNumber"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L810">ValidNumber :: Type</a></code></h4>
Type comprising every [`Number`][] value except `NaN`.
<h4 name="env"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L794">env :: Array Type</a></code></h4>
<h4 name="env"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L818">env :: Array Type</a></code></h4>

@@ -418,3 +423,3 @@ An array of [types][]:

<h4 name="test"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1255">test :: Array Type -⁠> Type -⁠> a -⁠> Boolean</a></code></h4>
<h4 name="test"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1279">test :: Array Type -⁠> Type -⁠> a -⁠> Boolean</a></code></h4>

@@ -446,3 +451,3 @@ Takes an environment, a type, and any value. Returns `true` if the value

<h4 name="NullaryType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1286">NullaryType :: String -⁠> String -⁠> (Any -⁠> Boolean) -⁠> Type</a></code></h4>
<h4 name="NullaryType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1310">NullaryType :: String -⁠> String -⁠> (Any -⁠> Boolean) -⁠> Type</a></code></h4>

@@ -510,3 +515,3 @@ Type constructor for types with no type variables (such as [`Number`][]).

<h4 name="UnaryType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1361">UnaryType :: String -⁠> String -⁠> (Any -⁠> Boolean) -⁠> (t a -⁠> Array a) -⁠> (Type -⁠> Type)</a></code></h4>
<h4 name="UnaryType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1385">UnaryType :: String -⁠> String -⁠> (Any -⁠> Boolean) -⁠> (t a -⁠> Array a) -⁠> (Type -⁠> Type)</a></code></h4>

@@ -590,3 +595,3 @@ Type constructor for types with one type variable (such as [`Array`][]).

<h4 name="BinaryType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1470">BinaryType :: String -⁠> String -⁠> (Any -⁠> Boolean) -⁠> (t a b -⁠> Array a) -⁠> (t a b -⁠> Array b) -⁠> (Type -⁠> Type -⁠> Type)</a></code></h4>
<h4 name="BinaryType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1494">BinaryType :: String -⁠> String -⁠> (Any -⁠> Boolean) -⁠> (t a b -⁠> Array a) -⁠> (t a b -⁠> Array b) -⁠> (Type -⁠> Type -⁠> Type)</a></code></h4>

@@ -682,3 +687,3 @@ Type constructor for types with two type variables (such as [`Pair`][]).

<h4 name="EnumType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1605">EnumType :: String -⁠> String -⁠> Array Any -⁠> Type</a></code></h4>
<h4 name="EnumType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1629">EnumType :: String -⁠> String -⁠> Array Any -⁠> Type</a></code></h4>

@@ -706,3 +711,3 @@ Type constructor for [enumerated types][] (such as [`RegexFlags`][]).

<h4 name="RecordType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1634">RecordType :: StrMap Type -⁠> Type</a></code></h4>
<h4 name="RecordType"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1658">RecordType :: StrMap Type -⁠> Type</a></code></h4>

@@ -757,3 +762,3 @@ `RecordType` is used to construct record types. The type definition

<h4 name="TypeVariable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1712">TypeVariable :: String -⁠> Type</a></code></h4>
<h4 name="TypeVariable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1736">TypeVariable :: String -⁠> Type</a></code></h4>

@@ -812,3 +817,3 @@ Polymorphism is powerful. Not being able to define a function for

<h4 name="UnaryTypeVariable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1772">UnaryTypeVariable :: String -⁠> (Type -⁠> Type)</a></code></h4>
<h4 name="UnaryTypeVariable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1796">UnaryTypeVariable :: String -⁠> (Type -⁠> Type)</a></code></h4>

@@ -860,3 +865,3 @@ Combines [`UnaryType`][] and [`TypeVariable`][].

<h4 name="BinaryTypeVariable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.12.1/index.js#L1836">BinaryTypeVariable :: String -⁠> (Type -⁠> Type -⁠> Type)</a></code></h4>
<h4 name="BinaryTypeVariable"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1860">BinaryTypeVariable :: String -⁠> (Type -⁠> Type -⁠> Type)</a></code></h4>

@@ -876,2 +881,12 @@ Combines [`BinaryType`][] and [`TypeVariable`][].

<h4 name="Thunk"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1895">Thunk :: Type -⁠> Type</a></code></h4>
`$.Thunk(T)` is shorthand for `$.Function([T])`, the type comprising
every nullary function (thunk) which returns a value of type `T`.
<h4 name="Predicate"><code><a href="https://github.com/sanctuary-js/sanctuary-def/blob/v0.13.0/index.js#L1905">Predicate :: Type -⁠> Type</a></code></h4>
`$.Predicate(T)` is shorthand for `$.Function([T, $.Boolean])`, the type
comprising every predicate function which takes a value of type `T`.
### Type classes

@@ -878,0 +893,0 @@

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc