Coder Social home page Coder Social logo

ngneat / falso Goto Github PK

View Code? Open in Web Editor NEW
3.1K 14.0 111.0 13.39 MB

All the Fake Data for All Your Real Needs 🙂

Home Page: https://ngneat.github.io/falso/

License: MIT License

JavaScript 3.71% TypeScript 96.23% Shell 0.06%
fake data mock mockdata fakedata random

falso's Introduction

All the Fake Data for All Your Real Needs 🙂

Create massive amounts of fake data in the browser and NodeJS. Tree Shakeable & Fully Typed.


@ngneat/falso commitizen PRs coc-badge semantic-release styled with prettier

✅  203 Functions
✅  Tree Shakable
✅  Fully Typed
✅  Factory Functions
✅  Entity Functions
✅  Single and Array Result

🤓 Learn about it on the docs site

Sponsoring ngneat

Sponsorships aid in the continued development and maintenance of ngneat libraries. Consider asking your company to sponsor ngneat as its core to their business and application development.

Gold Sponsors

Elevate your support by becoming a Gold Sponsor and have your logo prominently featured on our README in the top 5 repositories.

Silver Sponsors

Boost your backing by becoming a Gold Sponsor and enjoy the spotlight with your logo prominently showcased in the top 3 repositories on our README.

Bronze Sponsors

House of Angular

Become a bronze sponsor and get your logo on our README on GitHub.

StackBlitz

Open in StackBlitz

Installation

npm i @ngneat/falso
yarn add @ngneat/falso

Usage

import { randEmail, randFullName } from '@ngneat/falso';

const user = { email: randEmail(), name: randFullName() };

const emails = randEmail({ length: 10 });

You can specify the length of elements you want to generate. Below is an example of generating 10 emails with length equal or smaller than 20 characters.

const emails = randEmail({ length: 10, maxCharCount: 20 });

Setting a Randomness Seed

You can set your own seed if you want consistent results:

import { rand, seed } from '@ngneat/falso';

seed('some-constant-seed');

// Always returns 2
rand([1, 2, 3, 4, 5]);

// Reset random seed
seed();

Contribute

  • Go over the steps in this guide
  • Add a new falso

contribute

  • Use npm run c and choose the right answers
Icons made by Freepik from www.flaticon.com

falso's People

Contributors

alinpisica avatar andersonjoseph avatar arulprabakaran avatar cipriansauliuc avatar dsa0x avatar iamandrewluca avatar ikerasiotis avatar kabrunko-dev avatar kobenguyent avatar lrnzlo avatar manudss avatar michaelvoelker1 avatar michaelxvoelker avatar netanelbasal avatar okinawaa avatar parikshit-hooda avatar pumano avatar pumpedsardines avatar quantum-0 avatar rodrigofeijao avatar rothsandro avatar seanpoulter avatar shaharkazaz avatar shhdharmen avatar sirrocco avatar tahseenio avatar technologeek avatar theryansmee avatar tomek-i avatar va-stefanek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

falso's Issues

Add Quotes Entity

Description

Add a method for generating some random quotes.

Proposed solution

Pick up a couple of quotes and add then as json. I have done this, and just waiting for approval to submit a PR

Alternatives considered

No response

Do you want to create a pull request?

Yes

OAuth Providers

Description

github, google, etc

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Integrations

Description

[
"Slack",
"GitHub",
"Jira",
"AWS Lambda",
"Bitbucket",
"Bitbucket Server",
"GitHub Enterprise",
"GitLab",
"Grafana",
"Jira Server",
"Microsoft Teams",
"PagerDuty",
"Vercel",
"Azure DevOps",
"WebHooks",
"Amixr",
"Calixa",
"ClickUp",
"Komodor",
"Linear",
"Rookout",
"Shortcut",
"Spike.sh",
"Split",
"TaskCall",
"Teamwork",
"Asana",
"OpenReplay",
"Bitbucket Pipelines",
"Datadog",
"FullStory",
"GitHub Actions",
"Heroku",
"InsightFinder",
"Netlify",
"Octohook",
"Learn More",
"Pivotal Tracker",
"Rocket.Chat",
"Trello",
"Twilio (SMS)",
"OpsGenie",
"Phabricator",
"Pushover",
"Redmine",
"SessionStack",
"VictorOps",
"Amazon SQS",
"Segment",
"Splunk"
]

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Create beautiful docs website using docusaurus

Description

I want to use https://docusaurus.io/ to build the website as we did with elf.

Proposed solution

I'm thinking about the following:

First, we need to group files by categories. For example:

- account
   - city.ts

We can also keep it flat and add the @category in a comment.

Next, we need to add docs to each function. ( We can do most of it using a script )

import { fake, FakeOptions } from './core';
import { data } from './abbreviation.json';

/**
  * Returns a random abbreviation.
  *
  * @param {Object} options
  * @param {string} options.length - Returns an array with the provided size.
  *
  */
export function abbreviation<O extends FakeOptions>(options?: O) {
  return fake(data, options);
}

Finally, based on the above information, we can write an executor that builds the docs as docusaurus expects it (using AST).

Alternatives considered

No response

Do you want to create a pull request?

No

Allow users to get names with/without accented characters

Description

Not all systems are meant to support accented characters.

We should separate the firstName and lastName JSON into with/without accented characters and allow users to pass a param to randFirstName, randLastName & randFullName

randFullName({ accentedChars: true });
// Alícia Ðekić

randFullName({ accentedChars: false });
// Ryan Smee

randFullName();
// Ryan Ðekić

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

Yes

Add more names to firstName/ lastName JSON file

Description

We should add some some of the more popular first/last names from around the world (making sure to include some names with accents over letters; é, ã, ù etc.

Proposed solution

I could scrape the top X names from a selection of areas from around the world using This website

E.G

Spanish names

Alternatives considered

No response

Do you want to create a pull request?

Yes

AWS Category

Description

randRegion
randService
randArn

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Drinks

Description

Drinks list

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Randomly generate RGB values

Description

Instead of having an array of static RGB values, we could generate them on the fly.

(I'd be happy to do the work, i've just never contributed to an open source project before so i'm not sure on the etiquette)

Proposed solution

function randomValue() {
    return Math.floor(Math.random() * (255 + 1));
}

export function rgb() {
    return `rgb(${randomValue()}, ${randomValue()}, ${randomValue()})`;
}

Alternatives considered

No response

Do you want to create a pull request?

Yes

Clothing sizes

Description

Add clothing sizes to eCommerce

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Version 2

Description

Goals

  • Smaller Bundle
  • Added TODOS to generate the data programmatically in some functions
  • Finalize the API
  • Create a docs generator
  • Add comments for docs generation.

Comment Structure:

/**
 * Generate a random date between ranges.
 *
 * @category Date
 *
 * @example
 *
 * month()
 *
 * @example
 *
 * month({ from: Date, to: Date })
 *
 * @example
 *
 * month({ length: 10 })
 *
 */
export function between<Options extends BetweenOptions>(options: Options) {}

FINAL API

  • seed

General

  • randomNumber
  • randomFloat
  • randomBoolean
  • randomImg
  • uuid
  • locale
  • rand

System

  • fileName
  • mimeType
  • fileType
  • fileExt
  • directoryPath
  • filePath
  • semver

Text

  • text
  • word
  • sentence
  • alpha
  • alphaNumeric
  • slug
  • abbreviation
  • adjective
  • noun
  • verb
  • ingverb
  • phrase

Jobs

  • jobTitle
  • jobDescriptor
  • jobArea
  • jobType

Internet

  • protocol
  • httpMethod
  • url
  • domainName
  • domainSuffix
  • domainWord
  • ip
  • ipv6
  • port
  • userAgent
  • mac

Person

  • firstName
  • lastName
  • fullName
  • middleName
  • gender
  • personPrefix
  • phone
  • email
  • avatar
  • password
  • userName

Colors

  • rgb
  • hex
  • hsl

Date

  • past
  • future
  • between
  • recent
  • soon
  • month
  • weekday

COMMERCE

  • department
  • productName
  • price
  • productAdjective
  • productMaterial
  • product
  • productDescription

Company

Note: Prefix each function with company and max 20 items for each

  • name
  • suffix
  • phrase
  • catchPhraseAdjective
  • catchPhraseDescriptor
  • catchPhraseNoun
  • bsAdjective
  • bsBuzz
  • bsNoun

Database

Note: Prefix each function with database and max 20 items for each

  • column
  • type
  • collation
  • engine

Address

  • zipCode
  • zipCodeByState
  • city
  • streetName
  • streetAddress
  • county
  • country
  • countryCode
  • state
  • stateAbbr
  • latitude
  • longitude
  • direction
  • cardinalDirection
  • ordinalDirection
  • nearbyGPSCoordinate
  • timeZone

Finance

  • account
  • routingNumber
  • mask
  • amount
  • transactionType
  • currencyCode
  • currencyName
  • currencySymbol
  • bitcoinAddress
  • creditCardNumber
  • creditCardCVV
  • ethereumAddress
  • iban
  • bic
  • transactionDescription

Git

  • branch
  • commitEntry
  • commitMessage
  • commitSha
  • shortSha

Animals

Note: max 20 items for each

  • dog
  • cat
  • snake
  • bear
  • lion
  • cetacean
  • horse
  • bird
  • cow
  • fish
  • crocodilia
  • insect
  • rabbit
  • animalType

Vehicle

Note: Prefix each function with vehicle and max 20 items for each

  • manufacturer
  • model
  • type
  • fuel
  • vin
  • vrm
  • bicycle

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

User Roles

Description

Add randRole function

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Seeded random number generator instead of Math.random

Description

Right now falso generator is nondeterministic.
Using it in some snapshot tests will make tests always fail.

Proposed solution

Add a way to set a starting seed number for random number generator

Proposed API

import { seed, randomNumber } from 'falso'

seed('some-seed') // set seed to some constant
randomNumber() // always returns same number

https://github.com/davidbau/seedrandom
https://unpkg.com/browse/[email protected]/lib/random.js

Alternatives considered

No response

Do you want to create a pull request?

Yes

Allow an array instead of a single value

Description

Currently, each function returns a single value. We should give the option to return an array of values.

Proposed solution

Create a proxy function and use it in each one of the function generators:

export function cat(options?: FakeOptions) {
  return fake(catsData, options)
}
// core.ts
export interface FakeOptions {
  size: number
}

export function fake(options?: { size: 10 } ) {
  return ...
}

Alternatives considered

No response

Do you want to create a pull request?

No

List of Programming Languages?

Description

Will there be any interest in adding a list of programming languages?

Proposed solution

  • Add List of Programming languages

Alternatives considered

No

Do you want to create a pull request?

Yes

Date Functions

Description

Add the following functions:

  • past
  • future
  • between
  • recent
  • soon
  • month
  • weekday

Proposed solution

Use date-fns

Alternatives considered

No

Do you want to create a pull request?

No

Data Optimization

Description

We can minimize the bundle size by using existing functions in other helpers. For example:

findName() => firstName() + lastName()
email() => firstName().toLowerCase() + postfix
card
alpha
etc

Proposed solution

...

Alternatives considered

No

Do you want to create a pull request?

No

Add lorem ipsum type text block with character count

Description

It would be good to be able to determine a character count for a block of text. This could be super useful for testing max/min validation on inputs

Proposed solution

We could either update an existing function to take an optional characterCount param (maybe text or words). Or we could create a new function entirely?

E.G

function text(characterCount = 200): string {

Alternatives considered

No response

Do you want to create a pull request?

Yes

Locales Support

Description

Add locales support

Proposed solution

Generate data via google translate?

Alternatives considered

?

Do you want to create a pull request?

No

Food

Description

Add food function

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Movie Entity

Description

Create a randMovie function

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Add more protocols and their full names

Description

Add more protocols to the randProtocol method, and also take a parameter like fullName.

Proposed solution

randProtocol({fullName: true}) // User Datagram Protocol

I have a PR ready for this.

Alternatives considered

No response

Do you want to create a pull request?

Yes

Pronouns function

Description

Pronouns is becoming a common field for user profiles

Proposed solution

Use rand() to select from the JSON list of most common pronouns.

(I have a branch for this ready to go if this feature is wanted)

Alternatives considered

No response

Do you want to create a pull request?

Yes

Product Entity

Description

Add randProduct entity

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Language

Description

Add language function

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Frequency

Description

Never, Once, Seldom, Often, Daily, Weekly, Monthly, Yearly

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Priority

Description

Priority list

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Random hex and RGBA color generator

Description

Add support to generate hexadecimal and RGBA color generator.

Proposed solution

Generate a random color with hexadecimal or RGBA utility.

Alternatives considered

No response

Do you want to create a pull request?

Yes

`rand` isn't actually exported

Is this a regression?

Yes

Description

rand is listed in the README as an export, but it's not actually exported.

I started a PR but the required boilerplate took longer than the fix.

Please provide a link to a minimal reproduction of the bug

No response

Please provide the exception or error you saw

No response

Please provide the environment you discovered this bug in

No response

Anything else?

No response

Do you want to create a pull request?

No

Color

Description

Add color function - blue, black, etc.

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Browsers

Description

Browsers list

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Brands

Description

Brands list

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Use everywhere `random` instead of `Math.random`

Is this a regression?

Yes

Description

Usage of Math.random should be banned because cannot be deterministic.
And in cases when using a faker funtion in a test, it will allways fail, because everytime returns nondeterministic random data.

A random method already exists in the source code that allow also to set a seed for pseudo random generator.

To replace every instance of Math.random with random from random.ts

+import { random } from './random.ts
-Math.random()
+random()

Please provide a link to a minimal reproduction of the bug

No response

Please provide the exception or error you saw

No response

Please provide the environment you discovered this bug in

No response

Anything else?

No response

Do you want to create a pull request?

No

random dates

Description

I see that randomNumber and others don't actually generate random numbers on demand but have a pre-canned list of numbers to pick from. I'd like something similar for dates.

Proposed solution

  • randomDate returns any random Date picking from a pre-canned list of Date offsets and then creating a new Date object from "now" and applying the offset to get a random Date relative to today (the date may be in the future or the past)
  • randomPastDate does the same as randomDate except the offset is always negative to create a Date in the past
  • randomFutureDate is like randomPastDate except the offset is always positive
  • randomRecentDate and randomSoonDate are like randomPastDate and randomFutureDate except using a list of smaller offset values to returns dates that are within a few days from today

Alternatives considered

No response

Do you want to create a pull request?

Yes

Random and unique UUID instead of static list

Description

Considering that UUID generally are used as identifiers, having a static list tends to me a problem sometime.

Proposed solution

Generate UUID with some specific script or library to reduce chances of having duplicate identifiers

Alternatives considered

No response

Do you want to create a pull request?

Yes

Add Abbrevation option to gender

Description

gender({ abbrev: true }) // F M

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Entity functions

Description

Most of the demos need predefined entities to work it.

Proposed solution

Create new entity functions under the Entities category.

  • todo
import { fake, FakeOptions } from './core/core';

/**
 * Generate a random todo.
 *
 * @category Entities
 *
 * @example
 *
 * randTodo()
 *
 * @example
 *
 * randTodo({ length: 10 })
 *
 */
export function randTodo<O extends FakeOptions>(options?: O) {
  return fake(() => ({
     id,
     title,
     completed: false
  }), options);
}
  • user
  • post
  • comment

Alternatives considered

No response

Do you want to create a pull request?

No

randomNumber/int/Float: min/max

Description

I'd like to be able to get a random number (int or float) between a lower (inclusive) and an upper (exclusive) bound or something similar.

Proposed solution

  • possibly deprecate/rename randomNumber to randomInt
  • add optional arguments to randomNumber/randomInt and to randomFloat to accept an inclusive minimum and an exclusive maximum
  • update them to return values only within those ranges

Alternatives considered

I did briefly look at the implementations of randomNumber and randomFloat and it appears that instead of generating random number on demand those modules take an approach of having pre-canned items to randomly pick from… that wasn't what I initially expected but I imagine there are benefits to this approach and I'm not sure yet if the same is feasible with a min/max

Do you want to create a pull request?

I am open to that. I do not feel strongly one way or the other as to who creates the pull request.

Auto generate docs

Description

Use tool like https://typedoc.org/ to auto-generate our docs

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Generate randLines programmatically

Description

Generate randLines programmatically

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

SyntaxError: Unexpected token 'export'

Is this a regression?

No

Description

I would like to use this library in NodeJS. Unfortunately, I get an error message (see below) when I run the following code:

import { cat } from '@ngneat/falso';

console.log(cat());

Please provide a link to a minimal reproduction of the bug

https://stackblitz.com/edit/node-q73wut?file=index.ts

Please provide the exception or error you saw

❯ npx ts-node index.ts
/home/projects/node-q73wut/node_modules/@ngneat/falso/src/index.js:1
export { zipCode } from './lib/zip-code';
^^^^^^

SyntaxError: Unexpected token 'export'
    at wrapSafe (https://node-q73wut.w.staticblitz.com/blitz.528f704493b63b14b6f9ee36935eead8382e8395.js:6:166885)
    at Module._compile (https://node-q73wut.w.staticblitz.com/blitz.528f704493b63b14b6f9ee36935eead8382e8395.js:6:167517)
    at Object.Module._extensions..js (https://node-q73wut.w.staticblitz.com/blitz.528f704493b63b14b6f9ee36935eead8382e8395.js:6:168239)
    at Module.load (https://node-q73wut.w.staticblitz.com/blitz.528f704493b63b14b6f9ee36935eead8382e8395.js:6:166317)
    at Function.Module._load (https://node-q73wut.w.staticblitz.com/blitz.528f704493b63b14b6f9ee36935eead8382e8395.js:6:163857)
    at Module.require (https://node-q73wut.w.staticblitz.com/blitz.528f704493b63b14b6f9ee36935eead8382e8395.js:6:166635)


### Please provide the environment you discovered this bug in

```true
URL: https://stackblitz.com/edit/node-q73wut?file=index.ts


~/projects/node-q73wut
❯ node -v
v14.16.0

~/projects/node-q73wut
❯ npm -v
7.17.0


### Anything else?

_No response_

### Do you want to create a pull request?

No

Add CI for testing

Description

As tests are added to the project, it would be great to automate testing on push/pr git events.

Proposed solution

Create a GitHub Action.

I can add it before creating a PR for #2 as more tests will be introduced.

Alternatives considered

No response

Do you want to create a pull request?

Yes

Skills

Description

Add person skills function

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

`random` doc's example is wrong

Is this a regression?

No

Description

The exported function is random, not randRandom.

Please provide a link to a minimal reproduction of the bug

https://ngneat.github.io/falso/docs/general#random

Please provide the exception or error you saw

No response

Please provide the environment you discovered this bug in

No response

Anything else?

No response

Do you want to create a pull request?

No

Permissions

Description

Permissions list

Proposed solution

No response

Alternatives considered

No response

Do you want to create a pull request?

No

Typescript: randEmail, randFirstName, and randLastName (and likely more) return type `string[]` when no options present

Is this a regression?

No

Description

Expected Behavior:

The following

const fields = {
    contactEmail: randEmail(),
    contactFirstName: randFirstName(),
    contactLastName: randLastName(),
  };

should report return values of

const fields = {
    contactEmail: string,
    contactFirstName: string,
    contactLastName: string
  };

Current behavior:

The above functions result in reporting

const fields = {
    contactEmail: string[],
    contactFirstName: string[],
    contactLastName: string[]
  };

Suggested fix:

declare function rand*<Options extends FakeOptions = undefined>(options?: Options): Options["length"] extends number ? string[] : string;

instead of

declare function rand*<Options extends FakeOptions>(options?: Options): Options["length"] extends number ? string[] : string;

Please provide a link to a minimal reproduction of the bug

No response

Please provide the exception or error you saw

The issue simply has to do with that the type seems to favor the left-hand side of the type argument.

Please provide the environment you discovered this bug in

tsconfig: {
  "compilerOptions": {
    "module": "commonjs",
    "declaration": true,
    "removeComments": true,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "allowSyntheticDefaultImports": true,
    "target": "es2017",
    "sourceMap": true,
    "outDir": "./dist",
    "baseUrl": "./",
    "incremental": true,
    "skipLibCheck": true,
    "strictNullChecks": false,
    "noImplicitAny": false,
    "strictBindCallApply": false,
    "forceConsistentCasingInFileNames": false,
    "noFallthroughCasesInSwitch": false,
    "esModuleInterop": true
  }
}

Webstorm 2021.3
VSCode 1.63.2

Anything else?

For some reason, the error does not present itself when run in Code Sandbox with the same tsconfig. However, it has presented itself in two IDE with the above tsconfig.

Do you want to create a pull request?

No

Show example output of functions in docs

Description

It would be good to have an example output for each function example

/**
 * Generate a random rgb.
 *
 * @category colors
 *
 * @example
 *
 * randRgb()
 * // rgb(69, 254, 28)
 *
 * @example
 *
 * randRgb({ alpha: true })
 * // rgba(159, 167, 129, 0.74)
 *
 * @example
 *
 * randRgb({ length: 3 })
 * // [ 'rgb(158, 13, 22)', 'rgb(58, 214, 87)', 'rgb(43, 193, 36)' ]
 * 
 */

Proposed solution

I'm not sure if these will be pulled from the JS Doc comments automatically, or if we will need to do some extra work to our docusaurus config

Alternatives considered

No response

Do you want to create a pull request?

No

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.